Skip to content

Commit f5f879e

Browse files
hyperpolymathclaude
andcommitted
docs: rung-state + roadmap update for the ω-power rank-mono session
## CLAUDE.md Adds a new "Session arc 2026-05-20 evening — ω-power rank-mono unblock" section under the "Current rung state" heading. Records all 8 slices (5 ω-power infrastructure + 3 follow-on items), the narrowed "10 of 13 constructors" verdict, and the 3-cases-open follow-on plan ordered by priority: 1. ψ-admissibility rank refinement (closes 2 of 3 open cases). 2. Leading-Ω-index domination (closes the 3rd, `<ᵇ-+1` general). 3. Full `rank-pow-mono-<ᵇ⁻` umbrella over `_<ᵇ⁻_`. Also relabels the legacy 2026-05-17 section to "(legacy — read second)" to make the new entry the primary handoff for fresh sessions. ## docs/echo-types/roadmap.md Item 4 (unbudgeted `_<ᵇʳᶠ_` WF) goes from "CLOSED-IMPOSSIBLE" back to **"VERDICT NARROWED"** — the "closed impossible" verdict held for *unrestricted* `_<ᵇ_` but opens up under the WfCNF restriction `_<ᵇ⁻_` with limit-shaped ω-power rank. Updated entry references PR #87, identifies the 3 open cases with their blockers, and points to the keystone `additive-principal` lemma at `ω^(suc n)`. Build invariant held: `agda proofs/agda/All.agda` and `agda proofs/agda/Smoke.agda` exit 0 under `--safe --without-K`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 5900455 commit f5f879e

2 files changed

Lines changed: 149 additions & 13 deletions

File tree

CLAUDE.md

Lines changed: 122 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -191,9 +191,128 @@ work to `main` and refresh all documentation:
191191
name, the commits folded in, the remaining open pieces of the
192192
milestone, and the proposed smallest useful next advance.
193193

194-
## Current rung state (2026-05-17)
195-
196-
### Session arc 2026-05-17 (read this first)
194+
## Current rung state (2026-05-20)
195+
196+
### Session arc 2026-05-20 evening — ω-power rank-mono unblock (read this first)
197+
198+
*Where we started today (commit `8c9ddcb` on `harden/ci-flake-pin-2026-05-18`):*
199+
the ordinal track had the WfCNF predicate plus the `_<ᵇ⁻_` subrelation
200+
foundations from the earlier session. The rank-embedding route to
201+
unbudgeted `wf-<ᵇʳᶠ_` was framed as "closed impossible" in
202+
`docs/echo-types/buchholz-rank-obstruction.adoc` — the
203+
`<ᵇ-+Ω <ᵇ-0-Ω : bplus bzero (bOmega (fin 1)) <ᵇ bOmega (fin 0)`
204+
counterexample forced a rank inversion under additive Brouwer rank
205+
with `nat-to-ord` successor-stack `ω-rank`. 4 of 13 constructors
206+
admitted rank-mono via `RankPartial.agda`; 9 were structurally
207+
walled.
208+
209+
*Where we ended (PR #87, branch `session-2026-05-20/buchholz-budgeted-plus`,
210+
23 commits ahead of `8c9ddcb`):* the "closed impossible" verdict is
211+
**narrowed** — under the WfCNF restriction `_<ᵇ⁻_` together with a
212+
*limit-shaped* ω-power rank, **10 of 13 constructors close** via
213+
relation-agnostic compositional primitives. 3 cases remain open
214+
under documented structural blockers (ψ-admissibility, joint-bplus).
215+
216+
Eight slices landed in order, each with `agda proofs/agda/All.agda`
217+
and `agda proofs/agda/Smoke.agda` exiting 0 under `--safe --without-K`,
218+
zero postulates, zero escape pragmas, no funext:
219+
220+
1. **Slice 1**`Ordinal.Brouwer.OmegaPow.agda` lands `_·ℕ_`, `ω^_`,
221+
basic identifications (`ω^0≡one`, `one·ℕ≡nat-to-ord`,
222+
`·ℕ-zero`, `·ℕ-suc`), positivity `ω^_-pos`, one-step strict-mono
223+
`ω^-strict-mono-suc`, weakening `ω^-step`.
224+
2. **Slice 2** — left-monotonicity of `_⊕_` (`⊕-mono-≤-left` in
225+
`Phase13.agda`) + `·ℕ-mono-≤-left`, `ω^-mono-≤`, `ω^-strict-mono`
226+
(general gap). Block comment in Phase13 documenting why strict
227+
left-mono of `_⊕_` is *not* a theorem (the `α + ω = β + ω`
228+
counterexample).
229+
3. **Slice 3**`⊕-assoc-≤` / `⊕-assoc-≥` (both funext-free `≤′`
230+
directions in Phase13), `·ℕ-add-≤` bridge, and the keystone
231+
**`additive-principal`** at `ω^(suc n)`. The closure-under-addition
232+
property that makes ω-powers the right rank target for plus-side
233+
`_<ᵇ_` constructors.
234+
4. **Slice 4**`Ordinal.Buchholz.RankPow.agda`: limit-shaped
235+
`ω-rank-pow : OmegaIndex → Ord` (`fin n ↦ ω^(suc n)`), `rank-pow :
236+
BT → Ord` consuming it, plus reusable compositional primitives
237+
(`rank-pow-bplus-right-mono`, `rank-pow-via-left`,
238+
`rank-pow-bplus-into-ω-rank-pow`, `additive-principal-ω-rank-pow`).
239+
5. **Slice 5** — 9 per-constructor rank-mono primitives in RankPow:
240+
`rank-mono-<ᵇ-0-Ω/0-ψ/ΩΩ/Ωψ/ψΩ/Ω+/ψ+/+Ω/+ψ`. Each stated purely
241+
in terms of rank inequalities (not the relation), so both `<ᵇ⁻`
242+
and `<ᵇʳᶠ` consumers reuse them by pattern-matching on their own
243+
relation's constructor.
244+
6. **Item 1**`rank-mono-<ᵇ-+1-via-target` parametric in the
245+
target's additive-principal witness; `rank-mono-<ᵇ-+1-Ω-target`
246+
and `rank-mono-<ᵇ-+1-ψ-target` convenience wrappers. Closes
247+
`<ᵇ-+1` for atomic targets; bplus-target sub-case explicitly
248+
deferred.
249+
7. **Item 2**`Ordinal.Buchholz.WellFormedAdmissible.agda` lands
250+
`WfAdm : BT → Set` strengthening WfCNF with `rank-pow α <′
251+
ω-rank-pow ν` on each `bpsi ν α`. Carrier only; rank refinement
252+
for `<ᵇ-ψα` / `<ᵇ-ψΩ≤` discharge deferred (cross-case interaction
253+
with `<ᵇ-+ψ` documented in the module preamble).
254+
8. **Item 3**`Ordinal.Buchholz.RankMonoUmbrella.agda`: the
255+
rank-soundness-ready relation `_<ᵇ⁰_` with 10 constructors
256+
(tail-bounds baked in via `_≤ᵇ⁰_`) plus the umbrella theorem
257+
**`rank-pow-mono-<ᵇ⁰ : x <ᵇ⁰ y → rank-pow x <′ rank-pow y`**
258+
proved by direct structural recursion over the 10 cases.
259+
260+
*Closure-doc update*: `docs/echo-types/buchholz-rank-obstruction.adoc`
261+
gains a "Slices 1–5 of the ω-power unblock" section with an updated
262+
per-constructor verdict table (10 closed / 3 open). The "rank-
263+
embedding route is closed" framing is narrowed: closed for
264+
unrestricted `_<ᵇ_`, opens up under the WfCNF restriction with
265+
limit-shaped rank.
266+
267+
**Open work on this track (documented blockers):**
268+
269+
* `<ᵇ-ψα`, `<ᵇ-ψΩ≤` — provisional `rank-pow (bpsi ν _) = ω-rank-pow ν`
270+
doesn't discriminate on α. Closed by ψ-admissibility predicate
271+
(carrier landed in Item 2); the rank refinement is a separate
272+
slice that needs to resolve the `<ᵇ-+ψ` cross-case.
273+
* `<ᵇ-+1` joint-bplus — `rank-pow (bplus z₁ z₂)` is not additive
274+
principal in general. Needs a coarser dominator function (e.g.,
275+
`leading-Ω-index : BT → OmegaIndex` returning the leftmost-deepest
276+
Ω-marker) or a richer rank shape.
277+
* `rank-pow-mono-<ᵇ⁻` (full umbrella over `_<ᵇ⁻_` — gated on the
278+
above two). The 10-of-13 `_<ᵇ⁰_` umbrella is the working closure;
279+
consumers needing the full `_<ᵇ⁻_` form bridge through the
280+
3-cases-open gap.
281+
282+
Build invariant held every slice: `All.agda` + `Smoke.agda` exit 0
283+
under `--safe --without-K`, zero postulates, zero escape pragmas, no
284+
funext. All headlines pinned in `Smoke.agda` (or
285+
`Ordinal/Buchholz/Smoke.agda` for the Buchholz-layer modules).
286+
287+
**Reusable design constraint**: Per a parallel-session note on
288+
`_<ᵇʳᶠ_`, the rank-mono primitives are stated *relation-agnostically*
289+
(rank-input, rank-output, no `<ᵇ` constructor patterns). Both the
290+
`_<ᵇ⁻_` consumer (this track) and the `_<ᵇʳᶠ_` consumer (parallel
291+
session's wf-`<ᵇʳᶠ` milestone) can pattern-match on their own
292+
relation's constructor and apply the matching primitive.
293+
294+
*Plan for the next Claude:* PR #87 is the deliverable. Closure
295+
work continues in three follow-ons, prioritised:
296+
297+
1. **ψ-admissibility rank refinement** (closes `<ᵇ-ψα`, `<ᵇ-ψΩ≤`,
298+
2 of 3 open cases). Define `rank-adm : BT → Ord` using
299+
`ω-rank-pow ν ⊕ rank-pow α` for ψ under WfAdm. Cross-case fix
300+
for `<ᵇ-+ψ`: under admissibility, source-rank is bounded by
301+
`ω-rank-pow ν` (the structural admissibility-source-bound lemma).
302+
2. **Leading-Ω-index domination** (closes `<ᵇ-+1` general). Define
303+
`head-Ω : BT → OmegaIndex` returning the leftmost-deepest Ω
304+
marker. Prove `rank-pow t <′ ω-rank-pow-succ (head-Ω t)` for
305+
non-bzero WfCNF terms. Then `<ᵇ-+1` discharges via head-Ω
306+
inversion + additive-principal at the head-Ω's successor.
307+
3. **Full `rank-pow-mono-<ᵇ⁻` umbrella** — composition of 1+2
308+
with the existing 10-constructor `_<ᵇ⁰_` umbrella.
309+
310+
DO NOT reopen: the closed 10 constructors (their primitives are
311+
correct under WfCNF); the unbudgeted `_<ᵇʳᶠ_` rank route per
312+
`RankBrouwer.agda` preamble (genuinely impossible for unrestricted
313+
`_<ᵇ_`). The umbrella works on `_<ᵇ⁰_`, not on `_<ᵇ_` directly.
314+
315+
### Session arc 2026-05-17 (legacy — read second)
197316

198317
*Where we started today (commit `8a2b908`):* the establishment
199318
track was a plan plus scaffolds — Pillar A landed; Pillars B–D were

docs/echo-types/roadmap.md

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -272,16 +272,33 @@ tractable today:
272272
Σ-shapes (`Echo-comp-pent-Σ-assoc-{to, from, from-to, to-from}` +
273273
equivalence-record packaging `Echo-comp-pent-Σ-assoc : ... ↔ ...`)
274274
are both in `Echo.agda`. All pinned in `Smoke.agda`.
275-
4. ~~**Agda: unbudgeted `_<ᵇʳᶠ_` WF on the ordinal track**~~
276-
**CLOSED-IMPOSSIBLE 2026-05-20.** Eliminating the explicit ℕ
277-
budget from `wf-<ᵇʳᶠᵇ` (or analogously `wf-<ᵇ⁺ᵇ`, newly landed)
278-
is structurally impossible for the current `_<ᵇ_`. See
279-
`buchholz-rank-obstruction.adoc``<ᵇ-+Ω`'s ordinal unsoundness
280-
refutes every rank/measure/tower/inverse-image route. Recovery
281-
needs WF-restriction of `_<ᵇ_` or a non-additive denotational
282-
measure (both substantial). Until either is committed to, the
283-
budgeted forms (`_<ᵇʳᶠᵇ_`, `_<ᵇ⁺ᵇ_`) are the canonical
284-
well-founded carriers; downstream consumers should use them.
275+
4. **Agda: unbudgeted `_<ᵇʳᶠ_` WF on the ordinal track**
276+
**VERDICT NARROWED 2026-05-20 evening.** The "closed impossible"
277+
framing held for *unrestricted* `_<ᵇ_`. Under the WfCNF
278+
restriction `_<ᵇ⁻_` together with a limit-shaped *ω-power* rank
279+
(`Ordinal.Brouwer.OmegaPow` + `Ordinal.Buchholz.RankPow`), the
280+
path-1 closure is now **10 of 13 constructors** via
281+
relation-agnostic rank-mono primitives (PR #87). The umbrella
282+
theorem `rank-pow-mono-<ᵇ⁰ : x <ᵇ⁰ y → rank-pow x <′ rank-pow y`
283+
lives in `Ordinal.Buchholz.RankMonoUmbrella`; consumers
284+
(whether `_<ᵇ⁻_` or `_<ᵇʳᶠ_` based) construct `_<ᵇ⁰_`
285+
derivations and apply the umbrella.
286+
287+
**3 cases remain open** under documented structural blockers
288+
(see `buchholz-rank-obstruction.adoc` for the per-constructor
289+
verdict table):
290+
* `<ᵇ-ψα`, `<ᵇ-ψΩ≤` — ψ-admissibility predicate carrier landed
291+
(`Ordinal.Buchholz.WellFormedAdmissible.WfAdm`); rank-refinement
292+
for the discharge is a follow-on slice with a `<ᵇ-+ψ`
293+
cross-case to manage.
294+
* `<ᵇ-+1` joint-bplus — `rank-pow (bplus z₁ z₂)` is not additive
295+
principal in general. Needs a coarser dominator (e.g.,
296+
`leading-Ω-index : BT → OmegaIndex`).
297+
298+
The keystone is the **additive-principal lemma at ω^(suc n)**
299+
(`Ordinal.Brouwer.OmegaPow.additive-principal`). Budgeted forms
300+
(`_<ᵇʳᶠᵇ_`, `_<ᵇ⁺ᵇ_`) remain the canonical well-founded
301+
carriers until the 3-case gap closes.
285302
5. **Gate 1 adjacency refresh against the new taxonomy** — 1 day.
286303
Cheap coherence pass on existing docs. Cross-check each of the
287304
13 notes in `docs/adjacency/` against the 8 axes in `taxonomy.md`

0 commit comments

Comments
 (0)