Skip to content

Commit 52f2e7d

Browse files
hyperpolymathclaude
andcommitted
docs: refresh E3-E6 status; record same-binder internalisation blocker
Roadmap (`roadmap.adoc`): mark E3 (cnf-trichotomy), E4 (psi-notin-C / psi-least), E5 (partial: Cν-monotone, psiν-notin-Cν, psiν-stage-lb; psiν-least-gap still open), and E6 (BH-wf, psi-OmegaOmega-wf) as DONE with landed-lemma inventories. Previous text still said PLANNED. Buchholz plan (`docs/buchholz-plan.adoc`): add a 2026-04-24 investigation note on the "mathematical completion" follow-up. Adding `<ᵇ-ψα` / `<ᵇ-+2` as constructors to `_<ᵇ_` typechecks and `<ᵇ-trans` extends cleanly, but `<ᵇ-irrefl` (direct pattern) hits the `--without-K` reflexive-equation blocker and `wf-<ᵇ` (direct) fails Agda 2.8's termination checker because lex-Acc descent through a passed-in `WellFounded _<ᵇ_` witness isn't recognised — even via module parameter. Documents the three architectural moves that would unblock (decouple comparison target's lex-WF from `wf-<ᵇ`, rebuild via an independently-WF BT rank, or `--sized-types`), and the landing decision (revert; same-binder shapes stay in `<ᵇ⁺` and `<ᵇˢ` wrappers). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent c9f72b7 commit 52f2e7d

2 files changed

Lines changed: 77 additions & 5 deletions

File tree

docs/buchholz-plan.adoc

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,47 @@ Current Veblen-route status after this update:
221221
into the real order package and then re-close inversion,
222222
transitivity, and well-foundedness for that enlarged order
223223

224+
Internalisation investigation (2026-04-24):
225+
226+
* Adding `<ᵇ-ψα : α <ᵇ β → bpsi ν α <ᵇ bpsi ν β` and
227+
`<ᵇ-+2 : y₂ <ᵇ z₂ → bplus x y₂ <ᵇ bplus x z₂` as constructors to
228+
`_<ᵇ_` typechecks under `--safe --without-K` on Agda 2.8.
229+
* Transitivity `<ᵇ-trans` extends cleanly: every new left×right pair
230+
either reduces to a strictly smaller `<ᵇ` / `<Ω` subproof, reuses a
231+
head from an existing constructor, or transfers the result via the
232+
existing recursive cases. No K-elimination is required for the
233+
transitivity step because its inputs' shared middle term forces
234+
unification against fresh implicits, not a reflexive equation.
235+
* `<ᵇ-irrefl` in its current direct-pattern form is blocked. Matching
236+
`<ᵇ-ψα α<α : bpsi ν α <ᵇ bpsi ν α` needs the K-free unifier to
237+
eliminate `ν = ν`, which it cannot. Workaround: delete the direct
238+
`<ᵇ-irrefl` from `Order.agda` and rely on `<ᵇ-irreflexive` in
239+
`WellFounded.agda` (derived from `wf-<ᵇ` via `wf⇒asym`). This
240+
requires a working `wf-<ᵇ` for the enlarged order.
241+
* `wf-<ᵇ` (direct) is where the real blocker lives. The `<ᵇ-+2`
242+
constructor makes `Acc _<ᵇ_ (bplus α β)` depend on Acc on the
243+
right summand β, so the helper must take two Accs and descend
244+
lex-wise. Agda 2.8's Foetus-style termination checker does not
245+
recognise lex-Acc descent when the second Acc is obtained by
246+
calling a passed-in `WellFounded _<ᵇ_` witness — even when the
247+
witness enters via an anonymous-module parameter. Attempted
248+
variants (standalone `<ᵇ-acc-bplus-lex` parameterised by wfB;
249+
module-local `BplusLex`; inline lambda-matched `acc`) all produce
250+
the same `[TerminationIssue]` diagnosis.
251+
* A full mechanisation therefore needs one of the heavier
252+
architectural moves: (a) decouple `VeblenComparisonTarget`'s
253+
`×-wellFounded'` from `wf-<ᵇ` (bootstrap the lex-WF on a
254+
core-restricted `<ᵇ`), or (b) rebuild `wf-<ᵇ` over a BT-structural
255+
measure known to be WF independently of `_<ᵇ_` (e.g. explicit
256+
ordinal rank), or (c) enable `--sized-types` within this submodule
257+
— verify compatibility with `--safe` first — and prove WF by
258+
co-inductive size descent on the two-Acc helper. None of these
259+
belong in a single incremental step.
260+
* Current landing (2026-04-24): revert the constructor additions;
261+
keep the same-binder shapes in `<ᵇ⁺` (`ExtendedOrder`) and `<ᵇˢ`
262+
(`SurfaceOrder`) as before. The blocker is documented here rather
263+
than rediscovered.
264+
224265
Risk-gated bridge currently admitted:
225266

226267
* The original top-marker bridges remain as named specialised lemmas

roadmap.adoc

Lines changed: 36 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -361,26 +361,50 @@ Pass condition for E2:
361361
* `C-monotone` compiles without postulates
362362
* full-suite and smoke CI jobs both still pass
363363

364-
E3. Cantor normal form (next):
364+
E3. Cantor normal form:
365365

366366
* add `proofs/agda/Ordinal/CNF.agda` — CNF fragment below ε₀
367367
* prove trichotomy of the CNF strict order
368368

369-
Status: PLANNED
369+
Status: DONE (2026-04-24)
370+
371+
Delivered in `proofs/agda/Ordinal/CNF.agda`:
372+
373+
* `CNF`, `_<ᶜ_`
374+
* `<ᶜ-irrefl`, `<ᶜ-trans`
375+
* `cnf-trichotomy`
376+
* worked witnesses `one<ᶜtwo`, `two<ᶜω`, `one<ᶜω`
370377

371378
E4. Pedagogical ψ:
372379

373380
* add `proofs/agda/Ordinal/PsiSimple.agda`
374381
* prove `psi-notin-C` and `psi-least` on the ℕ-staged closure
375382

376-
Status: PLANNED
383+
Status: DONE (2026-04-24)
384+
385+
Delivered in `proofs/agda/Ordinal/PsiSimple.agda`:
386+
387+
* `psi-notin-C`
388+
* `psi-at-1`
389+
* `psi-least`
377390

378391
E5. Buchholz fragment (ν ≤ ω):
379392

380393
* add `proofs/agda/Ordinal/Buchholz/{Syntax,Closure,Psi}.agda`
381394
* prove `Cν-monotone`, `psiν-notin-Cν`, `psiν-least-gap`
382395

383-
Status: PLANNED
396+
Status: PARTIAL (2026-04-24)
397+
398+
Delivered:
399+
400+
* `Ordinal/Buchholz/Syntax.agda`, `Closure.agda`, `Psi.agda` all compile
401+
* `Cν-monotone`, `Cν-index-monotone`, `Cν-monotone-both`
402+
* `psiν-notin-Cν`, `psiν-stage-lb`, `psiν-index-bound`
403+
404+
Still open:
405+
406+
* `psiν-least-gap` — the stronger least-gap theorem (stage-lb gives `1 ≤ m`;
407+
least-gap gives the sharper minimal-stage side).
384408

385409
E6. Target expressibility:
386410

@@ -389,7 +413,14 @@ E6. Target expressibility:
389413
`ψ_0(0)`, `ψ_0(1)`, `ψ_0(Ω)`, `ψ_0(Ω_ω)` (Bachmann–Howard),
390414
then the term corresponding to `ψ(Ω_Ω)` under the chosen reading
391415

392-
Status: PLANNED
416+
Status: DONE (2026-04-24)
417+
418+
Delivered in `proofs/agda/Ordinal/Buchholz/Examples.agda` + `WellFormed.agda`:
419+
420+
* `bh-psi0-omega1`, `bh-psi0-omegaω` (Bachmann–Howard target term)
421+
* `psi0-expands`, `psi0-Omega1-target`
422+
* `BH`, `BH-wf`
423+
* `psi-OmegaOmega`, `psi-OmegaOmega-wf` (intended `ψ(Ω_Ω)` reading)
393424

394425
E7. Echo bridge:
395426

0 commit comments

Comments
 (0)