Skip to content

Commit 22fe2d7

Browse files
committed
agda: add recursive Buchholz surface frontier
1 parent 96c40db commit 22fe2d7

2 files changed

Lines changed: 39 additions & 0 deletions

File tree

proofs/agda/Ordinal/Buchholz/Smoke.agda

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,14 @@ open import Ordinal.Buchholz.SurfaceOrder using
186186
; <ᵇˢ⇒<ᵇ⁺
187187
; wf-<ᵇˢ
188188
; <ᵇˢ-irreflexive
189+
; SurfaceLiftInterface
190+
; _<ᵇʳ_
191+
; <ᵇʳ-core
192+
; <ᵇʳ-ψα
193+
; <ᵇʳ-+2
194+
; <ᵇʳ⇒<ᵇ⁺
195+
; wf-<ᵇʳ
196+
; <ᵇʳ-irreflexive
189197
)
190198

191199
open import Ordinal.Buchholz.VeblenObligations using

proofs/agda/Ordinal/Buchholz/SurfaceOrder.agda

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ open import Ordinal.Buchholz.Order using (_<ᵇ_)
2222
open import Ordinal.Buchholz.ExtendedOrder using (_<ᵇ⁺_; <ᵇ⇒<ᵇ⁺; <ᵇ⁺-ψα; <ᵇ⁺-+2; wf-<ᵇ⁺)
2323

2424
infix 4 _<ᵇˢ_
25+
infix 4 _<ᵇʳ_
2526

2627
data _<ᵇˢ_ : BT BT Set where
2728
<ᵇˢ-core : {x y} x <ᵇ y x <ᵇˢ y
@@ -40,3 +41,33 @@ wf-<ᵇˢ =
4041

4142
<ᵇˢ-irreflexive : {x} ¬ (x <ᵇˢ x)
4243
<ᵇˢ-irreflexive {x} x<x = wf⇒asym wf-<ᵇˢ x<x x<x
44+
45+
-- Exact remaining interface for a recursive direct surface:
46+
-- if the closed wrapper `_<ᵇ⁺_` can be shown stable under same-binder
47+
-- descent with `_<ᵇ⁺_` premises, then the genuinely recursive surface
48+
-- order below becomes available immediately.
49+
50+
record SurfaceLiftInterface : Set where
51+
field
52+
lift-ψα⁺ : {ν α β} α <ᵇ⁺ β bpsi ν α <ᵇ⁺ bpsi ν β
53+
lift-+2⁺ : {x y₂ z₂} y₂ <ᵇ⁺ z₂ bplus x y₂ <ᵇ⁺ bplus x z₂
54+
55+
open SurfaceLiftInterface
56+
57+
data _<ᵇʳ_ (L : SurfaceLiftInterface) : BT BT Set where
58+
<ᵇʳ-core : {x y} x <ᵇ y _<ᵇʳ_ L x y
59+
<ᵇʳ-ψα : {ν α β} _<ᵇʳ_ L α β _<ᵇʳ_ L (bpsi ν α) (bpsi ν β)
60+
<ᵇʳ-+2 : {x y₂ z₂} _<ᵇʳ_ L y₂ z₂ _<ᵇʳ_ L (bplus x y₂) (bplus x z₂)
61+
62+
<ᵇʳ⇒<ᵇ⁺ : {L x y} _<ᵇʳ_ L x y x <ᵇ⁺ y
63+
<ᵇʳ⇒<ᵇ⁺ {L} (<ᵇʳ-core x<y) = <ᵇ⇒<ᵇ⁺ x<y
64+
<ᵇʳ⇒<ᵇ⁺ {L} (<ᵇʳ-ψα α<β) = lift-ψα⁺ L (<ᵇʳ⇒<ᵇ⁺ α<β)
65+
<ᵇʳ⇒<ᵇ⁺ {L} (<ᵇʳ-+2 y<z) = lift-+2⁺ L (<ᵇʳ⇒<ᵇ⁺ y<z)
66+
67+
wf-<ᵇʳ : {L} WellFounded (λ x y _<ᵇʳ_ L x y)
68+
wf-<ᵇʳ {L} =
69+
let module SR = Subrelation <ᵇʳ⇒<ᵇ⁺
70+
in SR.wellFounded wf-<ᵇ⁺
71+
72+
<ᵇʳ-irreflexive : {L x} ¬ (_<ᵇʳ_ L x x)
73+
<ᵇʳ-irreflexive {L} {x} x<x = wf⇒asym (wf-<ᵇʳ {L}) x<x x<x

0 commit comments

Comments
 (0)