Skip to content

Commit 865a2ea

Browse files
hyperpolymathclaude
andcommitted
docs: refresh rung state + buchholz-extended-wf design note
Five docs updated to reflect today's chain (C1, A2, A1, B3 — three already merged, B3 in this PR): * CLAUDE.md — current rung state replaced with the 4-rung digest. Open list now flags _<ᵇ⁺_ WF (two failed Route-A attempts, Route B recommended), Brouwer Phase 1.3 limit case, unbudgeted _<ᵇʳᶠ_ WF. * docs/echo-types/overview.md — Buchholz "what is not claimed" paragraph refreshed: K-free core has WF, shared-binder lex cases now internalised in `_<ᵇ⁺_`, WF for `_<ᵇ⁺_` is the next open step. * docs/echo-types/roadmap.md — cancel-iso marked landed (PR #25); five-decoration sweep marked closed (PR #24); Landauer/Bennett marked partial-landed for finite-domain case (PR #23); _<ᵇ⁺_ marked partial. * docs/echo-types/buchholz-extended-wf.md (NEW) — design note explaining why `wf-<ᵇ` does not extend to `_<ᵇ⁺_` and the two design routes (Route A: single-mutual block with widened bundle, attempted twice today and blocked on Agda termination; Route B: rank-embedding into Brouwer ordinals, recommended next attempt with scaffolding via RankBrouwer.agda). Pragmatic interim: `_<ᵇ_` and `_<ᵇ⁺_` coexist as separate relations. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent e3fc4ff commit 865a2ea

4 files changed

Lines changed: 307 additions & 41 deletions

File tree

CLAUDE.md

Lines changed: 99 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,9 +138,106 @@ work to `main` and refresh all documentation:
138138
name, the commits folded in, the remaining open pieces of the
139139
milestone, and the proposed smallest useful next advance.
140140

141-
## Current rung state (2026-04-27)
141+
## Current rung state (2026-04-28)
142+
143+
Just landed: **Honest-thermo rung + 5-decoration sweep close +
144+
cancel-iso packaging + extended-order lex constructors.** Five
145+
PRs merged to `main` in one chain (#23, #24, #25, plus B3 in this
146+
commit, plus the doc + 6a2 sweep). Headlines:
147+
148+
### C1 — `EchoFiberCount` + redeemed `EchoThermodynamics` (PR #23)
149+
150+
* `EchoFiberCount.FiberSize-fin : (Fin n → B) → B → DecEq → ℕ`
151+
honest preimage count by enumeration.
152+
* Headlines: `FiberSize-fin-id-zero` (id has fiber 1),
153+
`FiberSize-fin-const` (constant collapse: fiber n),
154+
`FiberSize-fin-{no,all}-hit`,
155+
`FiberSize-fin≡0⇒no-echo`, `no-echo⇒FiberSize-fin≡0`.
156+
* `EchoThermodynamics` rewritten against `Data.Nat.Logarithm.⌊log₂_⌋`:
157+
`landauer-bound T n = k * T * ⌊log₂ n ⌋`,
158+
`bennett-reversible : FiberSize-fin ≡ 1 ⇒ erasure-bound ≡ 0`,
159+
`bennett-reversible-id-zero` (concrete instance),
160+
`landauer-collapse : (∀ x → f x ≡ y) ⇒ bound ≡ k·T·⌊log₂ n⌋`.
161+
* `docs/ECHO-CNO-BRIDGE.adoc` swept: four overclaim sites at
162+
lines 71/80/122/174 replaced with honest "proved at finite
163+
domain only" or explicit "NOT proved" notes.
164+
* `docs/echo-types/taxonomy.md` §8 references EchoFiberCount as
165+
the quantitative companion to EchoDecidable.
166+
167+
### A2 — `EchoChoreo` per-decoration composition rung (PR #24)
168+
169+
* `_⊑c_` (3 constructors) — choreographic-reachability order on
170+
roles (Client one-way to Server via the canonical `client-to-server`
171+
swap-square).
172+
* `⊑c-trans`, `⊑c-prop` — transitive + propositional.
173+
* `applyChoreo`, `applyChoreo-comp` — transport + decomposition.
174+
* `_⊔c_` with `⊑c-⊔c-{left, right, univ}` — join (Server top).
175+
* `applyChoreo-compose`, `applyChoreo-via-join` — factoring-free
176+
composition + join restatement.
177+
* Closes the **five-decoration sweep** at the per-decoration
178+
composition rung (grade, linear, indexed, modal, role).
179+
* `docs/echo-types/composition.md` §6 marked sweep closed.
180+
181+
### A1 — Equivalence-record packaging for cancel-iso (PR #25)
182+
183+
* `Echo.Echo-comp-iso : (f : A → B) (g : B → C) (y : C) →
184+
Echo (g ∘ f) y ↔ Σ B (λ b → Echo f b × g b ≡ y)` —
185+
unconditional accumulation iso, packaged via stdlib's
186+
`Function.Bundles._↔_` and `mk↔ₛ′`.
187+
* `Echo.cancel-iso : ... → Echo (g ∘ f) y ↔ Echo f (s y)`
188+
per-fiber cancellation equivalence, parameterised by `s-left`,
189+
`s-right`, and both triangle identities.
190+
* Closes `composition.md` §4 ("Full cancel-iso with round-trips").
191+
192+
### B3 — Extended order `_<ᵇ⁺_` with shared-binder lex constructors
193+
194+
* New module `Ordinal.Buchholz.OrderExtended.agda`. Adds two
195+
lex constructors that the K-restriction kept out of the core
196+
`_<ᵇ_`:
197+
* `<ᵇ⁺-ψα : ∀ {ν₁ ν₂ α β} → ν₁ ≡ ν₂ → α <ᵇ β → bpsi ν₁ α <ᵇ⁺ bpsi ν₂ β`
198+
* `<ᵇ⁺-+2 : ∀ {x₁ x₂ y₁ y₂} → x₁ ≡ y₁ → x₂ <ᵇ y₂ → bplus x₁ x₂ <ᵇ⁺ bplus y₁ y₂`
199+
* Each constructor carries an explicit equality witness so the
200+
implicits are pairwise distinct — the K-free unifier never
201+
has to eliminate a reflexive `ν = ν` (or `x = x`) equation.
202+
* `<ᵇ⁺-irrefl`, `<ᵇ⁺-trans` proved (the `_<ᵇ⁺_` × `_<ᵇ_` mixed
203+
cases route through four extension helpers
204+
`bpsi-extend-{lhs,rhs}`, `bplus-extend-{lhs,rhs}`).
205+
* **Well-foundedness for `_<ᵇ⁺_` is OPEN.** Two design routes
206+
documented in `docs/echo-types/buchholz-extended-wf.md`:
207+
Route A (single-mutual block with widened bundle, attempted
208+
but blocked on Agda's termination checker) and Route B
209+
(rank-embedding into Brouwer ordinals, recommended
210+
next-attempt). The K-free core `_<ᵇ_` and its `wf-<ᵇ` proof
211+
remain intact.
212+
* New convenience wrappers `<ᵇ⁺-ψα-refl`, `<ᵇ⁺-+2-refl` for
213+
callers with concrete same-binder cases.
214+
215+
All headlines pinned in `Smoke.agda`. `agda proofs/agda/All.agda`
216+
and `agda proofs/agda/Smoke.agda` both exit 0 under
217+
`--safe --without-K`. No postulates introduced.
218+
219+
### Open at this rung
220+
221+
* `_<ᵇ⁺_` well-foundedness (see `buchholz-extended-wf.md`).
222+
Two routes documented; the single-mutual restructure (Route A)
223+
was attempted twice in 2026-04-28 sessions and both attempts
224+
failed Agda's termination checker for the same cycle through
225+
`wf-<ᵇ`. Rank-embedding (Route B) into Brouwer ordinals is the
226+
recommended next attempt — needs a `rank : BT → Ord` function
227+
plus the strict-monotonicity lemmas listed in the design note.
228+
* Brouwer Phase 1.3 (recursive `_≤′_` and `_<′_`) — drafted by
229+
the parallel session with `osuc-mono-≤′ p = p` and the limit
230+
case of `≤′-refl` deferred; module reverted pending the
231+
limit-case discharge.
232+
* Unbudgeted `_<ᵇʳᶠ_` global WF (see Previous rung state).
233+
* Push the surface-route WF back into `Order.agda`'s main
234+
`_<ᵇ_` package once `_<ᵇ⁺_` WF lands.
142235

143-
Just landed: **Per-decoration composition rung** across
236+
---
237+
238+
## Previous rung state (2026-04-27)
239+
240+
Landed: **Per-decoration composition rung** across
144241
`EchoGraded.agda` and `EchoLinear.agda`. Both decorations commute
145242
with composition under the same recipe (decoration order →
146243
propositionality → join → factoring-free compose → via-join
Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
# Buchholz `_<ᵇ⁺_`: well-foundedness gap
2+
3+
`Ordinal.Buchholz.OrderExtended._<ᵇ⁺_` adds two shared-binder lex
4+
constructors on top of `Ordinal.Buchholz.Order._<ᵇ_`:
5+
6+
* **`<ᵇ⁺-ψα`**`bpsi ν α <ᵇ⁺ bpsi ν β` whenever `α <ᵇ β`
7+
(lex on the ψ-argument at a fixed Ω-index).
8+
* **`<ᵇ⁺-+2`**`bplus x y₁ <ᵇ⁺ bplus x y₂` whenever `y₁ <ᵇ y₂`
9+
(lex on the right summand at a fixed left summand).
10+
11+
`<ᵇ⁺-irrefl` and `<ᵇ⁺-trans` are proved. **Well-foundedness for
12+
`_<ᵇ⁺_` is open.** This note records why and sketches the two
13+
viable design routes.
14+
15+
## Why `wf-<ᵇ` does not extend directly
16+
17+
`Ordinal.Buchholz.WellFounded.wf-<ᵇ` is built from a per-Ω-index
18+
bundle:
19+
20+
```agda
21+
ΩBundle μ = Acc _<ᵇ_ (bOmega μ) × ((α : BT) → Acc _<ᵇ_ (bpsi μ α))
22+
23+
<ᵇ-bundle-fromΩ : ∀ {μ} → Acc _<Ω_ μ → ΩBundle μ
24+
```
25+
26+
The bundle's `psiAcc α` returns `Acc _<ᵇ_ (bpsi μ α)` for any `α`,
27+
discharging predecessors via case analysis on `_<ᵇ_`'s
28+
constructors. The new `<ᵇ⁺-ψα` constructor introduces predecessors
29+
shaped `bpsi μ β` for arbitrary `β <ᵇ α`. Discharging those needs
30+
recursion on `Acc _<ᵇ_ α` — but `psiAcc` does not carry an `Acc α`
31+
argument, so the natural attempt
32+
33+
```agda
34+
predPsi α (<ᵇ-ψα {α = β} refl _) = psiAcc β
35+
```
36+
37+
calls `psiAcc β` with `β` strictly smaller than `α` only via
38+
`<ᵇ`, not structurally. Agda's termination checker rejects the
39+
mutual cycle `predPsi → psiAcc → predPsi` because the first
40+
argument does not decrease.
41+
42+
Symmetrically, `<ᵇ⁺-+2` introduces predecessors `bplus α y₁` for
43+
arbitrary `y₁ <ᵇ y₂`, and the existing `<ᵇ-acc-bplus-from` only
44+
threads `Acc _<ᵇ_ α` (the left summand), so the right-summand lex
45+
case has no decreasing measure either.
46+
47+
## Two design routes
48+
49+
### Route A — single-mutual block with widened bundle
50+
51+
Replace the per-Ω-index bundle with a single mutual block in
52+
which:
53+
54+
```agda
55+
ΩBundle μ = Acc _<ᵇ_ (bOmega μ)
56+
× ((α : BT) → Acc _<ᵇ_ α → Acc _<ᵇ_ (bpsi μ α))
57+
58+
<ᵇ-acc-bplus-from-both :
59+
∀ {α β} → Acc _<ᵇ_ α → Acc _<ᵇ_ β → Acc _<ᵇ_ (bplus α β)
60+
```
61+
62+
i.e. the ψ-side of the bundle takes `Acc _<ᵇ_ α` as a parameter,
63+
and `bplus`-acc takes `Acc _<ᵇ_` for **both** summands. `wf-<ᵇ`
64+
becomes mutual with the bundle and supplies the extra `Acc` args
65+
via BT structural recursion (`wf-<ᵇ α` for the smaller subterm).
66+
67+
**Status of attempt.** Drafted twice (in this PR and again by a
68+
parallel session on 2026-04-28); both attempts are
69+
constructionally identical and both are rejected by Agda's
70+
termination checker. The reported cycle is
71+
`pred-bpsi-from → wf-<ᵇ → <ᵇ-acc-bpsi → <ᵇ-acc-bpsi-from`. The
72+
cycle is well-founded in lex order on
73+
`(BT-structure of carrier, witness)`, but Agda does not see the
74+
witness as decreasing the BT carrier without an explicit
75+
size-measure annotation. A sized-types or explicit measure
76+
encoding (e.g. via `Induction.WellFounded.<-rec` with a measure
77+
into ℕ × ℕ) is the next thing to try; failing that, fall back
78+
to Route B.
79+
80+
### Route B — rank-embedding into Brouwer ordinals
81+
82+
Define `rank : BT → Ord` (Brouwer, already present in
83+
`Ordinal.Brouwer`) such that `x <ᵇ⁺ y → rank x < rank y`. Then
84+
WF for `_<ᵇ⁺_` follows from `Ordinal.Brouwer.wf-<` by
85+
transport along `rank`.
86+
87+
Sketch of `rank`:
88+
89+
```agda
90+
rank bzero = oz
91+
rank (bOmega μ) = ω-rank μ
92+
rank (bplus α β) = rank α ⊕ rank β
93+
rank (bpsi μ α) = psi-rank μ ⊕ rank α -- conjectural form
94+
```
95+
96+
The arithmetic infrastructure (`_⊕_`, `nat-to-ord`, `ω-rank`,
97+
`psi-rank`) is in `Ordinal.Brouwer.Arithmetic`. The strict
98+
decrease must hold on every `<ᵇ⁺` constructor:
99+
100+
* `<ᵇ-ψΩ μ<ν` — Ω-index decrease must dominate the ψ-arg
101+
comparison; needs `psi-rank` to be strictly monotone in μ at a
102+
rate that swamps `_⊕_`-additions of the ψ-arg.
103+
* `<ᵇ⁺-ψα` — ψ-arg strict decrease at fixed μ; needs
104+
`psi-rank μ ⊕ ·` to preserve `<` on the right.
105+
* `<ᵇ⁺-+2` — right-summand strict decrease at fixed left;
106+
needs `· ⊕ rank α` to be `<`-monotone on the left.
107+
108+
**Status.** Not attempted yet. The constructive Brouwer-ordinal
109+
arithmetic in this repo is light (Phase 1.1/1.2); some of the
110+
strict-monotonicity lemmas the `rank` proof would need are not
111+
yet present.
112+
113+
## Pragmatic interim — leave `_<ᵇ_` and `_<ᵇ⁺_` separate
114+
115+
Today's commit ships the constructors in `_<ᵇ⁺_` only, leaving
116+
`Ordinal.Buchholz.Order._<ᵇ_` (and its `wf-<ᵇ`) intact. Downstream
117+
consumers that need only the K-free core (e.g. the
118+
`VeblenComparisonModel` chain) keep their existing WF guarantee.
119+
Consumers that need the lex cases use `_<ᵇ⁺_` and accept that
120+
WF is not yet established for it.
121+
122+
## Recommended next attempt
123+
124+
Route B (rank-embedding) is lower-risk: the arithmetic lemmas
125+
needed are bounded and discoverable, and `Ordinal.Brouwer.wf-<`
126+
is already proved. Route A's failure mode is Agda's termination
127+
checker, which is harder to debug than provable mathematics.
128+
129+
## See also
130+
131+
* `proofs/agda/Ordinal/Buchholz/Order.agda` — the K-free core.
132+
* `proofs/agda/Ordinal/Buchholz/OrderExtended.agda` — the
133+
extended relation defined in this PR.
134+
* `proofs/agda/Ordinal/Buchholz/WellFounded.agda` — the bundle
135+
proof for `_<ᵇ_`.
136+
* `proofs/agda/Ordinal/Brouwer.agda`,
137+
`proofs/agda/Ordinal/Brouwer/Arithmetic.agda` — the rank
138+
target if Route B is taken.
139+
* `docs/buchholz-plan.adoc` — the broader Buchholz workstream.

docs/echo-types/overview.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,10 +96,14 @@ maps can admit different echo types.
9696
Buchholz workstream in this repo (`docs/buchholz-plan.adoc`) is a
9797
parallel, syntactic development; its relationship to Echo Types
9898
via `EchoOrdinal.agda` is a bridge, not a reduction. At present,
99-
the current admitted Buchholz core has a closed well-foundedness
100-
route, and finite same-binder depth is now handled by iterated
101-
mediated wrappers, while the full intended order remains open at
102-
the shared-binder internalization step.
99+
the current K-free Buchholz core (`Ordinal.Buchholz.Order._<ᵇ_`)
100+
has a closed well-foundedness route, finite same-binder depth is
101+
handled by iterated mediated wrappers, and the shared-binder lex
102+
cases (`<ᵇ⁺-ψα`, `<ᵇ⁺-+2`) are now internalised in the extended
103+
relation `Ordinal.Buchholz.OrderExtended._<ᵇ⁺_` with proven
104+
irrefl + trans; well-foundedness for `_<ᵇ⁺_` is the next open
105+
step, with two design routes documented in
106+
`docs/echo-types/buchholz-extended-wf.md`.
103107
- **Not a completed categorical semantics.** See
104108
`docs/assessment.adoc` for the current M5 verdict.
105109

docs/echo-types/roadmap.md

Lines changed: 61 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,15 @@ Paths marked **[unblocked]** can proceed today. Paths marked
5353
isomorphism `Echo(g ∘ f) y ≃ Σ B (λ b → Echo(f) b × (g b ≡ y))`.
5454
Shipped as `Echo-comp-iso-{to, from, from-to, to-from}`; both
5555
round-trips are definitional. See `composition.md` §1.
56-
- **[partial]** `cancel-iso-to` / `cancel-iso-from` in `Echo.agda`:
57-
forward and backward maps for the cancellation corollary, each
58-
needing only the relevant half of g's iso structure. Round-trips
59-
are **deferred** pending a triangle-identity coherence or a stdlib
60-
`Function.Bundles.Inverse` shim. See `composition.md` §3.
56+
- **[landed]** `cancel-iso-to` / `cancel-iso-from` /
57+
`cancel-iso-from-to` / `cancel-iso-to-from` in `Echo.agda`,
58+
packaged as `Echo.cancel-iso : ... → Echo (g ∘ f) y ↔ Echo f (s y)`
59+
via stdlib's `Function.Bundles._↔_` and `mk↔ₛ′`. Both round-trips
60+
parameterised by their respective triangle identities (one
61+
triangle implies the other in HoTT but the adjustment is
62+
non-trivial path algebra, so both stay explicit). Companion
63+
`Echo.Echo-comp-iso` packages the unconditional accumulation iso
64+
the same way. See `composition.md` §3 + §4.
6165
- **[landed]** Pentagon coherence for three-fold composition.
6266
Projection lemmas `Echo-comp-iso-pent-B` and `Echo-comp-iso-pent-echo`
6367
both `refl` in `Echo.agda`. The full Σ-associativity iso between the
@@ -88,23 +92,37 @@ Paths marked **[unblocked]** can proceed today. Paths marked
8892
(monotone in ε), and `echo-approx-compose` (additive composition
8993
under a non-expansive outer leg, realising the taxonomy §2
9094
conjecture). Wired into `All.agda` and `Smoke.agda`.
91-
- **[partial]** Per-decoration composition lemmas in `EchoGraded`,
92-
`EchoLinear`, `EchoIndexed`, `EchoChoreo`, `EchoEpistemic`: check
93-
each commutes with basic composition. Grade case **landed** in
94-
`EchoGraded.agda` as `degrade-compose` (any factoring of a
95-
`g1 ≤g g3` transition through an intermediate `g2` collapses to
96-
the same degraded echo) plus `degrade-via-join` (same statement
97-
through the join `_⊔g_`), proved from `≤g-prop` (the order is
98-
propositional) and `degrade-comp`. Supporting lemmas
99-
`≤g-⊔g-left`, `≤g-⊔g-right`, `≤g-⊔g-univ` exhibit `_⊔g_` as the
100-
categorical join. Linear case **landed** in `EchoLinear.agda` as
101-
`_≤m_`, `≤m-trans`, `degradeMode`, and `degradeMode-comp`
102-
(`linear ⊑ linear ⊑ affine ⊑ affine`; `degradeMode-comp` is the
103-
per-decoration composition lemma; auxiliary corollaries
104-
`degradeMode-id-linear`, `degradeMode-id-affine`,
105-
`degradeMode-strict-is-weaken` make the relationship to the
106-
existing `weaken` definitional). Indexed / role / modal cases
107-
remain unblocked.
95+
- **[landed]** Per-decoration composition lemmas across the
96+
five-decoration family — **sweep complete** (2026-04-28):
97+
`EchoGraded.degrade-compose`, `EchoLinear.degradeMode-compose`,
98+
`EchoIndexed.map-role-indexed-comp`,
99+
`EchoChoreo.applyChoreo-{comp, compose, via-join}` along the
100+
choreographic-reachability order `_⊑c_`, and
101+
`EchoEpistemic.knowledge-monotone-{comp, id}`. Each follows the
102+
same recipe (decoration order → propositionality → join →
103+
factoring-free compose → via-join restatement). All headlines
104+
pinned in `Smoke.agda`.
105+
- **[landed]** Honest finite-domain Landauer/Bennett bounds
106+
(2026-04-28). `EchoFiberCount.agda` provides the actual fiber
107+
count `FiberSize-fin : (Fin n → B) → B → DecEq → ℕ` plus four
108+
headline lemmas (`FiberSize-fin-id-zero`, `FiberSize-fin-const`,
109+
bidirectional `FiberSize-fin ≡ 0 ⟺ ¬ Echo`).
110+
`EchoThermodynamics.agda` rewritten against
111+
`Data.Nat.Logarithm.⌊log₂_⌋`: `bennett-reversible`,
112+
`bennett-reversible-id-zero`, `landauer-collapse`. Replaces the
113+
earlier `FiberSize = 1` hardcode that rendered the prior
114+
CNO-zero-energy claims vacuous. Infinite-domain
115+
(`ProgramState = ℕ → ℕ`) case explicitly out of scope.
116+
`docs/ECHO-CNO-BRIDGE.adoc` swept to remove four overclaim sites.
117+
- **[partial]** Buchholz extended order `_<ᵇ⁺_` (2026-04-28).
118+
`Ordinal.Buchholz.OrderExtended.agda` adds the two K-restricted
119+
shared-binder lex constructors (`<ᵇ⁺-ψα`, `<ᵇ⁺-+2`) on top of
120+
the K-free core `_<ᵇ_`, with explicit equality witnesses to
121+
keep implicits pairwise distinct. `<ᵇ⁺-irrefl` and `<ᵇ⁺-trans`
122+
proved (mixed cases via four `extend-{lhs, rhs}` helpers).
123+
Well-foundedness for `_<ᵇ⁺_` is **OPEN** — see
124+
`docs/echo-types/buchholz-extended-wf.md` for the two design
125+
routes (single-mutual or rank-embedding via Brouwer).
108126
- **[unblocked]** Add example-library Agda files matching
109127
`examples.md`: start with examples 1–4 already in-suite, then
110128
example 7 (ordinal collapse is in `EchoOrdinal`); examples 5, 6,
@@ -153,22 +171,30 @@ Paths marked **[unblocked]** can proceed today. Paths marked
153171

154172
## Proof-assistant-dependent work — gated
155173

156-
- **[gated on B1]** Internalize the missing shared-binder shapes as
157-
actual constructors/comparison principles of the real Buchholz
158-
order. The current route closes well-foundedness for the admitted
159-
core and handles arbitrary finite same-binder depth via iterated
160-
wrappers, but not yet for the full intended constructor package.
161-
- **[gated on B1]** Re-close totality/inversion/transitivity and
162-
well-foundedness for the enlarged order after that internalization,
163-
including shared-binder cases such as `<ᵇ-ψα` and `<ᵇ-+2`.
174+
- **[partial]** Internalize the missing shared-binder shapes as
175+
actual constructors of the Buchholz order. **Done** for the
176+
irrefl + trans layer in `Ordinal.Buchholz.OrderExtended._<ᵇ⁺_`
177+
with `<ᵇ⁺-ψα` and `<ᵇ⁺-+2` (2026-04-28). Well-foundedness for
178+
the enlarged order is open — see the gated entry below.
179+
- **[gated on `_<ᵇ⁺_` WF]** Re-close well-foundedness for the
180+
enlarged order. Two design routes documented in
181+
`docs/echo-types/buchholz-extended-wf.md`: single-mutual block
182+
with widened bundle (Route A — attempted, blocked on Agda
183+
termination) or rank-embedding into Brouwer ordinals (Route B
184+
— recommended next-attempt; scaffolded by
185+
`Ordinal.Buchholz.RankBrouwer.agda` from the parallel session).
164186
- **[gated on B1]** Ordinal semantics of BT terms: denotation
165187
`BT → Ordinal` preserving order. Requires a formal `Ordinal` type
166188
as a prerequisite, which is itself downstream of WF.
167-
- **[gated on B1]** Landauer / Shannon rigorous bridge (separate
168-
handoff pack in `docs/echo-types/roadmap.md` would cross-reference
169-
this). The current `EchoThermodynamics.agda` is a stub; genuine
170-
content requires a preimage-count that itself needs ordinal / finite
171-
type infrastructure.
189+
- **[partial]** Landauer / Shannon rigorous bridge. **Done** for
190+
the finite-domain Landauer/Bennett shape in
191+
`EchoThermodynamics.agda` (rewritten 2026-04-28 against
192+
`EchoFiberCount.FiberSize-fin` and `Data.Nat.Logarithm.⌊log₂_⌋`).
193+
Open: infinite-domain `ProgramState = ℕ → ℕ` extension (needs a
194+
capacity / measure / equivalence-class-quotient framework);
195+
Shannon-entropy formalisation (no probability-monad in stdlib v2
196+
at the level needed); physical heat-dissipation realisation
197+
(the bound is information-theoretic, not a physical claim).
172198
- **[gated on B2]** CNO-equivalence verification across echo-types
173199
and `absolute-zero`. Needs cross-repo access.
174200
Bridge slot now exists on the adjacent side at

0 commit comments

Comments
 (0)