Commit 675a215
proof(ordinal): doubled-ladder bplus-on-left rank2-mono primitives (+Ω, +ψ, +1) — all 12 constructors (#207)
## What
Closes the per-constructor `rank2`-monotonicity family for the
**bplus-on-left** constructors of the core `_<ᵇ_` — with these, **all 12
constructors** now have a `rank2`-mono primitive. Two commits:
**1. Ω-block additive principality + `<ᵇ-+Ω`**
(`RankDoubledLadderAddPrincipal.agda`)
```agda
additive-principal-base : ∀ {B α β} → α <′ olim (λ k → B ·ℕ k)
→ β <′ olim (λ k → B ·ℕ k) → α ⊕ β <′ olim (λ k → B ·ℕ k)
additive-principal-ω-rank-pow-succ : ∀ {μ α β} → α <′ ω-rank-pow-succ μ
→ β <′ ω-rank-pow-succ μ → α ⊕ β <′ ω-rank-pow-succ μ
rank2-mono-+Ω : rank2 x <′ rank2 (bOmega μ) → rank2 y <′ rank2 (bOmega μ)
→ rank2 (bplus x y) <′ rank2 (bOmega μ)
```
The bplus-on-left constructors compare a **sum** `rank2 x ⊕ rank2 y`
against the target, so the target must absorb the sum.
`RankPow.additive-principal-ω-rank-pow` already covers the ψ-block
target; this adds the Ω-block target — fin via the clean ω-power
`ω^(suc(suc n))`, ω via `additive-principal-base` (the original proof
re-stated over an arbitrary base, since it uses only `·ℕ-add-≤ {B}` +
`⊕`-monotonicities) instantiated at `ω-rank-pow ω`.
**2. `<ᵇ-+ψ`, `<ᵇ-+1`** (`RankDoubledLadderMonoPlus2.agda`)
```agda
rank2-mono-+ψ : rank2 x <′ ω-rank-pow (double ν) → rank2 y <′ ω-rank-pow (double ν)
→ rank2 (bplus x y) <′ rank2 (bpsi ν α)
rank2-mono-+1 : rank2 (bplus x₁ x₂) <′ rank2 y₁
→ rank2 (bplus x₁ x₂) <′ rank2 (bplus y₁ y₂)
```
`+ψ` uses the ψ-block additive principality; `+1` (joint-bplus) is pure
`⊕`-left-weakening once the source sum is below the target head.
All primitives stated relation-agnostically (premises = recursive/tail
bounds), per the established RankPow discipline.
## Progress
**12 of 12** core `_<ᵇ_` constructors now have a `rank2`-mono primitive.
Remaining capstone: the umbrella `rank2-mono : WfAdm x → WfAdm y → x <ᵇ
y → rank2 x <′ rank2 y` (structural recursion discharging each
primitive's premises, with a `rank2-mono-≤` tail companion for `y ≤ᵇ
x`), then the `wf-<′`-transport headline `wf-<ᵇ`.
## Verification
- `agda -i proofs/agda proofs/agda/All.agda` exits 0 under `--safe
--without-K`.
- Headlines pinned in the Buchholz `Smoke.agda` (own blocks).
- Zero postulates / escape pragmas.
https://claude.ai/code/session_017t53M7W7ubmXpwymveLcCE
---------
Co-authored-by: Claude <noreply@anthropic.com>1 parent 3890530 commit 675a215
4 files changed
Lines changed: 242 additions & 0 deletions
File tree
- proofs/agda
- Ordinal/Buchholz
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
155 | 155 | | |
156 | 156 | | |
157 | 157 | | |
| 158 | + | |
| 159 | + | |
158 | 160 | | |
159 | 161 | | |
160 | 162 | | |
| |||
Lines changed: 136 additions & 0 deletions
| 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 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
Lines changed: 89 additions & 0 deletions
| 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 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
496 | 496 | | |
497 | 497 | | |
498 | 498 | | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
499 | 514 | | |
500 | 515 | | |
501 | 516 | | |
| |||
0 commit comments