Eigenclass model: Difference between revisions

Content deleted Content added
Hundblue (talk | contribs)
In Objective-C: ...other than c → ...other than metaclass roots
Hundblue (talk | contribs)
Eigenclass completion: New subsection added.
Line 381:
 
</ol>
 
Axiom (7) can be expressed without a reference to the <i>.class</i> map as equality of the
<i>member-of-instance-of</i> relation with the
<i>instance-of-instance-of</i> relation.
 
=== Eigenclass completion ===
 
Axiom (5) can be considered in the following stronger form
Line 392 ⟶ 398:
</ol>
 
Assuming (5'), the object membership structure,
is uniquely determined by the inheritance and instance-of relations
<i>(<u>O</u></i>, &#1013;<i>)</i>,
is uniquely determined by inheritance and class map between primary objects, up to isomorphism
(so that the structure is also determined by inheritance and the class map).
<i>(<u>O</u>.c, &le;, .class)</i>, up to isomorphism.
 
Given a structure
<span style="white-space:nowrap"><i>(<u>O</u>.c</i>, &#1013;, &le;<i>)</i></span> between primary objects,
the <em>eigenclass completion</em>
<span style="white-space:nowrap"><i>(<u>O</u></i>, &#1013;<i>)</i></span> can be constructed in the following steps:
 
<ol>
<li>
Equip each primary object with an eigenclass chain
such that distinct primary objects have disjoint eigenclass chains.
Let the <i>.ec</i> map be coincident with the successor operator.
 
<li>
Extend &le; to all objects as follows.
Let <i>a</i>, <i>b</i> be primary objects, and <i>i</i>, <i>j</i> &gt; 0. Then
<ol style="list-style-type: upper-alpha">
<li>
<i>a.ec(i) &le; b</i> &nbsp; iff &nbsp;
<i>a</i> &#1013;<sup><i>i</i></sup> <i>b</i>
&nbsp; &nbsp;
where &#1013;<sup><i>i</i></sup> is the
<i>i</i>-th composition of &#1013; (not yet extended) with itself.
 
<li>
<i>a</i> &le; <i>b.ec(j)</i> &nbsp; iff &nbsp;
<i>a</i> is a non-helix metaclass,
<i>b</i> is the inheritance root, and <i>j</i> = 1.
 
<li>
<i>a.ec(i) &le; b.ec(j)</i> &nbsp; iff &nbsp;
<i>a.ec(i-1) &le; b.ec(j-1)</i>.
 
</ol>
 
<li>
Extend &#1013; to all objects by: &nbsp;
<i>(<u>O</u></i>, &#1013;<i>)</i> = <i>(<u>O</u></i>, <i>.ec)</i> &#9675; <i>(<u>O</u></i>, <i>&le;)</i>.
 
</ol>
 
== Specializations ==