@@ -14,7 +14,7 @@ open import Function.Base using (_on_)
1414open import Induction.WellFounded using (WellFounded; module Subrelation )
1515open import Relation.Binary.Core using (Rel; _⇒_)
1616open import Relation.Binary.Construct.On as On using (wellFounded)
17- open import Relation.Binary.Definitions using (_Respectsʳ_)
17+ open import Relation.Binary.Definitions using (_Respectsʳ_; Transitive )
1818open import Relation.Binary.PropositionalEquality.Core using (_≡_; refl)
1919
2020open import Ordinal.OmegaMarkers using (OmegaIndex)
@@ -27,8 +27,11 @@ open import Ordinal.Buchholz.Order using
2727 ; <ᵇ-Ωψ
2828 ; <ᵇ-ψ+
2929 ; <ᵇ-ψΩ
30+ ; <ᵇ-ψΩ≤
3031 ; <ᵇ-+1
32+ ; <ᵇ-+Ω
3133 ; <ᵇ-+ψ
34+ ; <ᵇ-trans
3235 ; <ᵇ-inv-+Ω
3336 ; <ᵇ-inv-+ψ
3437 )
@@ -114,6 +117,19 @@ payload-embed (pPlusPlus y<z) = inj₂ (refl , y<z)
114117<ᵇ-respʳ-≈ᶜ ≈ᶜ-ψ (<ᵇ-+ψ x<ψ) = <ᵇ-+ψ (<ᵇ-respʳ-≈ᶜ ≈ᶜ-ψ x<ψ)
115118<ᵇ-respʳ-≈ᶜ (≈ᶜ-ψ+ ψ≈x) x<ψ = <ᵇ-lift-plus (<ᵇ-respʳ-≈ᶜ ψ≈x x<ψ)
116119
120+ <ᵇ-chain-≈ᶜ : ∀ {x y z} → x ≈ᶜ y → y <ᵇ z → x <ᵇ z
121+ <ᵇ-chain-≈ᶜ ≈ᶜ-zero y<z = y<z
122+ <ᵇ-chain-≈ᶜ ≈ᶜ-Ω y<z = y<z
123+ <ᵇ-chain-≈ᶜ ≈ᶜ-+ (<ᵇ-+1 x<y) = <ᵇ-+1 x<y
124+ <ᵇ-chain-≈ᶜ ≈ᶜ-+ (<ᵇ-+Ω x<Ω) = <ᵇ-+Ω x<Ω
125+ <ᵇ-chain-≈ᶜ ≈ᶜ-+ (<ᵇ-+ψ x<ψ) = <ᵇ-+ψ x<ψ
126+ <ᵇ-chain-≈ᶜ ≈ᶜ-ψ (<ᵇ-ψΩ μ<ν) = <ᵇ-ψΩ μ<ν
127+ <ᵇ-chain-≈ᶜ ≈ᶜ-ψ (<ᵇ-ψΩ≤ ν≤μ) = <ᵇ-ψΩ≤ ν≤μ
128+ <ᵇ-chain-≈ᶜ ≈ᶜ-ψ (<ᵇ-ψ+ ψ<z) = <ᵇ-ψ+ (<ᵇ-chain-≈ᶜ ≈ᶜ-ψ ψ<z)
129+ <ᵇ-chain-≈ᶜ (≈ᶜ-ψ+ ψ≈x) (<ᵇ-+1 x<y) = <ᵇ-lift-plus (<ᵇ-chain-≈ᶜ ψ≈x x<y)
130+ <ᵇ-chain-≈ᶜ (≈ᶜ-ψ+ ψ≈x) (<ᵇ-+Ω x<Ω) = <ᵇ-chain-≈ᶜ ψ≈x x<Ω
131+ <ᵇ-chain-≈ᶜ (≈ᶜ-ψ+ ψ≈x) (<ᵇ-+ψ x<ψ) = <ᵇ-chain-≈ᶜ ψ≈x x<ψ
132+
117133_≺C_ : Rel ComparisonMeasure _
118134_≺C_ = ×-Lex _≈ᶜ_ _<ᵇ_ _≺P_
119135
@@ -132,5 +148,18 @@ by-payload-ψ+ = pPsiPlus
132148by-payload-++ : ∀ {a y z} → y <ᵇ z → payload-plus a y ≺P payload-plus a z
133149by-payload-++ = pPlusPlus
134150
151+ ≺P-trans : Transitive _≺P_
152+ ≺P-trans (pPsiPsi α<β) (pPsiPsi β<γ) = pPsiPsi (<ᵇ-trans α<β β<γ)
153+ ≺P-trans (pPsiPsi α<β) (pPsiPlus β<γ) = pPsiPlus (<ᵇ-trans α<β β<γ)
154+ ≺P-trans (pPsiPlus α<β) (pPlusPlus _) = pPsiPlus α<β
155+ ≺P-trans (pPlusPlus y<z) (pPlusPlus z<w) = pPlusPlus (<ᵇ-trans y<z z<w)
156+
157+ ≺C-trans : Transitive _≺C_
158+ ≺C-trans (inj₁ x<y) (inj₁ y<z) = inj₁ (<ᵇ-trans x<y y<z)
159+ ≺C-trans (inj₁ x<y) (inj₂ (y≈z , py<qz)) = inj₁ (<ᵇ-respʳ-≈ᶜ y≈z x<y)
160+ ≺C-trans (inj₂ (x≈y , px<qy)) (inj₁ y<z) = inj₁ (<ᵇ-chain-≈ᶜ x≈y y<z)
161+ ≺C-trans (inj₂ (x≈y , px<qy)) (inj₂ (y≈z , qy<rz)) =
162+ inj₂ (≈ᶜ-trans x≈y y≈z , ≺P-trans px<qy qy<rz)
163+
135164≺C-wf : WellFounded _≺C_
136165≺C-wf = ×-wellFounded' ≈ᶜ-trans <ᵇ-respʳ-≈ᶜ wf-<ᵇ ≺P-wf
0 commit comments