Skip to content

Commit cb06186

Browse files
committed
agda: add Buchholz surface-order bridge
1 parent bdfd93a commit cb06186

3 files changed

Lines changed: 53 additions & 0 deletions

File tree

proofs/agda/All.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ open import Ordinal.Buchholz.VeblenProjectionMeasure
4646
open import Ordinal.Buchholz.VeblenComparisonTarget
4747
open import Ordinal.Buchholz.VeblenComparisonModel
4848
open import Ordinal.Buchholz.ExtendedOrder
49+
open import Ordinal.Buchholz.SurfaceOrder
4950
open import Ordinal.Buchholz.VeblenObligations
5051
open import Ordinal.Buchholz.Smoke
5152

proofs/agda/Ordinal/Buchholz/Smoke.agda

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,16 @@ open import Ordinal.Buchholz.ExtendedOrder using
178178
; <ᵇ⁺-irreflexive
179179
)
180180

181+
open import Ordinal.Buchholz.SurfaceOrder using
182+
( _<ᵇˢ_
183+
; <ᵇˢ-core
184+
; <ᵇˢ-ψα
185+
; <ᵇˢ-+2
186+
; <ᵇˢ⇒<ᵇ⁺
187+
; wf-<ᵇˢ
188+
; <ᵇˢ-irreflexive
189+
)
190+
181191
open import Ordinal.Buchholz.VeblenObligations using
182192
( plus-right
183193
; psi-arg
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
3+
-- Direct-order candidate sitting between the current Buchholz core and
4+
-- the comparison-induced wrapper `_<ᵇ⁺_`.
5+
--
6+
-- This relation keeps the current core packaged as one constructor and
7+
-- adds the two historically blocked same-binder shapes as explicit
8+
-- constructors whose premises are still stated in the current core.
9+
--
10+
-- It is not yet the final direct internalization of the full intended
11+
-- order. Its purpose is narrower: give those shapes a direct inductive
12+
-- surface and embed that surface into the already closed wrapper.
13+
14+
module Ordinal.Buchholz.SurfaceOrder where
15+
16+
open import Relation.Nullary using (¬_)
17+
open import Relation.Binary.Core using (_⇒_)
18+
open import Induction.WellFounded using (WellFounded; wf⇒asym; module Subrelation)
19+
20+
open import Ordinal.Buchholz.Syntax using (BT; bplus; bpsi)
21+
open import Ordinal.Buchholz.Order using (_<ᵇ_)
22+
open import Ordinal.Buchholz.ExtendedOrder using (_<ᵇ⁺_; <ᵇ⇒<ᵇ⁺; <ᵇ⁺-ψα; <ᵇ⁺-+2; wf-<ᵇ⁺)
23+
24+
infix 4 _<ᵇˢ_
25+
26+
data _<ᵇˢ_ : BT BT Set where
27+
<ᵇˢ-core : {x y} x <ᵇ y x <ᵇˢ y
28+
<ᵇˢ-ψα : {ν α β} α <ᵇ β bpsi ν α <ᵇˢ bpsi ν β
29+
<ᵇˢ-+2 : {x y₂ z₂} y₂ <ᵇ z₂ bplus x y₂ <ᵇˢ bplus x z₂
30+
31+
<ᵇˢ⇒<ᵇ⁺ : _<ᵇˢ_ ⇒ _<ᵇ⁺_
32+
<ᵇˢ⇒<ᵇ⁺ (<ᵇˢ-core x<y) = <ᵇ⇒<ᵇ⁺ x<y
33+
<ᵇˢ⇒<ᵇ⁺ (<ᵇˢ-ψα α<β) = <ᵇ⁺-ψα α<β
34+
<ᵇˢ⇒<ᵇ⁺ (<ᵇˢ-+2 y<z) = <ᵇ⁺-+2 y<z
35+
36+
wf-<ᵇˢ : WellFounded _<ᵇˢ_
37+
wf-<ᵇˢ =
38+
let module SR = Subrelation <ᵇˢ⇒<ᵇ⁺
39+
in SR.wellFounded wf-<ᵇ⁺
40+
41+
<ᵇˢ-irreflexive : {x} ¬ (x <ᵇˢ x)
42+
<ᵇˢ-irreflexive {x} x<x = wf⇒asym wf-<ᵇˢ x<x x<x

0 commit comments

Comments
 (0)