Skip to content

Commit c5bb2a7

Browse files
claudehyperpolymath
authored andcommitted
proof(ordinal): ω-exponentiation is inflationary — α ≤′ ω^^ α (BH climb rung 3, slice 1)
Prove the non-strict inflationary law ω^^-infl : ∀ α → α ≤′ ω^^ α in Ordinal.Brouwer.OrdinalExp — the engine the Veblen φ-hierarchy needs: 'the next ε-number strictly above β' is a genuine fixed point precisely because osuc β ≤′ ω^^ (osuc β). osuc case: witness index 2 (since (ω^^ β)·ℕ 2 ≡ (oz ⊕ ω^^ β) ⊕ ω^^ β), chaining osuc β ≤′ osuc (ω^^ β) ≤′ osuc (oz ⊕ ω^^ β) ≤′ (oz ⊕ ω^^ β) ⊕ ω^^ β via osuc-mono-≤′ (IH, then X≤′oz⊕X) and ⊕-mono-≤-right (with ω^^-pos β, using Y ⊕ osuc oz ≡ osuc Y). olim case: per-branch IH + f-in-lim′. Strict α <′ ω^^ α NOT pursued — false at ε-numbers. --safe --without-K, zero postulates. Pinned in Smoke.agda; agda All.agda (193 modules) + guardrails + kernel-guard pass. Honest scope: order-type fidelity (ψ₀(Ω_ω)) remains OPEN; prerequisite for φ₁ (ε-number enumeration), next slice. https://claude.ai/code/session_01GJatEm2TVFSTBEkKXmserJ
1 parent ae7f8fb commit c5bb2a7

2 files changed

Lines changed: 38 additions & 4 deletions

File tree

proofs/agda/Ordinal/Brouwer/OrdinalExp.agda

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,12 @@
3535
-- `f-in-lim′` (+ `ω^^-pos` for the base index).
3636
--
3737
-- The *strict* inflationary `α <′ ω^^ α` is deliberately NOT pursued: it
38-
-- is FALSE exactly at the ε-numbers (ε₀ = ω^^ ε₀ is the counterexample);
39-
-- the non-strict `α ≤′ ω^^ α` holds but is not needed for the fixed point.
38+
-- is FALSE exactly at the ε-numbers (ε₀ = ω^^ ε₀ is the counterexample).
39+
--
40+
-- RUNG 3 (2026-06-18): the NON-strict inflationary `ω^^-infl : α ≤′ ω^^ α`
41+
-- IS proved below — the engine for enumerating ε-numbers (φ₁) and the
42+
-- higher Veblen φ hierarchy toward Γ₀. (`α ≤′ ω^^ α` holds everywhere,
43+
-- with equality exactly at the ε-numbers.)
4044

4145
module Ordinal.Brouwer.OrdinalExp where
4246

@@ -46,8 +50,9 @@ open import Data.Unit.Base using (tt)
4650
open import Relation.Binary.PropositionalEquality using (_≡_; refl)
4751

4852
open import Ordinal.Brouwer using (Ord; oz; osuc; olim)
49-
open import Ordinal.Brouwer.Phase13 using (_≤′_; _<′_; f-in-lim′)
50-
open import Ordinal.Brouwer.OmegaPow using (_·ℕ_; oz<′oz⊕)
53+
open import Ordinal.Brouwer.Arithmetic using (_⊕_)
54+
open import Ordinal.Brouwer.Phase13 using (_≤′_; _<′_; f-in-lim′; ≤′-trans; osuc-mono-≤′; ⊕-mono-≤-right)
55+
open import Ordinal.Brouwer.OmegaPow using (_·ℕ_; oz<′oz⊕; X≤′oz⊕X)
5156

5257
----------------------------------------------------------------------
5358
-- Ordinal exponentiation base ω
@@ -118,3 +123,31 @@ open import Ordinal.Brouwer.OmegaPow using (_·ℕ_; oz<′oz⊕)
118123
-- ε-number), packaged as bi-`≤′`.
119124
ε₀-ε-number : (ω^^ ε₀ ≤′ ε₀) × (ε₀ ≤′ ω^^ ε₀)
120125
ε₀-ε-number = ω^^-ε₀-≤ , ε₀-≤-ω^^-ε₀
126+
127+
----------------------------------------------------------------------
128+
-- ω-exponentiation is inflationary (RUNG 3 prerequisite)
129+
----------------------------------------------------------------------
130+
131+
-- `α ≤′ ω^^ α` for every α — the non-strict inflationary law. This is
132+
-- the engine the Veblen φ-hierarchy needs: "the next ε-number strictly
133+
-- above β" is a genuine fixed point only because `osuc β ≤′ ω^^ (osuc β)`.
134+
-- (The strict `α <′ ω^^ α` is FALSE at ε-numbers — ε₀ = ω^^ ε₀.)
135+
--
136+
-- * oz : `oz ≤′ _` is `⊤`.
137+
-- * osuc β : witness index 2, since `(ω^^ β) ·ℕ 2 ≡ (oz ⊕ ω^^ β) ⊕ ω^^ β`;
138+
-- chain `osuc β ≤′ osuc (ω^^ β) ≤′ osuc (oz ⊕ ω^^ β) ≤′ (oz ⊕ ω^^ β) ⊕ ω^^ β`
139+
-- via `osuc-mono-≤′` (IH, then `X≤′oz⊕X`) and right-monotonicity of `_⊕_`
140+
-- (`⊕-mono-≤-right`, using `osuc oz ≤′ ω^^ β` = `ω^^-pos β` and the
141+
-- definitional `Y ⊕ osuc oz ≡ osuc Y`).
142+
-- * olim f : per branch, IH `f n ≤′ ω^^ (f n)` then `f-in-lim′`.
143+
ω^^-infl : α α ≤′ ω^^ α
144+
ω^^-infl oz = tt
145+
ω^^-infl (osuc β) =
146+
2 , ≤′-trans {osuc β} {osuc (ω^^ β)} {(oz ⊕ ω^^ β) ⊕ ω^^ β}
147+
(osuc-mono-≤′ {β} {ω^^ β} (ω^^-infl β))
148+
(≤′-trans {osuc (ω^^ β)} {osuc (oz ⊕ ω^^ β)} {(oz ⊕ ω^^ β) ⊕ ω^^ β}
149+
(osuc-mono-≤′ {ω^^ β} {oz ⊕ ω^^ β} (X≤′oz⊕X {ω^^ β}))
150+
(⊕-mono-≤-right {oz ⊕ ω^^ β} {osuc oz} {ω^^ β} (ω^^-pos β)))
151+
ω^^-infl (olim f) =
152+
λ n ≤′-trans {f n} {ω^^ (f n)} {olim (λ k ω^^ (f k))}
153+
(ω^^-infl (f n)) (f-in-lim′ (λ k ω^^ (f k)) n)

proofs/agda/Smoke.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1183,6 +1183,7 @@ open import Ordinal.Brouwer.OrdinalExp using
11831183
; ω^^-ε₀-≤
11841184
; ε₀-≤-ω^^-ε₀
11851185
; ε₀-ε-number
1186+
; ω^^-infl
11861187
)
11871188

11881189
-- Recommended rank function for unbudgeted `wf-<ᵇʳᶠ_` per Echidna's

0 commit comments

Comments
 (0)