Skip to content

Commit 7c495ad

Browse files
hyperpolymathclaude
andcommitted
docs: structural diagrams + recommended reading order
Adds visual narrative reinforcement to the four highest-leverage spots: * README.md — opening structural-overview Mermaid (rendered on GitHub) + ASCII fallback showing the Foundation → Pillars → F-gates → Tier-1/2/3 → Audience → Suite stack; headline factorisation triangle for the (equivalence, projection) OFS; explicit recommended-reading-order section pointing at MAP / Suite / consolidation docs / paper / retractions+earn-back / CLAUDE. * docs/echo-types/universal-property.adoc — pullback square + factorisation triangle in a "two diagrams in one place" section near the top; diagonal lifting square in the F5-2 slice; composition-design diagram for F5-3. * docs/echo-types/fibration-package.adoc — composition accumulation iso, cancellation iso, and pentagon coherence diagrams added to their respective sections. * docs/echo-types/earn-back-plan.adoc — Pillar F gate dependency diagram (F1 make-or-break → F4/F2/F3 → F5 with its three slices) added before the per-gate sections. All diagrams are ASCII (renders everywhere); README also uses Mermaid (renders on GitHub). No LaTeX since AsciiDoc rendering for stem:[] blocks is renderer-dependent and ASCII suffices for these structural shapes. Build: --safe --without-K, zero postulates, Smoke + All exit 0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e96cedc commit 7c495ad

4 files changed

Lines changed: 288 additions & 0 deletions

File tree

README.md

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,115 @@ Shannon — and ArghDA tooling), each status-tagged and back-linked to
2121
its proofs and docs, with the retraction/proof-debt governance called
2222
out. The scattered overview/roadmap docs are detail under it.
2323

24+
## 📐 Structural overview
25+
26+
```mermaid
27+
flowchart TD
28+
F["<b>Foundation</b><br/>Echo f y := Σ (x : A) , (f x ≡ y)<br/>= homotopy fibre"]
29+
AD["<b>Pillars A–D</b> (establishment plan, LANDED 2026-05-17)<br/>A: echo↔fib · B: pullback UP · C: separating model · D: carrier-parametric"]
30+
PF["<b>Pillar F gates</b> (earn-back, ALL PASSED)<br/>F1: graded-comonad witness · F2: 2nd Echo-functor model<br/>F3: 2nd non-iso grade-monoid · F4: funext-qualified pullback UP<br/>F5: funext-qualified full OFS"]
31+
T1["<b>Tier 1 · Canonical identity layer</b> (2026-05-27)<br/>EchoTotalCompletion (A ≃ Σ B Echo f) · OFS-witness · Image · no-section-of-collapsing-map"]
32+
T2["<b>Tier 2 · Classification grid</b><br/>LossTaxonomy (function-side) · ResidueTaxonomy (residue-side) · DecorationStructure · _≡m_"]
33+
T3["<b>Tier 3 · Qualified universal property</b> (Gate F5)<br/>echo-factorisation-strict · diagonal lifting · factorisation uniqueness up to iso"]
34+
AUD["<b>Audience surfaces</b><br/>EchoProvenance · EchoSecurity · EchoProbabilisticSupport · EchoDifferential"]
35+
SUITE["<b>EchoCanonicalIdentitySuite</b><br/>(curated single-file entry point)"]
36+
37+
F --> AD
38+
AD --> PF
39+
F --> T1
40+
T1 --> T2
41+
T2 --> T3
42+
PF -.->|F5 underpins| T3
43+
T1 --> AUD
44+
T2 --> AUD
45+
T3 --> AUD
46+
T1 --> SUITE
47+
T2 --> SUITE
48+
T3 --> SUITE
49+
AUD --> SUITE
50+
```
51+
52+
The diagram above renders on GitHub; for terminal viewers an ASCII
53+
version of the same stack:
54+
55+
```
56+
┌─────────────────────────────────────────────────────────────────┐
57+
│ EchoCanonicalIdentitySuite ← curated single-file entry │
58+
├─────────────────────────────────────────────────────────────────┤
59+
│ Audience surfaces: │
60+
│ Provenance · Security · ProbabilisticSupport · Differential │
61+
├─────────────────────────────────────────────────────────────────┤
62+
│ Tier 3 (Gate F5, funext-qualified): │
63+
│ F5-1 strict triangle · F5-2 diagonal lifting · F5-3 uniqueness │
64+
├─────────────────────────────────────────────────────────────────┤
65+
│ Tier 2 (classification grid): │
66+
│ LossTaxonomy · ResidueTaxonomy · DecorationStructure · _≡m_ │
67+
├─────────────────────────────────────────────────────────────────┤
68+
│ Tier 1 (canonical identity layer): │
69+
│ TotalCompletion · OFS · ImageFactorization · NoSectionGeneric │
70+
├─────────────────────────────────────────────────────────────────┤
71+
│ Pillar F gates F1–F5 (earn-back ledger, ALL PASSED) │
72+
├─────────────────────────────────────────────────────────────────┤
73+
│ Pillars A–D (establishment plan, LANDED 2026-05-17) │
74+
├─────────────────────────────────────────────────────────────────┤
75+
│ Foundation: Echo f y := Σ (x : A) , (f x ≡ y) │
76+
└─────────────────────────────────────────────────────────────────┘
77+
```
78+
79+
**The headline factorisation** (Tier 1 + Pillar F Gate F5):
80+
81+
```
82+
encode f
83+
A ────────────────────→ Σ B (Echo f)
84+
╲ │
85+
╲ │
86+
f ╲ │ proj₁
87+
╲ │
88+
╲ │
89+
╲ ↓
90+
────────────────────→ B
91+
92+
Left leg (encode f) : EQUIVALENCE ← EchoTotalCompletion.A↔ΣEcho
93+
Right leg (proj₁) : PROJECTION
94+
Triangle : f ≡ proj₁ ∘ encode f ← strict given funext (F5-1)
95+
pointwise definitional otherwise
96+
```
97+
98+
This is **the** structural fact the repo establishes: every irreversible
99+
`f` factors canonically through its total Echo space, with the left leg
100+
an equivalence (the *slogan-unlock*) and the right leg a projection.
101+
Under `--safe --without-K` the factorisation existence + fibre
102+
identification (`ofs-witness`) are unconditional; the function-level
103+
universal-property clauses are earned back under Pillar F Gate F5
104+
(`funext` as explicit module parameter, never a postulate).
105+
106+
## 📖 Recommended reading order
107+
108+
For someone landing here for the first time and wanting the full arc:
109+
110+
1. **[`docs/echo-types/MAP.adoc`](docs/echo-types/MAP.adoc)** — the
111+
master content map, status-tagged.
112+
2. **[`proofs/agda/EchoCanonicalIdentitySuite.agda`](proofs/agda/EchoCanonicalIdentitySuite.agda)**
113+
the curated single-file Agda entry point, re-exporting every
114+
load-bearing headline from Tier 1, Tier 2, Tier 3, and the
115+
audience surfaces.
116+
3. **[`docs/echo-types/universal-property.adoc`](docs/echo-types/universal-property.adoc)**
117+
the categorical-universal-property story end-to-end (pullback +
118+
F4 + F5 / OFS), with the diagrams above as the spine.
119+
4. **[`docs/echo-types/fibration-package.adoc`](docs/echo-types/fibration-package.adoc)**
120+
the fibration-side companion (`map-over` + composition +
121+
cancellation + pentagon).
122+
5. **[`docs/echo-types/paper.adoc`](docs/echo-types/paper.adoc)**
123+
the long-form Pillar E paper (LIVING DRAFT with `[EXPAND]` tags;
124+
§"Post-establishment structural extensions" weaves the
125+
2026-05-27 Tier-1+2+3 spine into the central argument).
126+
6. **[`docs/retractions.adoc`](docs/retractions.adoc)** +
127+
**[`docs/echo-types/earn-back-plan.adoc`](docs/echo-types/earn-back-plan.adoc)**
128+
honesty layer: R-2026-05-18 narrowing + Pillar F gate ledger
129+
(F1–F5 ALL PASSED).
130+
7. **[`CLAUDE.md`](CLAUDE.md)** — the session-by-session ledger
131+
for what got built when (read after the canonical docs).
132+
24133
## Core Idea
25134

26135
Most formalisms foreground two clean cases:

docs/echo-types/earn-back-plan.adoc

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,36 @@ its grade-unit object — not redefining Echo.
3434

3535
== Gates, in dependency order
3636

37+
[source]
38+
----
39+
Pillar F gate dependency graph (all PASSED as of 2026-05-27)
40+
41+
F1 (graded-comonad witness)
42+
──make-or-break──
43+
44+
┌─────────────┼─────────────┐
45+
│ │ │
46+
↓ ↓ ↓
47+
F4 (pullback UP) F2 (Echo- F3 (second
48+
funext-qualified functor 2nd non-isomorphic
49+
model) grade-monoid)
50+
51+
52+
F5 (full OFS — three slices)
53+
│ │ │
54+
↓ ↓ ↓
55+
F5-1 F5-2 F5-3
56+
strict diagonal factorisation
57+
triangle lifting uniqueness-up-to-iso
58+
59+
Reading: F1 is the only make-or-break; F2 / F4 are independent
60+
of F1 (both expected tractable, both PASSED); F3 is gated on F1
61+
(passes after F1 lands). F5 (added 2026-05-27 post-F4 success
62+
pattern) takes F4 as its template — same "funext as explicit
63+
module parameter" discipline. F5's three slices are mutually
64+
independent (each landed standalone), composed for full pass.
65+
----
66+
3767
[#gate-F1]
3868
=== Gate F1 — Genuine graded comonad (MAKE-OR-BREAK)
3969

docs/echo-types/fibration-package.adoc

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,21 @@ pattern.
6969

7070
== Composition accumulation iso: `Echo-comp-iso`
7171

72+
[source]
73+
----
74+
Echo-comp-iso f g y
75+
Echo (g ∘ f) y ───────────────────→ Σ B (λ b → Echo f b × (g b ≡ y))
76+
▲ │
77+
│ │
78+
│ Echo-comp-iso-from f g │
79+
└──────────────────────────────────────────────┘
80+
81+
Reading: an echo of g ∘ f at y is *equivalent* to picking an
82+
intermediate b : B, an echo of f at that b, plus the equation
83+
g b ≡ y connecting them. Composition ACCUMULATES witness
84+
structure (does NOT weaken the intensional core).
85+
----
86+
7287
The echo of `g ∘ f` at `y` is canonically equivalent to a
7388
Σ-over-intermediate-base-point:
7489

@@ -92,6 +107,27 @@ stdlib's `Function.Bundles.mk↔ₛ′`) is the consumer-side artefact.
92107

93108
== Cancellation iso through a section: `cancel-iso`
94109

110+
[source]
111+
----
112+
g : B → C with s : C → B s.t. s ∘ g ~ id ∧ g ∘ s ~ id
113+
(+ both triangle identities as explicit hypotheses)
114+
115+
cancel-iso f g s ... y
116+
Echo (g ∘ f) y ───────────────────────────→ Echo f (s y)
117+
▲ │
118+
│ │
119+
│ cancel-iso-from f g s ... │
120+
└──────────────────────────────────────────────┘
121+
122+
Reading: when g admits a section/retraction pair s, the outer
123+
echo at y is recoverable as the inner echo at the transported
124+
base point s y. The triangle identities are required because
125+
under --without-K a bare two-sided inverse is weaker than a
126+
coherent equivalence; the cancel-iso takes both adjustments
127+
as explicit module parameters (same discipline F4/F5 use for
128+
funext).
129+
----
130+
95131
Given a section/retraction pair `(g : B → C, s : C → B)` with
96132
both `s-left : ∀ b → s (g b) ≡ b` and `s-right : ∀ y → g (s y)
97133
≡ y`, plus the two HoTT triangle identities (one per round-trip)
@@ -129,6 +165,34 @@ of `Echo.agda` — a ten-step `≡-Reasoning` block routing through
129165

130166
== Pentagon coherence: `Echo-comp-iso-pent-*` + `Echo-comp-pent-Σ-assoc`
131167

168+
[source]
169+
----
170+
Three-fold composition h ∘ g ∘ f admits TWO natural factorings:
171+
172+
outer-first: inner-first:
173+
174+
Echo (h ∘ (g ∘ f)) y Echo ((h ∘ g) ∘ f) y
175+
│ │
176+
│ split at h │ split at (h ∘ g)
177+
↓ ↓
178+
Σ c (Echo (g∘f) c × h c ≡ y) Σ b (Echo f b × (h∘g) b ≡ y)
179+
180+
│ split at g
181+
182+
Σ c (Σ b (Echo f b × g b ≡ c) × h c ≡ y)
183+
184+
│ Σ-associativity iso
185+
│ (Echo-comp-pent-Σ-assoc)
186+
187+
Σ b (Echo f b × h (g b) ≡ y)
188+
189+
The pentagon coherence pins that BOTH factorings agree on the
190+
A-origin (echo-comp-iso-pent-B) AND on the Echo-f component
191+
(echo-comp-iso-pent-echo). The full Σ-associativity iso is
192+
strict (no transport coherence required) and lives inside
193+
--safe --without-K.
194+
----
195+
132196
Three-fold composition `h ∘ g ∘ f` admits two natural factorings
133197
via `Echo-comp-iso`: outer-first (split at `h`, then inner at
134198
`g`) and inner-first (split at `(h ∘ g)` as outer, `f` as inner).

docs/echo-types/universal-property.adoc

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,45 @@ The narrative here threads the four artefacts (pullback +
2929
factorisation, each at K-free + funext-qualified levels) into one
3030
story.
3131

32+
== The two diagrams in one place
33+
34+
Pullback presentation (§"Pullback presentation"):
35+
36+
[source]
37+
----
38+
echo-pullback-univ
39+
Echo f y ─────────────────→ A
40+
│ (existence + │
41+
│ pointwise │
42+
proj₂│ uniqueness) │ f
43+
│ │
44+
↓ ↓
45+
⊤ ──────────────────→ B
46+
y
47+
----
48+
49+
Factorisation system (§"Gate F5 — full OFS, honestly qualified"):
50+
51+
[source]
52+
----
53+
encode f
54+
A ─────────────────────→ Σ B (Echo f)
55+
╲ │
56+
╲ (left = equivalence) │
57+
f ╲ │ proj₁
58+
╲ (right = projection) │
59+
╲ │
60+
╲ ↓
61+
──────────────────────→ B
62+
63+
triangle: f ≡ proj₁ ∘ encode f
64+
(definitional pointwise; strict given funext via F5-1)
65+
----
66+
67+
Both diagrams collapse to the same fibre intuition: `Echo f y` IS
68+
the *fibre* of the right-leg projection at `y`, and the right-leg
69+
projection is the canonical `proj₁` out of the total Σ-space.
70+
3271
== Pullback presentation (`EchoPullback.agda`)
3372

3473
`Echo f y` is the pullback of `f` along the point `y : ⊤ → B`:
@@ -133,6 +172,25 @@ left equivalence (via `HasInverse`) + right projection (=
133172
pointwise, is unique pointwise. K-free in `module Pointwise`;
134173
strict in `module Strict (funext)`.
135174

175+
[source]
176+
----
177+
h
178+
A ────────────────→ Σ B (Echo f)
179+
│ ╲ │
180+
│ ╲ lift │
181+
e │ ╲ (= h ∘ e⁻¹) │ proj₁
182+
│ ╲ │
183+
↓ ╲↓ ↓
184+
A' ────────────────────→ B
185+
k
186+
187+
Premise: proj₁ ∘ h ≡ k ∘ e (pointwise commutativity)
188+
Lift: ∃! lift such that lift ∘ e ≡ h AND proj₁ ∘ lift ≡ k
189+
Construct: lift x := h (e⁻¹ x)
190+
Strictness: function-equation form given funext;
191+
pointwise form K-free unconditionally.
192+
----
193+
136194
=== Slice F5-3 (`EchoOFSUnivF5Iso.agda`)
137195

138196
Factorisation uniqueness up to iso. Given any second
@@ -153,6 +211,33 @@ Round-trips reduce via the K-free `encode-decode` /
153211
`decode-encode` lemmas + `cong` of the inverse data. No
154212
triangle identity needed — bare `HasInverse` suffices.
155213

214+
[source]
215+
----
216+
Setup: f = p ∘ g, g has two-sided inverse g⁻¹
217+
218+
g
219+
A ────────────────────→ X
220+
│ │
221+
f │ │ p
222+
│ │
223+
↓ ↓
224+
B ←─────────────────── B
225+
=
226+
227+
Canonical iso (Gate F5-3):
228+
229+
φ.to = encode f ∘ g⁻¹
230+
X ──────────────────────────────→ Σ B (Echo f)
231+
232+
│ proj₁
233+
φ.from = g ∘ decode f │
234+
X ←──────────────────────────────── Σ B (Echo f)
235+
236+
237+
B
238+
(proj₁ ∘ φ.to ≡ p, pointwise via commute)
239+
----
240+
156241
=== Gate-pass status
157242

158243
F5 PASSED in full (all three slices) on 2026-05-27. Retraction

0 commit comments

Comments
 (0)