Content deleted Content added
→In Objective-C: ...other than c → ...other than metaclass roots |
→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
(so that the structure is also determined by inheritance and the class map).
Given a structure
<span style="white-space:nowrap"><i>(<u>O</u>.c</i>, ϵ, ≤<i>)</i></span> between primary objects,
the <em>eigenclass completion</em>
<span style="white-space:nowrap"><i>(<u>O</u></i>, ϵ<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 ≤ to all objects as follows.
Let <i>a</i>, <i>b</i> be primary objects, and <i>i</i>, <i>j</i> > 0. Then
<ol style="list-style-type: upper-alpha">
<li>
<i>a.ec(i) ≤ b</i> iff
<i>a</i> ϵ<sup><i>i</i></sup> <i>b</i>
where ϵ<sup><i>i</i></sup> is the
<i>i</i>-th composition of ϵ (not yet extended) with itself.
<li>
<i>a</i> ≤ <i>b.ec(j)</i> iff
<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) ≤ b.ec(j)</i> iff
<i>a.ec(i-1) ≤ b.ec(j-1)</i>.
</ol>
<li>
Extend ϵ to all objects by:
<i>(<u>O</u></i>, ϵ<i>)</i> = <i>(<u>O</u></i>, <i>.ec)</i> ○ <i>(<u>O</u></i>, <i>≤)</i>.
</ol>
== Specializations ==
|