comparison src/ordinal.agda @ 612:099ca2fea51c

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 17 Jun 2022 21:20:24 +0900
parents b27d92694ed5
children 4f48fe1b884a 4186c0331abb
comparison
equal deleted inserted replaced
611:d6ad1af5299e 612:099ca2fea51c
198 lemma : (y : Ordinal) → y o< ordinal lx (OSuc lx ox) → ψ y 198 lemma : (y : Ordinal) → y o< ordinal lx (OSuc lx ox) → ψ y
199 lemma y lt with osuc-≡< lt 199 lemma y lt with osuc-≡< lt
200 lemma y lt | case1 refl = proj1 ( TransFinite1 lx ox ) 200 lemma y lt | case1 refl = proj1 ( TransFinite1 lx ox )
201 lemma y lt | case2 lt1 = proj2 ( TransFinite1 lx ox ) y lt1 201 lemma y lt | case2 lt1 = proj2 ( TransFinite1 lx ox ) y lt1
202 202
203 open import Data.Nat.Properties as DP
204 OrdIrr : {n : Level } {x y : Ordinal {suc n} } {lt lt1 : x o< y} → lt ≡ lt1
205 OrdIrr {n} {ordinal lv₁ ord₁} {ordinal lv₂ ord₂} {case1 x} {case1 x₁} = cong case1 (DP.<-irrelevant _ _ )
206 OrdIrr {n} {ordinal lv₁ ord₁} {ordinal lv₂ ord₂} {case1 x} {case2 x₁} = ⊥-elim ( nat-≡< ( d<→lv x₁ ) x )
207 OrdIrr {n} {ordinal lv₁ ord₁} {ordinal lv₂ ord₂} {case2 x} {case1 x₁} = ⊥-elim ( nat-≡< ( d<→lv x ) x₁ )
208 OrdIrr {n} {ordinal lv₁ .(Φ lv₁)} {ordinal .lv₁ .(OSuc lv₁ _)} {case2 Φ<} {case2 Φ<} = refl
209 OrdIrr {n} {ordinal lv₁ (OSuc lv₁ a)} {ordinal .lv₁ (OSuc lv₁ b)} {case2 (s< x)} {case2 (s< x₁)} = cong (λ k → case2 (s< k)) (lemma1 _ _ x x₁) where
210 lemma1 : {lx : Nat} (a b : OrdinalD {suc n} lx) → (x y : a d< b ) → x ≡ y
211 lemma1 {lx} .(Φ lx) .(OSuc lx _) Φ< Φ< = refl
212 lemma1 {lx} (OSuc lx a) (OSuc lx b) (s< x) (s< y) = cong s< (lemma1 {lx} a b x y )
213
203 open import Ordinals 214 open import Ordinals
204 215
205 C-Ordinal : {n : Level} → Ordinals {suc n} 216 C-Ordinal : {n : Level} → Ordinals {suc n}
206 C-Ordinal {n} = record { 217 C-Ordinal {n} = record {
207 Ordinal = Ordinal {suc n} 218 Ordinal = Ordinal {suc n}
214 ; trio< = trio< 225 ; trio< = trio<
215 ; ¬x<0 = ¬x<0 226 ; ¬x<0 = ¬x<0
216 ; <-osuc = <-osuc 227 ; <-osuc = <-osuc
217 ; osuc-≡< = osuc-≡< 228 ; osuc-≡< = osuc-≡<
218 ; TransFinite = TransFinite2 229 ; TransFinite = TransFinite2
230 ; o<-irr = OrdIrr
219 ; Oprev-p = Oprev-p 231 ; Oprev-p = Oprev-p
220 } ; 232 } ;
221 isNext = record { 233 isNext = record {
222 x<nx = x<nx 234 x<nx = x<nx
223 ; osuc<nx = λ {x} {y} → osuc<nx {x} {y} 235 ; osuc<nx = λ {x} {y} → osuc<nx {x} {y}