Skip to content

Commit 2cc3235

Browse files
committed
Add top-marker +/psi bridge in order and WF predecessor
1 parent c516191 commit 2cc3235

2 files changed

Lines changed: 16 additions & 6 deletions

File tree

proofs/agda/Ordinal/Buchholz/Order.agda

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ open import Ordinal.OmegaMarkers using
4646
; _≤Ω_
4747
; _<Ω_
4848
; ω
49+
; ω≤ω
4950
; fin
5051
; <Ω-irrefl
5152
; <Ω-trans
@@ -80,6 +81,7 @@ data _<ᵇ_ : BT → BT → Set where
8081
-- same `--without-K` reason as `<ᵇ-ψα` above: its natural shape
8182
-- `bplus x y₂ <ᵇ bplus x z₂` shares the binder `x` on both sides.
8283
<ᵇ-+ω : {x y} x <ᵇ bOmega ω bplus x y <ᵇ bOmega ω
84+
<ᵇ-+ψω : {x y α} x <ᵇ bpsi ω α bplus x y <ᵇ bpsi ω α
8385
<ᵇ-+1 : {x₁ x₂ y₁ y₂} x₁ <ᵇ y₁ bplus x₁ x₂ <ᵇ bplus y₁ y₂
8486

8587
infix 4 _<ᵇ_
@@ -116,6 +118,7 @@ infix 4 _<ᵇ_
116118
-- Left leg: <ᵇ-0-+ (x = bzero, y = bplus _ _)
117119
<ᵇ-trans <ᵇ-0-+ (<ᵇ-+1 _) = <ᵇ-0-+
118120
<ᵇ-trans <ᵇ-0-+ (<ᵇ-+ω _) = <ᵇ-0-Ω
121+
<ᵇ-trans <ᵇ-0-+ (<ᵇ-+ψω _) = <ᵇ-0-ψ
119122
-- Left leg: <ᵇ-0-ψ (x = bzero, y = bpsi _ _)
120123
<ᵇ-trans <ᵇ-0-ψ (<ᵇ-ψΩ _) = <ᵇ-0-ψ
121124
-- Left leg: <ᵇ-ΩΩ (x = bOmega _, y = bOmega _)
@@ -132,6 +135,9 @@ infix 4 _<ᵇ_
132135
-- Left leg: <ᵇ-+1 (x = bplus _ _, y = bplus _ _)
133136
<ᵇ-trans (<ᵇ-+1 p) (<ᵇ-+1 q) = <ᵇ-+1 (<ᵇ-trans p q)
134137
<ᵇ-trans (<ᵇ-+1 p) (<ᵇ-+ω q) = <ᵇ-+ω (<ᵇ-trans p q)
138+
<ᵇ-trans (<ᵇ-+1 p) (<ᵇ-+ψω q) = <ᵇ-+ψω (<ᵇ-trans p q)
139+
-- Left leg: <ᵇ-+ψω (x = bplus _ _, y = bpsi ω _)
140+
<ᵇ-trans (<ᵇ-+ψω p) (<ᵇ-ψΩ≤ ω≤ω) = <ᵇ-+ω (<ᵇ-trans p (<ᵇ-ψΩ≤ ω≤ω))
135141
-- Right leg: <ᵇ-ψΩ≤ (y = bpsi _ _, z = bOmega _)
136142
<ᵇ-trans <ᵇ-0-ψ (<ᵇ-ψΩ≤ _) = <ᵇ-0-Ω
137143
<ᵇ-trans (<ᵇ-Ωψ p) (<ᵇ-ψΩ≤ q) = <ᵇ-ΩΩ (<Ω-≤Ω-trans p q)
@@ -160,8 +166,8 @@ infix 4 _<ᵇ_
160166
<ᵇ-inv-ψ+ : {μ α x y} bpsi μ α <ᵇ bplus x y
161167
<ᵇ-inv-ψ+ ()
162168

163-
<ᵇ-inv-+ψ : {x y μ α} bplus x y <ᵇ bpsi μ α
164-
<ᵇ-inv-+ψ ()
169+
<ᵇ-inv-+ψfin : {x y n α} bplus x y <ᵇ bpsi (fin n) α
170+
<ᵇ-inv-+ψfin ()
165171

166172
----------------------------------------------------------------------------
167173
-- Strict-below-ψ examples, for downstream ordering checks

proofs/agda/Ordinal/Buchholz/WellFounded.agda

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ open import Ordinal.Buchholz.Order using
3535
; <ᵇ-ψΩ
3636
; <ᵇ-ψΩ≤
3737
; <ᵇ-+ω
38+
; <ᵇ-+ψω
3839
; <ᵇ-+1
3940
)
4041

@@ -87,11 +88,14 @@ mutual
8788
... | inj₂ refl = psiAcc α
8889
predOmega (<ᵇ-+ω {x = x} {y = y} x<ω) = <ᵇ-acc-bplus-from (predOmega x<ω) y
8990

91+
predPsi :: BT) {x} x <ᵇ bpsi μ α Acc _<ᵇ_ x
92+
predPsi α <ᵇ-0-ψ = <ᵇ-acc-bzero
93+
predPsi α (<ᵇ-Ωψ κ<μ) = proj₁ (<ᵇ-bundle-fromΩ (rsμ κ<μ))
94+
predPsi α (<ᵇ-ψΩ {α = β} κ<μ) = proj₂ (<ᵇ-bundle-fromΩ (rsμ κ<μ)) β
95+
predPsi α (<ᵇ-+ψω {x = x} {y = y} x<ψω) = <ᵇ-acc-bplus-from (predPsi α x<ψω) y
96+
9097
psiAcc :: BT) Acc _<ᵇ_ (bpsi μ α)
91-
psiAcc α = acc λ where
92-
<ᵇ-0-ψ <ᵇ-acc-bzero
93-
(<ᵇ-Ωψ κ<μ) proj₁ (<ᵇ-bundle-fromΩ (rsμ κ<μ))
94-
(<ᵇ-ψΩ {α = β} κ<μ) proj₂ (<ᵇ-bundle-fromΩ (rsμ κ<μ)) β
98+
psiAcc α = acc (predPsi α)
9599

96100
mutual
97101

0 commit comments

Comments
 (0)