Commit 9f84dbf
proof(ordinal): unbudgeted sound-carrier recursive surface wf-<ᵇʳᶠ² (#212)
## What
The recursive-surface route to well-foundedness **without the ℕ
budget**, realised over the doubled-ladder sound carrier `_<ᵇ²_` instead
of native `_<ᵇ_`. New module `RecursiveSurfaceSound.agda`:
```agda
_<ᵇʳᶠ²_ : BT → BT → Set -- _<ᵇ²_ core + ψα/+2 congruences
rank2-mono-<ᵇʳᶠ² : s <ᵇʳᶠ² t → rank2 s <′ rank2 t
wf-<ᵇʳᶠ² : WellFounded _<ᵇʳᶠ²_ -- NO budget
```
## Context — this is roadmap item #1, in the only form that is
achievable
The roadmap's #1 ordinal item is "eliminate the ℕ budget from
`wf-<ᵇʳᶠᵇ`". The **global** version (over native `_<ᵇ_`) is
documented-**walled**: `RankBrouwer.agda`'s preamble +
`buchholz-rank-obstruction.adoc` record all five standard routes (rank,
direct-mutual, lex, tower, inverse-image) as blocked, because
`<ᵇʳᶠ-core` inherits native `_<ᵇ_`'s ordinal *unsoundness* (the `<ᵇ-+Ω`
counterexample `bplus bzero (bOmega (fin 1)) <ᵇ bOmega (fin 0)` admits
no rank). This session's `rank2` does **not** escape that — the same
counterexample defeats it.
The documented **"recommended next move 1"** is the WF-restricted
relation. This module realises it: building the recursive surface over
the **sound carrier `_<ᵇ²_`** makes all three cases rank2-embeddable, so
WF follows by the standard rank transport with no budget. The budget was
an artefact of native unsoundness, not of the same-binder recursion
itself.
## How
- `<ᵇʳᶠ²-core` → `rank2-mono-<ᵇ²` (this session's umbrella).
- `<ᵇʳᶠ²-ψα` → `⊕-mono-<-right` on `rank2 α <′ rank2 β` (since `rank2
(bpsi ν α) = ω-rank-pow (double ν) ⊕ rank2 α`).
- `<ᵇʳᶠ²-+2` → `⊕-mono-<-right` on `rank2 y <′ rank2 z` (since `rank2
(bplus x y) = rank2 x ⊕ rank2 y`).
The latter two are exactly the two congruence discharges the
`RankBrouwer` preamble already identified as `⊕-mono-<-right`; the
doubled ladder supplies the previously-missing core case. Then `wf-<ᵇʳᶠ²
= Subrelation.wellFounded rank2-mono-<ᵇʳᶠ² (On.wellFounded rank2
wf-<′)`.
## Honest scope
`_<ᵇʳᶠ²_` is to `_<ᵇʳᶠ_` what `_<ᵇ²_` is to native `_<ᵇ_` — the
ordinally-sound restriction. It does **not** claim the global unbudgeted
`wf-<ᵇʳᶠ` over native `_<ᵇ_` (that remains walled). Its contribution:
the recursive-surface route is well-founded *without* the ℕ budget once
the core is the sound carrier.
## Verification
- `agda -i proofs/agda proofs/agda/All.agda` exits 0 under `--safe
--without-K`.
- Headlines pinned in the Buchholz `Smoke.agda` (own block).
- Zero postulates / escape pragmas; structural recursion (no
`TERMINATING`).
https://claude.ai/code/session_017t53M7W7ubmXpwymveLcCE
---
_Generated by [Claude
Code](https://claude.ai/code/session_017t53M7W7ubmXpwymveLcCE)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 0469e91 commit 9f84dbf
3 files changed
Lines changed: 129 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
166 | 166 | | |
167 | 167 | | |
168 | 168 | | |
| 169 | + | |
169 | 170 | | |
170 | 171 | | |
171 | 172 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
521 | 521 | | |
522 | 522 | | |
523 | 523 | | |
| 524 | + | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
| 528 | + | |
| 529 | + | |
| 530 | + | |
| 531 | + | |
| 532 | + | |
524 | 533 | | |
525 | 534 | | |
526 | 535 | | |
| |||
0 commit comments