Skip to content

Commit fc4e21f

Browse files
committed
agda: add comparison-induced Buchholz extended order
1 parent aede1fc commit fc4e21f

3 files changed

Lines changed: 63 additions & 0 deletions

File tree

proofs/agda/All.agda

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ open import Ordinal.Buchholz.VeblenMeasureTarget
4545
open import Ordinal.Buchholz.VeblenProjectionMeasure
4646
open import Ordinal.Buchholz.VeblenComparisonTarget
4747
open import Ordinal.Buchholz.VeblenComparisonModel
48+
open import Ordinal.Buchholz.ExtendedOrder
4849
open import Ordinal.Buchholz.VeblenObligations
4950
open import Ordinal.Buchholz.Smoke
5051

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
{-# OPTIONS --safe --without-K #-}
2+
3+
-- Comparison-mediated extension of the current Buchholz core order.
4+
--
5+
-- This module does not replace `Ordinal.Buchholz.Order`. Instead it
6+
-- packages the already-closed comparison model into a relation on
7+
-- `BT` that:
8+
--
9+
-- * contains the current admitted core,
10+
-- * exposes the historical same-binder principles as derived lemmas,
11+
-- * is transitive and well-founded now.
12+
--
13+
-- The direct constructor presentation of the full intended Buchholz
14+
-- order is still open; this is the smallest honest closed wrapper we
15+
-- can land before that internalization is solved.
16+
17+
module Ordinal.Buchholz.ExtendedOrder where
18+
19+
open import Function.Base using (_on_)
20+
open import Relation.Nullary using (¬_)
21+
open import Relation.Binary.Core using (Rel; _⇒_)
22+
open import Relation.Binary.Construct.On as On using (wellFounded)
23+
open import Induction.WellFounded using (WellFounded; wf⇒asym)
24+
25+
open import Ordinal.Buchholz.Syntax using (BT; bplus; bpsi)
26+
open import Ordinal.Buchholz.Order using (_<ᵇ_)
27+
open import Ordinal.Buchholz.VeblenInterface using (VeblenWFInterface)
28+
open import Ordinal.Buchholz.VeblenComparisonTarget using (_≺C_; ≺C-trans; ≺C-wf)
29+
open import Ordinal.Buchholz.VeblenComparisonModel using (cmp-measure; comparison-interface)
30+
31+
infix 4 _<ᵇ⁺_
32+
33+
_<ᵇ⁺_ : Rel BT _
34+
_<ᵇ⁺_ = _≺C_ on cmp-measure
35+
36+
<ᵇ⇒<ᵇ⁺ : _<ᵇ_ ⇒ _<ᵇ⁺_
37+
<ᵇ⇒<ᵇ⁺ = VeblenWFInterface.core-monotone comparison-interface
38+
39+
<ᵇ⁺-ψα : {ν α β} α <ᵇ β bpsi ν α <ᵇ⁺ bpsi ν β
40+
<ᵇ⁺-ψα = VeblenWFInterface.dec-ψα comparison-interface
41+
42+
<ᵇ⁺-+2 : {x y₂ z₂} y₂ <ᵇ z₂ bplus x y₂ <ᵇ⁺ bplus x z₂
43+
<ᵇ⁺-+2 = VeblenWFInterface.dec-+2 comparison-interface
44+
45+
<ᵇ⁺-trans : {x y z} x <ᵇ⁺ y y <ᵇ⁺ z x <ᵇ⁺ z
46+
<ᵇ⁺-trans = ≺C-trans
47+
48+
wf-<ᵇ⁺ : WellFounded _<ᵇ⁺_
49+
wf-<ᵇ⁺ = On.wellFounded cmp-measure ≺C-wf
50+
51+
<ᵇ⁺-irreflexive : {x} ¬ (x <ᵇ⁺ x)
52+
<ᵇ⁺-irreflexive {x} x<x = wf⇒asym wf-<ᵇ⁺ x<x x<x

proofs/agda/Ordinal/Buchholz/Smoke.agda

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,16 @@ open import Ordinal.Buchholz.VeblenComparisonModel using
168168
; core-wf-from-comparison
169169
)
170170

171+
open import Ordinal.Buchholz.ExtendedOrder using
172+
( _<ᵇ⁺_
173+
; <ᵇ⇒<ᵇ⁺
174+
; <ᵇ⁺-ψα
175+
; <ᵇ⁺-+2
176+
; <ᵇ⁺-trans
177+
; wf-<ᵇ⁺
178+
; <ᵇ⁺-irreflexive
179+
)
180+
171181
open import Ordinal.Buchholz.VeblenObligations using
172182
( plus-right
173183
; psi-arg

0 commit comments

Comments
 (0)