diff --git a/proofs/agda/All.agda b/proofs/agda/All.agda index 190b75f..1adbc63 100644 --- a/proofs/agda/All.agda +++ b/proofs/agda/All.agda @@ -134,6 +134,7 @@ open import Ordinal.Buchholz.RankPartial open import Ordinal.Buchholz.RankPow open import Ordinal.Buchholz.RankAdm open import Ordinal.Buchholz.RankLex +open import Ordinal.Buchholz.RankLexSlice3 open import Ordinal.Buchholz.HeadOmega open import Ordinal.Buchholz.HeadOmegaInversion open import Ordinal.Buchholz.RankPowDomination diff --git a/proofs/agda/Ordinal/Buchholz/RankLexSlice3.agda b/proofs/agda/Ordinal/Buchholz/RankLexSlice3.agda new file mode 100644 index 0000000..a097769 --- /dev/null +++ b/proofs/agda/Ordinal/Buchholz/RankLexSlice3.agda @@ -0,0 +1,233 @@ +{-# OPTIONS --safe --without-K #-} + +-- Lex-rank companion to the Slice 3 head-Ω discharge, covering the +-- bpsi-source-at-equality sub-case of `<ᵇ-+1` joint-bplus, 2026-05-28. +-- +-- ## Where this sits +-- +-- The Slice 3 headline `Ordinal.Buchholz.RankPowSlice3Headline. +-- rank-mono-<ᵇ-+1-via-head-Ω` discharges `bplus x₁ x₂ <ᵇ bplus y₁ y₂` +-- (from `x₁ <ᵇ y₁`) UNDER A STRICT-HEAD PREMISE `head-Ω x₁ <Ω head-Ω y₁`. +-- The premise is supplied externally by the umbrella's case-split: +-- +-- * x₁ = bOmega μ : `head-Ω-inv-bOmega` gives `μ <Ω head-Ω y₁` +-- directly (STRICT for all three Ω-source +-- constructors). Slice 3 closes. +-- * x₁ = bpsi ν α : `head-Ω-inv-bpsi` gives `ν ≤Ω head-Ω y₁` +-- (NON-STRICT — `<ᵇ-ψΩ≤` permits equal markers). +-- Strict sub-case (`ν <Ω head-Ω y₁`) closes +-- via Slice 3. EQUALITY sub-case +-- (`ν ≡ head-Ω y₁`) is THIS MODULE'S TERRITORY. +-- * x₁ = bplus a b : recurse on the leftmost-leaf shape; reduces to +-- one of the above two atomic cases. +-- +-- This module handles the bpsi-source-at-equality remainder via the +-- existing lex-pair rank `rank-lex` from `Ordinal.Buchholz.RankLex` +-- (whose second component carries `rank-pow α` for the ψ case) plus +-- the existing admissibility-aware rank `rank-adm` from +-- `Ordinal.Buchholz.RankAdm`. +-- +-- ## What this slice closes (the lex headline) +-- +-- The headline: +-- +-- rank-mono-<ᵇ-+1-via-rank-lex : ∀ {ν α β x₂ y₂} +-- → rank-pow α <′ rank-pow β -- second-component lex witness +-- → rank-lex (bplus (bpsi ν α) x₂)