Skip to content

Commit bde0852

Browse files
committed
Add pedagogical psi least-gap lemmas and smoke pins
1 parent 4e76343 commit bde0852

3 files changed

Lines changed: 46 additions & 0 deletions

File tree

proofs/agda/All.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,5 +23,6 @@ open import EchoScope
2323
open import Ordinal.Base
2424
open import Ordinal.Closure
2525
open import Ordinal.CNF
26+
open import Ordinal.PsiSimple
2627

2728
open import Smoke

proofs/agda/Ordinal/PsiSimple.agda

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
3+
-- Stage S0 / Milestone E4 of docs/buchholz-plan.adoc.
4+
--
5+
-- Pedagogical least-gap shape for the toy ψ constructor over the
6+
-- ℕ-staged closure family `C` from Ordinal.Closure.
7+
--
8+
-- `psi-notin-C` captures the exclusion side at stage 0:
9+
-- no ψ-term is generable at stage 0 because `c-psi` requires an
10+
-- earlier stage `k < m`.
11+
--
12+
-- `psi-least` captures the minimal-stage side:
13+
-- whenever `psi β` is generable at stage `m`, we must have `1 ≤ m`.
14+
-- Together with `psi-at-1` (from a stage-0 witness for β), this gives
15+
-- the expected "first appears at stage 1" pattern.
16+
17+
module Ordinal.PsiSimple where
18+
19+
open import Data.Nat.Base using (ℕ; _≤_; z≤n; s≤s)
20+
open import Data.Nat.Properties using (≤-trans)
21+
open import Relation.Nullary using (¬_)
22+
23+
open import Ordinal.Base using (OT; psi)
24+
open import Ordinal.Closure using (C; c-psi)
25+
26+
-- Exclusion side: no ψ-term can be in stage 0.
27+
28+
psi-notin-C : {β} ¬ C 0 (psi β)
29+
psi-notin-C (c-psi () _)
30+
31+
-- Construction side at the first non-zero stage, assuming β is already
32+
-- in stage 0.
33+
34+
psi-at-1 : {β} C 0 β C 1 (psi β)
35+
psi-at-1 cβ = c-psi (s≤s z≤n) cβ
36+
37+
-- Minimality side: any stage that contains `psi β` is at least 1.
38+
39+
psi-least : {β m} C 0 β C m (psi β) 1 ≤ m
40+
psi-least _ (c-psi k<m _) = ≤-trans (s≤s z≤n) k<m

proofs/agda/Smoke.agda

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,8 @@ open import Ordinal.CNF using
9292
; <ᶜ-trans
9393
; cnf-trichotomy
9494
)
95+
96+
open import Ordinal.PsiSimple using
97+
( psi-notin-C
98+
; psi-least
99+
)

0 commit comments

Comments
 (0)