Question on terminology

Is there a generic term for deriving lower-order concept form a higher-order concept? I'll illustrate this question with the following example:

A language has concept of class. A class is 'defined' by notion:

class myclass ...;

A class is instantiated by notion

myclass myvar = new myclass();

Instance of a class is an object and it appears to be a first-order concept. A particular class is a second-order concept, and 'class' as a notion of a class concept is a third-order concept.

In MPS their are giving ability to "define" (?) third-order concepts with notion of fourth-order concept noted as "concept", e.g.:

concept class;

Thus, we may say that in each of these examples a lower-order concept is "derived" from a higher-order concept.

What is the right term for this act?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Some ideas

You already used one possibility: instantiate/instantiation.

Another is reify/reification.

I'm sure we could come up with others: exemplarize, implement, evidence, witness, etc.

Take your pick. ;-)

Would 'concreting' work for this?

I though there is a settled terminology which I can borrow...

Since each of described acts makes a less-abstract-more-concrete thing, would 'concreting' properly describe the act?
'Concretization' in this case may be used as a name for the relationship between the concepts. Does it sound proper?

What's in a name?

I though there is a settled terminology which I can borrow...

Very rarely is terminology ever completely settled... ;-)

Concretization works as well as any of the choices. It's gerund form would be "concretizing", though.


"Instantiate" seems to me to be the most correct and precise verb for the kind of act you describe with your examples.

"Concretize" suggests to me to mean making concrete something that wasn't concrete. That's not exactly what you are asking. The class may have already had instances and you may be adding another. The instance may or may not be more "concrete" than the class, but the class seems to me not to become any more concrete than it was, by having N+1 instances instead of only N instances. I can sort of see where those are coming from who suggest that concreteness has something to do with it, but all the same, I think "instantiate" more precise for what you are asking.

"Reify" suggests taking a concept from one arena of understanding or from one world, and making a representation of it in another. That is not the same as instantiating. The result of instantiation is an instance; the result of reification is a representative, a representation, or a proxy, or an agent, something of that nature. In the world in which the result of reification is being created or realized or identified or indicated, it is the only thing that represents the given concept. An example is the Goedel number of a formula.

"Implement" suggests putting into effect using lower-level constructs (e. g., computer instructions, or organizations of human workers operating under rules and hierarchy), something that realizes a higher-level specification of behavior (e. g., mathematical function defnition).

"Exemplify" could mean that you yourself serve as an example of the concept, rather than that you create a new object to do it.

By the way, note that in Smalltalk, classes have reification (or perhaps their first ever "ification") as objects. If I say "foo := Object new", I have an object that is an instance of Object, which is a class, an instance of "Object class", which is a metaclass, an instance of Metaclass, which is a class, an instance of "Metaclass class", which is a metaclass, another instance of Metaclass, already mentioned.

Thanks Jack

This is very descriptive and very logical argumentation