From 4ab6d452da7f9d2f3e68e7b6fb7c646ece48bd69 Mon Sep 17 00:00:00 2001 From: hyperpolymath <6759885+hyperpolymath@users.noreply.github.com> Date: Sun, 31 May 2026 00:29:01 +0100 Subject: [PATCH] =?UTF-8?q?docs(vision):=20add=20`=3D=3D=20The=20Dyad=20an?= =?UTF-8?q?d=20the=20Layers`=20per=20PRESERVATION-DESIGN=20=C2=A712.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Executes `formal/PRESERVATION-DESIGN.md` §12.4 (EPHAPAX-VISION rollout): Insert a new section between `== The Dyad` and `== One Language, One Feel` titled `== The Dyad and the Layers`. The new section extends — does not replace — the dyad framing. Per the spec's §12.4 instruction: > The vision doc already articulates the dyad beautifully [...]. > The four-layer story *extends* this; it does not replace it. The new section maps each layer (L1 / L2 / L3 / L4) onto what the dyad says about it: - L1 (regions) — identical in both modes; same soundness story. - L2 (modality) — the dyad itself; `linear_to_affine` mechanises Linear ⊆ Affine. - L3 (echo) — mother demands the residue be observed; child may silently lower. - L4 (dyadic interaction) — declaration of which side you speak from. Closes with: "The dyad remains primary. The layers are how the dyad's promises are *enforced*." No proof, code, workflow, or schema changes. Pure documentation rollout. Companion to README #256 (§12.2) and EXPLAINME #257 (§12.3). Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/vision/EPHAPAX-VISION.adoc | 49 +++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/docs/vision/EPHAPAX-VISION.adoc b/docs/vision/EPHAPAX-VISION.adoc index b804c9f..2ca6097 100644 --- a/docs/vision/EPHAPAX-VISION.adoc +++ b/docs/vision/EPHAPAX-VISION.adoc @@ -94,6 +94,55 @@ linear" or "linear in training." It has intrinsic value. There are programs that belong in affine permanently. As Ephapax matures, the affine form must mature *into itself* — not toward becoming linear. +== The Dyad and the Layers + +The dyad — linear mother, affine child — is one of *four orthogonal +disciplines* that together define Ephapax. The other three are silent +partners in the dyad: each is enforced independently, but each takes its +*defaults* from which side of the dyad you are on. + +[cols="1,3", options="header"] +|=== +| Layer | What the dyad says about it + +| L1 — Region capabilities +| Identical in both modes. Every live region is tracked in an + input/output capability environment threaded through every + compound expression. A sibling cannot reference a region a + previous sibling has exited. The mother and the child obey the + same L1 invariant; the soundness story is the same. + +| L2 — Structural modality +| *This is the dyad itself.* The mother is `Linear`; the child is + `Affine`. The thin-poset embedding `Linear ⊆ Affine` is + mechanised as `linear_to_affine : Linear ≤ Affine` (Qed, zero + axioms in `formal/Modality.v`). Every Linear derivation is an + Affine derivation; not every Affine derivation is Linear. + +| L3 — Irreversibility residue (Echo) +| The discipline of *what was lost*. When a region exits or a + binding drops, the value is gone — L3 captures the residue as + a typed witness. The mother demands the residue be observed + (no silent discarding); the child may silently lower it. The + same `Echo` fiber serves both modes; only the rule for + consuming it differs. + +| L4 — Dyadic interaction +| The declaration of which side you speak from. The mother answers + to the linear discipline; the child to the affine. Every closed + program has one. +|=== + +The four layers compose without coherence obligations because each +is a *thin poset* — propositional ordering kills the categorical +overhead that would otherwise demand pentagon laws and the like. The +construction is taken verbatim from +https://github.com/hyperpolymath/echo-types[echo-types]' +decoration-commuting recipe. + +The dyad remains primary. The layers are how the dyad's promises +are *enforced*. + == One Language, One Feel Writing in Ephapax Linear and Ephapax Affine feels *identical*. There are no