Skip to content

Commit 26eb78a

Browse files
docs(vision): add == The Dyad and the Layers per PRESERVATION-DESIGN §12.4 (#258)
## Summary Executes [`formal/PRESERVATION-DESIGN.md` §12.4](../blob/main/formal/PRESERVATION-DESIGN.md) — the EPHAPAX-VISION rollout. Inserts a new section between `== The Dyad` and `== One Language, One Feel` titled **`== The Dyad and the Layers`**. The spec's instruction is verbatim: > The vision doc already articulates the dyad beautifully (mother / child, "ephapax means once for all" double-meaning, "Linear ⊂ Affine in valid programs", "one language, one feel"). The four-layer story *extends* this; it does not replace it. So this PR is purely additive — no existing content is reworded, removed, or reshaped. The new section maps each layer onto what the dyad says about it (L1: identical; L2: the dyad itself; L3: mother demands residue be observed; L4: which side you speak from), and closes with: *"The dyad remains primary. The layers are how the dyad's promises are enforced."* ## Companion PRs - #256 — README §12.2 rollout - #257 — EXPLAINME §12.3 claims ## Test plan - [x] Diff is purely additive (49 insertions, 0 deletions). - [x] GPG-signed commit. - [x] All layer claims back-cite the proof artefact in the parent design doc. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e897844 commit 26eb78a

1 file changed

Lines changed: 49 additions & 0 deletions

File tree

docs/vision/EPHAPAX-VISION.adoc

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,55 @@ linear" or "linear in training." It has intrinsic value. There are programs
9494
that belong in affine permanently. As Ephapax matures, the affine form must
9595
mature *into itself* — not toward becoming linear.
9696

97+
== The Dyad and the Layers
98+
99+
The dyad — linear mother, affine child — is one of *four orthogonal
100+
disciplines* that together define Ephapax. The other three are silent
101+
partners in the dyad: each is enforced independently, but each takes its
102+
*defaults* from which side of the dyad you are on.
103+
104+
[cols="1,3", options="header"]
105+
|===
106+
| Layer | What the dyad says about it
107+
108+
| L1 — Region capabilities
109+
| Identical in both modes. Every live region is tracked in an
110+
input/output capability environment threaded through every
111+
compound expression. A sibling cannot reference a region a
112+
previous sibling has exited. The mother and the child obey the
113+
same L1 invariant; the soundness story is the same.
114+
115+
| L2 — Structural modality
116+
| *This is the dyad itself.* The mother is `Linear`; the child is
117+
`Affine`. The thin-poset embedding `Linear ⊆ Affine` is
118+
mechanised as `linear_to_affine : Linear ≤ Affine` (Qed, zero
119+
axioms in `formal/Modality.v`). Every Linear derivation is an
120+
Affine derivation; not every Affine derivation is Linear.
121+
122+
| L3 — Irreversibility residue (Echo)
123+
| The discipline of *what was lost*. When a region exits or a
124+
binding drops, the value is gone — L3 captures the residue as
125+
a typed witness. The mother demands the residue be observed
126+
(no silent discarding); the child may silently lower it. The
127+
same `Echo` fiber serves both modes; only the rule for
128+
consuming it differs.
129+
130+
| L4 — Dyadic interaction
131+
| The declaration of which side you speak from. The mother answers
132+
to the linear discipline; the child to the affine. Every closed
133+
program has one.
134+
|===
135+
136+
The four layers compose without coherence obligations because each
137+
is a *thin poset* — propositional ordering kills the categorical
138+
overhead that would otherwise demand pentagon laws and the like. The
139+
construction is taken verbatim from
140+
https://github.com/hyperpolymath/echo-types[echo-types]'
141+
decoration-commuting recipe.
142+
143+
The dyad remains primary. The layers are how the dyad's promises
144+
are *enforced*.
145+
97146
== One Language, One Feel
98147

99148
Writing in Ephapax Linear and Ephapax Affine feels *identical*. There are no

0 commit comments

Comments
 (0)