Eigenclass model: Difference between revisions

Content deleted Content added
Hundblue (talk | contribs)
Eigenclass completion: New subsection added.
Hundblue (talk | contribs)
The primary structure: New subsection added.
Line 385:
<i>member-of-instance-of</i> relation with the
<i>instance-of-instance-of</i> relation.
 
=== The primary structure ===
 
The restriction of a canonical structure of object membership
to primary objects can be expressed as a structure
<span style="white-space:nowrap"><i>(<u>O</u>.c</i>, &#1013;, &le;<i>)</i></span>
where
<ul>
<li>
<i><u>O</u>.c</i> is the set of (primary) objects,
<li>
&#1013; is the <em>instance-of</em> relation between (primary) objects,
<li>
&le; is the <em>inheritance</em> relation between (primary) objects.
</ul>
 
<em>Helix classes</em> are (primary) objects <i>x</i>
such that <i>x</i> &#1013; <i>x</i>.
<em>Classes</em> are (primary) inheritance descendants of helix classes.
<em>Terminals</em> are the remaining (primary) objects.
<em>Metaclasses</em> are the [[Upper and lower bounds|lower bounds]] of helix classes, i.e. they are objects <i>x</i> such that
all helix classes are among ancestors of <i>x</i>.
<!-- -->
The structure is subject to the following axioms:
 
<ol style="list-style-type:none; margin-left: 2ex;">
 
<li style="text-indent:-3ex; margin-left:3ex;">(p~1)
(&#1013;) &#9675; (&le;) = (&#1013;) = (&le;) &#9675; (&#1013;).
 
<li>(p~2) Inheritance &le; is a partial order.
 
<li>(p~3)
Terminals have neither strict descendants nor instances.
 
<li style="text-indent:-3ex; margin-left:3ex;">(p~4)
Helix classes are totally ordered by inheritance, and at least two in number.
 
<li>(p~5) Metaclasses cannot have terminal instances.
 
<li>(p~6) Every object <i>x</i> has a least (primary) container,
<i>x.class</i>.
 
<li>(p~7) Cycles in &#1013; only occur between helix classes.
 
<li>(p~8) The set of primary objects is finite.
 
</ol>
 
=== Eigenclass completion ===
 
Axiom [[#Axioms|(5)]] can be considered in the following stronger form
since it is satisfied in all mentioned programming languages (and presumably all relevant ones in general):
 
Line 398 ⟶ 446:
</ol>
 
Assuming (5'), the object membership structure,
<span style="white-space:nowrap"><i>(<u>O</u></i>, &#1013;<i>)</i></span>,
is uniquely determined by the inheritanceprimary andstructure, instance-of relations
between primary objects, up to isomorphism
<span style="white-space:nowrap"><i>(<u>O</u>.c</i>, &#1013;, &le;<i>)</i></span>,
(so that the structure is also determined by inheritance and the class map).
up to isomorphism.
(Therefore,
<span style="white-space:nowrap"><i>(<u>O</u></i>, &#1013;<i>)</i></span> is also determined by
<span style="white-space:nowrap"><i>(<u>O</u>.c</i>, <i>.class</i>, &le;<i>)</i></span>.)
 
Given a structure