Skip to content

Commit 1d99484

Browse files
committed
docs: reinforce Slice 2 / Slice 2-omega / inversion narrative across the wiki
Cross-doc consistency sweep after PRs #129/#130/#131 landed. Five docs had stale Slice 1-era wording that pre-dated the head-Ω route's Slice 2 + Slice 2-omega + option-(b) inversion landings: * `docs/echo-types/buchholz-rank-obstruction.adoc` (the live per- constructor verdict tracker). The `<ᵇ-+1` row flipped from "⏳ joint-bplus, needs coarser bound" to "⏳ joint-bplus, head-Ω route in flight" with the full prerequisite-landings list and the Slice 2-bplus remaining-work note. Score-paragraph + "What remains open" section + "See also" file list all updated. * `roadmap.adoc` § Lane 3. Bottleneck description + close-out criterion refreshed to reflect that the head-Ω abstraction + per-marker dominances + inversion lemmas have all landed across PRs #124/#130/#131; only Slice 2-bplus (the WfCNF-carrier structural recursion) remains. * `EXPLAINME.adoc`. One-paragraph ongoing-tracks line for the ordinal track refreshed from "first slice landed; rank-mono follow-ons designed" to the current "abstraction + per-marker dominances + inversion landed; structural WfCNF recursion remaining" state. * `CHANGELOG.md` § Added (2026-05-27). Two new bullets land: the Slice 2 + Slice 2-omega + inversion follow-on entry (records the Brouwer-encoding hazard the originally-proposed ω-branch shape would have tripped — the `ω^(suc(suc n))` and `ω^(suc n)` limits denote the same `ω^ω` ordinal — and the revised shape `olim (λ n → ω-rank-pow ω ·ℕ n)` denoting `ω^(ω+1)` that resolves it); and the decoration-bridge R5 exploratory scaffold from PR #129. * `docs/echo-types/MAP.adoc`. Buchholz module list adds `HeadOmegaInversion` next to `HeadOmega`. No prose-vs-proof inconsistency remains: every doc that mentions the head-Ω route now reports its current state (which slices landed, which slice remains, what the prerequisites for the remaining slice are) consistent with the Agda artefacts in `Ordinal.Buchholz.{HeadOmega,HeadOmegaInversion,RankPow}` and the session-arc entry in `CLAUDE.md`. `scripts/kernel-guard.sh`: PASS. No Agda modules touched. https://claude.ai/code/session_013nLEeKZXpvHnrDZMgRm19S
1 parent 6cacc8d commit 1d99484

5 files changed

Lines changed: 99 additions & 24 deletions

File tree

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,52 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
2323
a two-level compositional convenience) — first slice of option
2424
(A) for the remaining `<ᵇ-+1` joint-bplus discharge; no
2525
rank-mono yet.
26+
- *Lane 3 head-Ω route — Slice 2 + Slice 2-omega + inversion (option (b))
27+
landed.* Follow-on to the Slice 1 head-Ω landing above (session night,
28+
PRs #130 + #131):
29+
- `Ordinal.Buchholz.RankPow` gains `ω-rank-pow-succ : OmegaIndex →
30+
Ord` with per-marker strict dominance at *both* branches
31+
(`ω-rank-pow-<-succ-fin` via `ω^-strict-mono-suc`;
32+
`ω-rank-pow-<-succ-omega` via the `Brouwer/OmegaPow.ω^-strict-mono-suc`
33+
template mirrored at `ω-rank-pow ω`) plus the unified
34+
`ω-rank-pow-<-succ : ∀ μ → ω-rank-pow μ <′ ω-rank-pow-succ μ`,
35+
plus atomic-rank factoring through `head-Ω`
36+
(`rank-pow-bOmega-via-head-Ω`, `rank-pow-bpsi-via-head-Ω`).
37+
- Slice 2-omega closes a Brouwer-encoding hazard the original
38+
CLAUDE.md proposal would have tripped: the proposed
39+
`ω-rank-pow-succ ω = olim (λ n → ω^(suc(suc n)))` is
40+
equi-ordinal with `ω-rank-pow ω = olim (λ n → ω^(suc n))`
41+
(both denote `ω^ω`), so cannot strictly dominate. The
42+
revised shape `olim (λ n → ω-rank-pow ω ·ℕ n)` denotes
43+
`ω^(ω+1)` and goes strictly higher via `X≤′oz⊕X` +
44+
`⊕-mono-<-right (ω-rank-pow-pos ω)`. Full record in
45+
`Ordinal.Buchholz.RankPow`'s "History note" block.
46+
- New module `Ordinal.Buchholz.HeadOmegaInversion` lands the
47+
option-(b) inversion lemmas `head-Ω-inv-bOmega :
48+
bOmega ν <ᵇ y → ν <Ω head-Ω y` (strict — three constructors
49+
with `bOmega ν` LHS all carry strict `` witnesses) and
50+
`head-Ω-inv-bpsi : bpsi ν α <ᵇ y → ν ≤Ω head-Ω y` (non-strict —
51+
the `<ᵇ-ψΩ≤` constructor tops out at `≤Ω`). Both proved by
52+
structural recursion on the `<ᵇ` derivation; no rank-mono
53+
dependency. Picking option (b) over option (a) keeps the
54+
eventual `rank-pow-dominated-by-head-Ω` (Slice 2-bplus,
55+
remaining open) independent of the still-open `rank-pow-mono-≤ᵇ`
56+
on the original `_<ᵇ_`.
57+
- *Decoration bridge — R5 exploratory entry scaffolded (PR #129).*
58+
`docs/echo-types/explorations/decoration-bridge/` lands a bounded
59+
exploration of whether the Choreo × Graded integration shape
60+
resembles adjacent-domain decoration constructions (CRDTs, gossip,
61+
local-first causal histories). Scope strictly the one axis pair
62+
`EchoIntegration.agda` already integrates; external candidates
63+
framed as analogies-with-falsifiers, never as evidence of recipe
64+
generalisation. Sits as `roadmap.adoc` § R5 (deferred research)
65+
with explicit termination criteria (Track A/B/C failure, all
66+
candidates retired, redundancy with retracted framing,
67+
forbidden-rebrandings register addition, retraction-watch trip).
68+
Companion Agda module `proofs/agda/EchoDecorationBridge.agda`
69+
deliberately not in `All.agda`, classified as "Exploratory (not in
70+
All.agda)" in `docs/echo-types/echo-kernel-note.adoc` so CI's
71+
classification-drift lint stays green.
2672
- *Lane 5 tutorial track — the originally-scaffolded triplet is
2773
complete.* `tutorial/` ships three worked walkthroughs with
2874
honest-bound disclosure at top + matched-negative `NotProved-*`

EXPLAINME.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Per `.machine_readable/6a2/STATE.a2ml`:
3333
Ongoing tracks at a glance (point-in-time, see `roadmap.adoc` for the live status):
3434

3535
* *Identity claim.* `docs/retractions.adoc` R-2026-05-18 narrows the public claim to a *loss-graded reindexing modality* over a thin poset (not a graded comonad). Every newer artefact is stated within those narrowings.
36-
* *Ordinal / Buchholz track.* 11 of 13 per-constructor rank-mono cases closed under the WfCNF-restricted `_<ᵇ⁻_` via the `RankPow` / `RankAdm` / `RankLex` slices. Remaining open case `<ᵇ-+1` joint-bplus has the `Ordinal.Buchholz.HeadOmega` first slice landed; rank-mono follow-ons designed. See `docs/echo-types/buchholz-rank-obstruction.adoc`.
36+
* *Ordinal / Buchholz track.* 11 of 13 per-constructor rank-mono cases closed under the WfCNF-restricted `_<ᵇ⁻_` via the `RankPow` / `RankAdm` / `RankLex` slices. Remaining open case `<ᵇ-+1` joint-bplus is in flight under the head-Ω domination route: `head-Ω` (Slice 1) + `ω-rank-pow-succ` with per-marker strict dominance at both branches (Slice 2 + Slice 2-omega) + the option-(b) head-Ω inversion lemmas (`Ordinal.Buchholz.HeadOmegaInversion`) all landed; only the WfCNF-carrier structural recursion (Slice 2-bplus) remains. See `docs/echo-types/buchholz-rank-obstruction.adoc`.
3737
* *Tutorial track (Lane 5).* Three worked walkthroughs under `tutorial/` (certified region-exit audit, epistemic erasure, provenance/debugging echo); each carries an honest-bound disclosure at the top and a matched-negative block at the bottom. The tutorial tree builds with the repo root added to the Agda include path; see `tutorial/README.adoc`.
3838
* *Establishment track (Pillar E).* Internal programme (Pillars A–D) complete since 2026-05-17. The paper (`docs/echo-types/paper.adoc`) is a living draft with remaining `[EXPAND]` tags; the venue + Zenodo + outreach plan sits in `docs/echo-types/pillar-e-offline.adoc` (author-driven).
3939

docs/echo-types/MAP.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ Staged Buchholz-style collapsing in `--safe --without-K`.
9292

9393
* Proofs: `proofs/agda/Ordinal/` (`Buchholz/`, `Brouwer`, `CNF`,
9494
`Closure`, `Psi…`, `ExtendedOrder`, `RankPow`, `RankAdm`,
95-
`RankLex`, `HeadOmega`).
95+
`RankLex`, `HeadOmega`, `HeadOmegaInversion`).
9696
* Docs: `docs/buchholz-plan.adoc`,
9797
`docs/echo-types/buchholz-extended-wf.md`,
9898
`docs/echo-types/buchholz-rank-obstruction.adoc` (per-constructor

docs/echo-types/buchholz-rank-obstruction.adoc

Lines changed: 37 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -305,18 +305,22 @@ constructors discharge by additive-principal closure.
305305
| `<ᵇ-+ψ` | ✓ closed | Same as `<ᵇ-+Ω` since `rank-pow (bpsi ν _) = ω-rank-pow ν`.
306306
| `<ᵇ⁺-ψα` | ✓ closed (Lane 3, 2026-05-26) | `rank-adm (bpsi ν α) = ω-rank-pow ν ⊕ rank-pow α`; `⊕-mono-<-right` closes the shared-Ω-index lex case from `rank-pow α <′ rank-pow β` (which the existing `_<ᵇ⁰_` umbrella discharges). Primitive `rank-mono-<ᵇ⁺-ψα-from-pow` in `Ordinal.Buchholz.RankAdm`.
307307
| `<ᵇ-ψΩ≤` | ✓ closed (Lane 3 follow-on, 2026-05-27) | Lex-pair rank `rank-lex : BT → RankLex` in `Ordinal.Buchholz.RankLex`, with `rank-lex (bOmega ν) = mkLex (ω-rank-pow ν) (ω-rank-pow ν)` and `rank-lex (bpsi ν α) = mkLex (ω-rank-pow ν) (rank-pow α)`. Both sub-cases close via `rank-mono-<ᵇ-ψΩ≤-lex`: ν<μ via `<lex-first` + `ω-rank-pow-mono`; ν=μ via `<lex-second` + the admissibility bound `rank-pow α <′ ω-rank-pow ν`. The "structurally impossible under any rank shape with `ω-rank-pow ν ≤ rank-adm (bpsi ν α)`" verdict from `RankAdm.agda` was scoped to *scalar* ranks; option (A) lex-pair sidesteps it cleanly.
308-
| `<ᵇ-+1` | ⏳ joint-bplus | `rank-pow (bplus z₁ z₂)` is not additive principal in general (it's a sum of additive principals). Discharging requires a coarser bound (e.g., dominate by `ω-rank-pow` of the leading subterm's Ω-index) or a structurally richer rank.
308+
| `<ᵇ-+1` | ⏳ joint-bplus, head-Ω route in flight | The dominator-function unblock (option A from `RankPow.agda`'s preamble) is now partially landed: `head-Ω : BT → OmegaIndex` (Slice 1, `Ordinal.Buchholz.HeadOmega`), `ω-rank-pow-succ` + per-marker strict dominance at *both* branches (Slice 2 + Slice 2-omega, `Ordinal.Buchholz.RankPow`), the unified `ω-rank-pow-<-succ`, and the option-(b) head-Ω inversion lemmas `head-Ω-inv-{bOmega,bpsi}` (`Ordinal.Buchholz.HeadOmegaInversion`). Remaining: the WfCNF-carrier structural recursion `rank-pow-dominated-by-head-Ω` (Slice 2-bplus) + the headline `rank-mono-<ᵇ-+1-via-head-Ω` discharge. No further rank-mono dependency in the bplus case — option (b) bought independence from the still-open `rank-pow-mono-≤ᵇ`.
309309
| `<ᵇ-0-+` | ✓ closed* | `rank-pow bzero = oz`, and `rank-pow (bplus x y) ≥′ oz` strictly when *either* `x` or `y` is non-`bzero` and the term is WfCNF. The degenerate `bplus bzero bzero` is excluded by WfCNF (atomic-right ≤ left forces both `bzero` and then the sum reduces to a `bzero`-shaped equivalent that doesn't pattern-match as a `bplus` under CNF normalisation — covered as a side-condition).
310310
|===
311311

312312
*Score: 11/13 constructors closed (9 under the original `rank-pow`
313313
umbrella + 1 under the `rank-adm` slice + 1 under the `rank-lex`
314-
slice); 1 deferred under an explicit blocker (`<ᵇ-+1` joint-bplus);
315-
1 closed conditionally with documented side condition. The Lane-3
316-
active-push slice on 2026-05-26 closed `<ᵇ⁺-ψα` (rank-adm) and
317-
re-classified `<ᵇ-ψΩ≤` to "encoding mismatch"; the Lane-3 follow-on
318-
slice on 2026-05-27 closed `<ᵇ-ψΩ≤` via option (A) (lex pair).
319-
Only `<ᵇ-+1` joint-bplus remains in the per-constructor matrix.*
314+
slice); 1 in flight under the head-Ω route with abstraction +
315+
per-marker dominances + inversion lemmas landed (`<ᵇ-+1` joint-bplus,
316+
Slice 2-bplus remaining); 1 closed conditionally with documented side
317+
condition. The Lane-3 active-push slice on 2026-05-26 closed `<ᵇ⁺-ψα`
318+
(rank-adm) and re-classified `<ᵇ-ψΩ≤` to "encoding mismatch"; the
319+
Lane-3 follow-on slice on 2026-05-27 closed `<ᵇ-ψΩ≤` via option (A)
320+
(lex pair); the head-Ω route landed in stages across 2026-05-27 (Slice 1,
321+
session-night PR #130 closing Slice 2, PR #131 closing Slice 2-omega +
322+
option (b) inversion). Only `<ᵇ-+1` joint-bplus remains in the
323+
per-constructor matrix.*
320324

321325
=== What remains open
322326

@@ -331,13 +335,22 @@ Only `<ᵇ-+1` joint-bplus remains in the per-constructor matrix.*
331335
case ν=μ no longer needs the additive-principal closure; the
332336
admissibility bound `rank-pow α <′ ω-rank-pow ν` discharges it
333337
directly on the second component of the lex pair.
334-
* *`<ᵇ-+1` joint-bplus*. Needs either a coarser dominator (e.g., a
335-
function `BT → OmegaIndex` returning the leading Ω-index, then
336-
rank into `ω-rank-pow ∘ leading-index`) or a richer rank shape.
337-
The remaining challenge in this constructor is the structural
338-
asymmetry: `rank-pow (bplus z₁ z₂)` lives "outside" the additive-
339-
principal closure, so the standard ω-power closure argument
340-
doesn't apply directly.
338+
* *`<ᵇ-+1` joint-bplus* — *Slice 2-bplus remaining only.* The
339+
head-Ω route's prerequisite slices are all landed: `head-Ω`
340+
(Slice 1), `ω-rank-pow-succ` + per-marker strict dominance at
341+
both branches (Slice 2 + Slice 2-omega), and the option-(b)
342+
head-Ω inversion lemmas (preserving the dependency-graph
343+
invariant that the eventual `rank-pow-dominated-by-head-Ω`
344+
doesn't depend on the still-open `rank-pow-mono-≤ᵇ`).
345+
Slice 2-bplus proves the WfCNF-carrier structural recursion
346+
`rank-pow-dominated-by-head-Ω : (t : BT) → NonBzero t → WfCNF t
347+
→ rank-pow t <′ ω-rank-pow-succ (head-Ω t)` and the headline
348+
`rank-mono-<ᵇ-+1-via-head-Ω`. The `Slice 2-omega` historical
349+
hazard (the originally-proposed `ω-rank-pow-succ ω` shape
350+
`olim (λ n → ω^(suc(suc n)))` is equi-ordinal with `ω-rank-pow ω`,
351+
so doesn't strictly dominate) is resolved by the revised shape
352+
`olim (λ n → ω-rank-pow ω ·ℕ n)` (denoting `ω^(ω+1)`) — see
353+
`RankPow.agda`'s "History note" comment block for the full record.
341354
* *Mutual recursion for `rank-pow-mono-<ᵇ⁻`*. The case-specific
342355
primitives above are individually proven, but the umbrella theorem
343356
`x <ᵇ⁻ y → rank-pow x <′ rank-pow y` needs a mutual `<ᵇ` / `≤ᵇ`
@@ -360,6 +373,16 @@ exhibited.
360373

361374
== See also
362375

376+
* `proofs/agda/Ordinal/Buchholz/HeadOmega.agda` — Slice 1; the
377+
`head-Ω : BT → OmegaIndex` leading-Ω-index head function + four
378+
per-constructor sanity lemmas.
379+
* `proofs/agda/Ordinal/Buchholz/HeadOmegaInversion.agda` — option (b)
380+
Slice 2-bplus prerequisite; `head-Ω-inv-bOmega`, `head-Ω-inv-bpsi`
381+
extracting `head-Ω` bounds from an `<ᵇ` witness without a
382+
rank-mono dependency.
383+
* `proofs/agda/Ordinal/Buchholz/RankPow.agda` — Slice 2 + Slice 2-omega;
384+
`ω-rank-pow-succ` + per-marker strict dominance at both branches +
385+
the unified `ω-rank-pow-<-succ`.
363386
* `proofs/agda/Ordinal/Buchholz/Order.agda` — the K-free core; the
364387
13 constructors that pin the syntactic order.
365388
* `proofs/agda/Ordinal/Buchholz/WellFounded.agda` — the direct

roadmap.adoc

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -202,18 +202,24 @@ separate branches.
202202
constructors closed via the budgeted route + `_<ᵇ⁰_` umbrella + Lane 3
203203
follow-ons (`<ᵇ⁺-ψα` via `RankAdm` 2026-05-26; `<ᵇ-ψΩ≤` at both
204204
`ν<μ` and the `ν=μ` boundary via `RankLex` 2026-05-27). One
205-
constructor case (`<ᵇ-+1` joint-bplus) remains open with the
206-
`Ordinal.Buchholz.HeadOmega` first slice landed 2026-05-27; rank-mono
207-
follow-ons designed in `RankPow.agda`'s preamble and the obstruction
208-
doc.
205+
constructor case (`<ᵇ-+1` joint-bplus) is in flight under the
206+
head-Ω domination route (option A from `RankPow.agda`'s preamble):
207+
the abstraction (`head-Ω` + `ω-rank-pow-succ`), the per-marker
208+
strict dominances at *both* branches, the unified `ω-rank-pow-<-succ`,
209+
and the option-(b) head-Ω inversion lemmas have all landed across
210+
PRs #124 (Slice 1, 2026-05-27 late evening), #130 (Slice 2, session
211+
night), and #131 (Slice 2-omega + inversion + ledger). Only Slice
212+
2-bplus — the WfCNF-carrier structural recursion — remains.
209213

210214
*Close-out criterion.* Either:
211215

212216
* the remaining `<ᵇ-+1` joint-bplus case closes via the head-Ω
213-
domination route (Slice 2 = `ω-rank-pow-succ` + the domination
214-
lemma; Slice 3 = the headline `rank-mono-<ᵇ-+1-via-head-Ω`;
215-
Slice 4 = full `rank-pow-mono-<ᵇ⁻` umbrella composition),
216-
unblocking full `wf-<ᵇʳᶠ`; OR
217+
domination route's Slice 2-bplus (`rank-pow-dominated-by-head-Ω`
218+
by structural recursion on WfCNF, consuming the already-landed
219+
`head-Ω-inv-{bOmega,bpsi}` + `ω-rank-pow-<-succ`; then the
220+
headline `rank-mono-<ᵇ-+1-via-head-Ω` discharge, then the full
221+
`rank-pow-mono-<ᵇ⁻` umbrella composition), unblocking full
222+
`wf-<ᵇʳᶠ`; OR
217223
* a falsifiable verdict lands stating that the unbudgeted promotion
218224
cannot close under `--safe --without-K` for the current `_<ᵇ_`,
219225
with the WfCNF-restricted `_<ᵇ⁻_` accepted as the final form.

0 commit comments

Comments
 (0)