/* Please forgive the following; it's not finished. I need to read more, amongst other things. I think we're almost right though.

<brainfuck>

**The metaconcept, the stopping problem, and incompleteness**
*with thanks to Keith and Toby*
Consider an oak tree.

It's an example of a species of tree.

Now, think of the generalisation of "Oak Tree", so that you have the concept of "Oak Tree" in your mind.

Now, generalise all trees. You have a concept now of "tree".

You may be able to do this almost indefinitely - but eventually (I recommend you just try to jump straight to it or you'll be hanging around all day) you'll hit a concept of "concept". This is the metaconcept.

There are a couple of interesting things about the metaconcept: first, it is entirely abstract. There is no "real thing" associated with it at all. Second, there is no meta-meta-concept: The metaconcept is a concept, so the concept of the metaconcept is in fact less abstracted, more specific, than the metaconcept itself. The word metaconcept is used too many times in that last sentence - I apologise.

This can be seen to be akin to a fractal - as the iteration numbers get smaller and smaller you approach the initial shape (iterations=1); and when iterations = -1 you get an inverse. But what happens when iterations = 0? It breaks down.

The metaconcept, being the "root level object", if you like, of the system, can only be defined in terms of refinements, specialisations of itself; within this limitation, it is possible to say that the metaconcept

**exists** while (since it is entirely abstract) containing no information whatever in itself. Thus it can be seen to be equivalent to the null set - or, indeed, zero; to which modifiers, meanings, our "Gödel Numbers" are added, much as they would be to

a system.

It is impossible to define the basis of definition. That's the point. It always simplifies down to itself. But if you prefer a more formal idea:

The problem is this. Invert the null set, the empty set [] and you get the set of everything. The same is true conceptually; there is a concept of "nothing" and a concept of "universe" - the last of which contains not only the universe without our heads, but that within. And here lies the problem. The set of everything must contain itself, since it is a part of everything...

Not a problem, you may say. Pointer to itself in the set. Not a problem.

But it's infinitely deep, and a process trying to recurse it will get stuck in an infinite loop. Can you trap this condition?

**No**.

It's called the

Halting Problem. It is impossible to work it out.

This is equivalent to Gödel's Incompleteness Theorem.

Thus, we have this problem that the metaconcept is indefinable, because it falls foul of the Incompleteness theorem. In other words, if modelling this, you can only ever have an approximation to the metaconcept; the more accurate the approximation, the more flexible the system, until when you have an actual metaconcept in a mathematical framework, the surrounding logic must be infinitely complicated.

And once you find the "metaconcept" of a system, you begin to find them everywhere; a metaconcept, a nodal point of possible knowledge, if you will, is in the distinction between code and data; I suspect there's one involved in evolution, too.

In other other words, my plans to use Plato as a basis for an object-oriented system needs a little reworking.

*wanders off muttering about evolving object models*

</brainfuck>

I was going to write about the IRC meet - but I'm too tired now :P */