You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary
Doc-only sweep. `docs/echo-types/buchholz-rank-obstruction.adoc` claimed
in three places that "Slice 2-bplus" (the WfCNF-carrier domination
`rank-pow-dominated-by-head-Ω`) was still remaining, but it landed via
PRs #133+#134 2026-05-27 at `Ordinal.Buchholz.RankPowDomination`. Only
Slice 3 (the headline `rank-mono-<ᵇ-+1-via-head-Ω` discharge) remains in
the per-constructor matrix.
Updates:
- **Per-constructor verdict row for `<ᵇ-+1`** — verdict text now
reflects WfCNF-carrier domination side is COMPLETE; pins the headline
signature.
- **Score paragraph** — replaces stale "Slice 2-bplus remaining" with
"Slice 3 discharge remaining"; adds PR #124/#130/#131/#133+#134 stage
references.
- **"What remains open" entry for `<ᵇ-+1`** — updates to "Slice 3
headline remaining only"; notes the `NonBzero` premise turned out
unnecessary (`rank-pow bzero = oz` is strictly below `ω-rank-pow-succ
(fin 0) = ω^2`); pins the headline signature.
- **Status note** — replaces stale "3 constructors blocked" (the count
was from before `<ᵇ⁺-ψα` and `<ᵇ-ψΩ≤` closed) with accurate "11/13
closed + 1 side-cond + 1 head-Ω-route with only Slice 3 remaining".
- **See-also** — adds `RankPowDomination.agda` entry pointing at the
domination lemma + the `additive-principal-ω-rank-pow-succ` closure +
the `rank-y-bound` atomic-tail helper.
No proof / no code change; doc-only sweep aligning the obstruction
verdict with on-disk state.
## Test plan
- [x] No code touched — Smoke + All unaffected.
- [x] Diff is single-file, docs only.
Copy file name to clipboardExpand all lines: docs/echo-types/buchholz-rank-obstruction.adoc
+49-30Lines changed: 49 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -305,22 +305,23 @@ constructors discharge by additive-principal closure.
305
305
| `<ᵇ-+ψ` | ✓ closed | Same as `<ᵇ-+Ω` since `rank-pow (bpsi ν _) = ω-rank-pow ν`.
306
306
| `<ᵇ⁺-ψα` | ✓ 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`.
307
307
| `<ᵇ-ψΩ≤` | ✓ 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, 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-≤ᵇ`.
308
+
| `<ᵇ-+1` | ⏳ joint-bplus, headline `rank-mono-<ᵇ-+1-via-head-Ω` remaining (Slice 3) | The dominator-function unblock (option A from `RankPow.agda`'s preamble) is now COMPLETE on the WfCNF-carrier domination side: `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`, the option-(b) head-Ω inversion lemmas `head-Ω-inv-{bOmega,bpsi}` (`Ordinal.Buchholz.HeadOmegaInversion`), AND the WfCNF-carrier structural recursion `rank-pow-dominated-by-head-Ω : ∀ {t} → WfCNF t → rank-pow t <′ ω-rank-pow-succ (head-Ω t)` (Slice 2-bplus, `Ordinal.Buchholz.RankPowDomination` — landed via PRs #133+#134 2026-05-27). Remaining: the headline `rank-mono-<ᵇ-+1-via-head-Ω` discharge (Slice 3), consuming the domination lemma plus a head-Ω lower-bound + strict-jump bridge. No further rank-mono dependency anywhere in the chain — option (b) bought independence from the still-open `rank-pow-mono-≤ᵇ`.
309
309
| `<ᵇ-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).
310
310
|===
311
311
312
312
*Score: 11/13 constructors closed (9 under the original `rank-pow`
313
313
umbrella + 1 under the `rank-adm` slice + 1 under the `rank-lex`
314
-
slice); 1 in flight under the head-Ω route with abstraction +
0 commit comments