Skip to content

Commit b6d0d18

Browse files
First-argument monotonicity; Γ₀ ≤′ φ_Γ₀(0) (BH climb rung 6) (#247)
## What & why Next rung toward ψ₀(Ω_ω) (BH order-type fidelity, open problem `D-2026-06-14`). Builds on `VeblenBinary` + `VeblenBinaryNormal` (#245/#246 — every level a normal function, the Veblen recurrence, the generic fixed-point engine). The diagonal **Γ₀** was *defined* in rung 4 with only `≤′`-upper-bound sanity. Showing it is a **fixed point** of the diagonal `D(α) = φ_α(0)` needs monotonicity of φ in its **first** argument — this rung proves the two forms the diagonal needs and uses them to close **one direction** of the Γ₀ fixed point. ## New module `Ordinal/Brouwer/VeblenBinaryMono.agda` `--safe --without-K`, **zero postulates**: | Theorem | Statement | |---|---| | `commonStep-absorb` | a fixed point of `commonStep F` is a fixed point of every family member | | `commonStep-cont` | `commonStep F` is continuous when every member is | | **`φ-mono₁-step`** | adjacent levels ordered: `φ_α x ≤′ φ_{α+1} x` | | **`φ-mono₁-into-lim`** | a level below a limit is dominated: `φ_{h m} x ≤′ φ_{olim h} x` | | **`Γ₀-prefixed`** | **`Γ₀ ≤′ φ_Γ₀(0)`** — Γ₀ is a pre-fixed point of the diagonal | Both monotonicity results rest on one mechanised idea: `φ_β(x)` is a fixed point of every lower level `φ_α`, so `φ_α x ≤′ φ_α (φ_β x) = φ_β x`. For successors the absorbing fixed point is the Veblen recurrence (`φ-level-fixed`); for limits it comes from `commonStep` correctness + `deriv-fixed-≤`. ## Honest scope This closes only the `≤′` direction **`Γ₀ ≤′ φ_Γ₀(0)`**. The reverse `φ_Γ₀(0) ≤′ Γ₀` (closure from above) and full **"Γ₀ is the *least* diagonal fixed point"** need general first-argument monotonicity / common-fixed-point-from-above and remain **OPEN** — the next slice. **ψ₀(Ω_ω) sits far above Γ₀** behind the collapsing layer; **order-type fidelity REMAINS OPEN (`D-2026-06-14`)**. No postulate closed. ## Wiring `All.agda` import; `Smoke.agda` pin block (5 headlines). ## Verification - `agda proofs/agda/All.agda` → exit 0 - `agda proofs/agda/Smoke.agda` → exit 0 - `scripts/kernel-guard.sh` → **PASS** - zero postulates; `--safe --without-K` 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01Rw1RpYXU5Q7rzy2bVofVeB --- _Generated by [Claude Code](https://claude.ai/code/session_01Rw1RpYXU5Q7rzy2bVofVeB)_ Co-authored-by: Claude <noreply@anthropic.com>
1 parent ba09ef1 commit b6d0d18

3 files changed

Lines changed: 145 additions & 0 deletions

File tree

proofs/agda/All.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ open import Ordinal.Brouwer.VeblenPhi
124124
open import Ordinal.Brouwer.VeblenPhiNormal -- φ₁ a normal function; next-ε β LEAST ε-number above β
125125
open import Ordinal.Brouwer.VeblenBinary -- binary Veblen φ_α(β) + the diagonal Γ₀
126126
open import Ordinal.Brouwer.VeblenBinaryNormal -- every φ_α a normal function; φ_{α+1} enumerates fixed points of φ_α
127+
open import Ordinal.Brouwer.VeblenBinaryMono -- first-arg monotonicity; Γ₀ ≤′ φ_Γ₀(0) (diagonal pre-fixed point)
127128
open import Ordinal.Brouwer.StrictLeftMonoRefuted
128129
open import Ordinal.Brouwer.AdditivePrincipalGenericRefuted
129130
open import Ordinal.Buchholz.Syntax
Lines changed: 127 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
-- SPDX-License-Identifier: MPL-2.0
3+
-- SPDX-FileCopyrightText: 2025-2026 Jonathan D.A. Jewell <j.d.a.jewell@open.ac.uk>
4+
5+
-- Binary Veblen — RUNG 6: first-argument monotonicity (toward Γ₀ as a
6+
-- diagonal fixed point). Target-side climb toward ψ₀(Ω_ω) (BH order-type
7+
-- fidelity, open problem D-2026-06-14). Builds on `VeblenBinary` and
8+
-- `VeblenBinaryNormal` (every level a normal function; the Veblen
9+
-- recurrence; the generic fixed-point engine). 2026-06-20.
10+
--
11+
-- ## What this slice adds
12+
--
13+
-- The diagonal Γ₀ = φ_0(0), φ_{φ_0(0)}(0), … was DEFINED in `VeblenBinary`
14+
-- with only `≤′`-upper-bound sanity. Showing it is a FIXED POINT of the
15+
-- diagonal map D(α) = φ_α(0) needs monotonicity of φ in its FIRST
16+
-- argument. This slice proves the two forms of first-argument
17+
-- monotonicity that the diagonal needs, and uses them to close ONE
18+
-- direction of the Γ₀ fixed point:
19+
--
20+
-- * `φ-mono₁-step` — adjacent levels are ordered: φ_α x ≤′ φ_{α+1} x.
21+
-- * `φ-mono₁-into-lim` — a level below a limit is dominated by the limit
22+
-- level: φ_{h m} x ≤′ φ_{olim h} x.
23+
-- * `Γ₀-prefixed` — Γ₀ ≤′ φ_Γ₀(0): Γ₀ is a pre-fixed point of the
24+
-- diagonal (φ_Γ₀(0) is at least Γ₀).
25+
--
26+
-- Both monotonicity results rest on the SAME idea, now mechanised: the
27+
-- value φ_β(x) is a fixed point of every lower level φ_α (α below β), so
28+
-- φ_α x ≤′ φ_α (φ_β x) [φ_α monotone, x ≤′ φ_β x]
29+
-- = φ_β x [φ_β x is a fixed point of φ_α].
30+
-- For the successor case the absorbing fixed point is `φ-level-fixed`
31+
-- (rung 5); for the limit case it is supplied by `commonStep`
32+
-- correctness: a fixed point of `commonStep F` is a common fixed point of
33+
-- every family member (`commonStep-absorb`), and `deriv` lands on such a
34+
-- fixed point (`deriv-fixed-≤` + `commonStep-cont`).
35+
--
36+
-- ## Honest scope (still a LONG climb)
37+
--
38+
-- This closes the `≤′` direction `Γ₀ ≤′ φ_Γ₀(0)` only. The reverse
39+
-- `φ_Γ₀(0) ≤′ Γ₀` (closure from above) and full "Γ₀ is the LEAST diagonal
40+
-- fixed point" need general first-argument monotonicity / common-fixed-
41+
-- point-from-above and remain OPEN — the next slice. ψ₀(Ω_ω) sits far
42+
-- above Γ₀ behind the ordinal-collapsing layer; order-type fidelity
43+
-- REMAINS OPEN (D-2026-06-14). No postulate is closed.
44+
45+
module Ordinal.Brouwer.VeblenBinaryMono where
46+
47+
open import Data.Nat.Base using (ℕ; zero; suc)
48+
open import Relation.Binary.PropositionalEquality using (refl)
49+
50+
open import Ordinal.Brouwer using (Ord; oz; osuc; olim)
51+
open import Ordinal.Brouwer.Phase13
52+
using (_≤′_; ≤′-trans; ≤′-zero; f-in-lim′)
53+
open import Ordinal.Brouwer.VeblenBinary
54+
using (φ; deriv; commonStep; Γ₀; Γ-tower; φ-cont)
55+
open import Ordinal.Brouwer.VeblenBinaryNormal
56+
using (≡→≤′; φ-mono₂; φ-infl; deriv-fixed-≤; φ-level-fixed-≤)
57+
58+
----------------------------------------------------------------------
59+
-- commonStep correctness.
60+
----------------------------------------------------------------------
61+
62+
-- A pre-fixed point of `commonStep F` is a pre-fixed point of every
63+
-- family member: F m y ≤′ commonStep F y ≤′ y. One step, via the
64+
-- supremum embedding.
65+
commonStep-absorb :
66+
(F : Ord Ord) (m : ℕ) {y : Ord}
67+
commonStep F y ≤′ y F m y ≤′ y
68+
commonStep-absorb F m {y} p =
69+
≤′-trans {F m y} {commonStep F y} {y} (f-in-lim′ (λ n F n y) m) p
70+
71+
-- `commonStep F` is continuous (in the `≤′` form `deriv-fixed-≤` wants)
72+
-- when every family member is.
73+
commonStep-cont :
74+
(F : Ord Ord)
75+
(Fc : n k F n (olim k) ≤′ olim (λ m F n (k m)))
76+
k commonStep F (olim k) ≤′ olim (λ m commonStep F (k m))
77+
commonStep-cont F Fc k = λ n
78+
≤′-trans {F n (olim k)} {olim (λ m F n (k m))} {olim (λ m commonStep F (k m))}
79+
(Fc n k)
80+
(λ m ≤′-trans {F n (k m)} {commonStep F (k m)} {olim (λ m′ commonStep F (k m′))}
81+
(f-in-lim′ (λ n′ F n′ (k m)) n)
82+
(f-in-lim′ (λ m′ commonStep F (k m′)) m))
83+
84+
----------------------------------------------------------------------
85+
-- First-argument monotonicity.
86+
----------------------------------------------------------------------
87+
88+
-- Adjacent levels are ordered. φ_{α+1} x is a fixed point of φ_α
89+
-- (`φ-level-fixed-≤`), so φ_α x ≤′ φ_α (φ_{α+1} x) = φ_{α+1} x.
90+
φ-mono₁-step : α x φ α x ≤′ φ (osuc α) x
91+
φ-mono₁-step α x =
92+
≤′-trans {φ α x} {φ α (φ (osuc α) x)} {φ (osuc α) x}
93+
(φ-mono₂ α {x} {φ (osuc α) x} (φ-infl (osuc α) x))
94+
(φ-level-fixed-≤ α x)
95+
96+
-- A level below a limit is dominated by the limit level. φ_{olim h} x is
97+
-- a fixed point of `commonStep (n ↦ φ_{h n})`, hence (by
98+
-- `commonStep-absorb`) a fixed point of each φ_{h m}; so
99+
-- φ_{h m} x ≤′ φ_{h m} (φ_{olim h} x) = φ_{olim h} x.
100+
φ-mono₁-into-lim : h m x φ (h m) x ≤′ φ (olim h) x
101+
φ-mono₁-into-lim h m x =
102+
≤′-trans {φ (h m) x} {φ (h m) (φ (olim h) x)} {φ (olim h) x}
103+
(φ-mono₂ (h m) {x} {φ (olim h) x} (φ-infl (olim h) x))
104+
(commonStep-absorb F m {φ (olim h) x} prefixed)
105+
where
106+
F = λ n φ (h n)
107+
-- φ (olim h) x = deriv (commonStep F) x, and `deriv` lands on a fixed
108+
-- point of `commonStep F` (the ≤′ direction).
109+
prefixed : commonStep F (φ (olim h) x) ≤′ φ (olim h) x
110+
prefixed =
111+
deriv-fixed-≤ (commonStep F)
112+
(commonStep-cont F (λ n k ≡→≤′ (φ-cont (h n) k))) x
113+
114+
----------------------------------------------------------------------
115+
-- Γ₀ is a pre-fixed point of the diagonal D(α) = φ_α(0).
116+
--
117+
-- Γ₀ = olim Γ-tower, and each successor approximant
118+
-- Γ-tower (suc m) = φ_{Γ-tower m}(0) is ≤′ φ_{olim Γ-tower}(0) = φ_Γ₀(0)
119+
-- by `φ-mono₁-into-lim`. So the supremum Γ₀ is ≤′ φ_Γ₀(0).
120+
----------------------------------------------------------------------
121+
122+
Γ₀-prefixed : Γ₀ ≤′ φ Γ₀ oz
123+
Γ₀-prefixed = go
124+
where
125+
go : n Γ-tower n ≤′ φ Γ₀ oz
126+
go zero = ≤′-zero {φ Γ₀ oz}
127+
go (suc m) = φ-mono₁-into-lim Γ-tower m oz

proofs/agda/Smoke.agda

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,6 +1309,23 @@ open import Ordinal.Brouwer.VeblenBinaryNormal using
13091309
; φ-level-fixed-≥
13101310
)
13111311

1312+
-- Binary Veblen rung 6 (2026-06-20, own block per CLAUDE.md Working
1313+
-- rules): first-argument monotonicity toward Γ₀ as a diagonal fixed
1314+
-- point. `φ-mono₁-step` (adjacent levels ordered) + `φ-mono₁-into-lim`
1315+
-- (a level below a limit is dominated by the limit level) rest on the
1316+
-- Veblen recurrence + `commonStep` correctness (`commonStep-absorb` /
1317+
-- `commonStep-cont`). `Γ₀-prefixed` closes ONE direction of the diagonal
1318+
-- fixed point: Γ₀ ≤′ φ_Γ₀(0). The reverse direction + "Γ₀ is LEAST"
1319+
-- remain the next slice; order-type fidelity ψ₀(Ω_ω) REMAINS OPEN
1320+
-- (D-2026-06-14).
1321+
open import Ordinal.Brouwer.VeblenBinaryMono using
1322+
( commonStep-absorb -- fixed point of commonStep F ⇒ fixed point of each F m
1323+
; commonStep-cont -- commonStep F continuous when each member is
1324+
; φ-mono₁-step -- φ_α x ≤′ φ_{α+1} x (adjacent levels)
1325+
; φ-mono₁-into-lim -- φ_{h m} x ≤′ φ_{olim h} x (level below a limit)
1326+
; Γ₀-prefixed -- Γ₀ ≤′ φ_Γ₀(0): Γ₀ is a diagonal pre-fixed point
1327+
)
1328+
13121329
-- Recommended rank function for unbudgeted `wf-<ᵇʳᶠ_` per Echidna's
13131330
-- design search; transport theorem deferred until Phase 1.3 lemmas land.
13141331
open import Ordinal.Buchholz.RankBrouwer using

0 commit comments

Comments
 (0)