@@ -22,6 +22,7 @@ open import Ordinal.Buchholz.Order using (_<ᵇ_)
2222open import Ordinal.Buchholz.ExtendedOrder using (_<ᵇ⁺_; <ᵇ⇒<ᵇ⁺; <ᵇ⁺-ψα; <ᵇ⁺-+2; wf-<ᵇ⁺)
2323
2424infix 4 _<ᵇˢ_
25+ infix 4 _<ᵇʳ_
2526
2627data _<ᵇˢ_ : 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