# HG changeset patch # User Shinji KONO # Date 1558742980 -32400 # Node ID e584686a1307277abccef56d440b2c7c634d362a # Parent 33860eb44e4783f2754abf4825908fd02c3c7c28 == and ∅7 diff -r 33860eb44e47 -r e584686a1307 ordinal-definable.agda --- a/ordinal-definable.agda Sat May 25 04:58:38 2019 +0900 +++ b/ordinal-definable.agda Sat May 25 09:09:40 2019 +0900 @@ -64,6 +64,7 @@ od∅ : {n : Level} → OD {n} od∅ {n} = record { def = λ _ → Lift n ⊥ } +open import Relation.Binary.HeterogeneousEquality using (_≅_;refl) postulate c<→o< : {n : Level} {x y : OD {n} } → x c< y → od→ord x o< od→ord y @@ -73,6 +74,14 @@ sup-od : {n : Level } → ( OD {n} → OD {n}) → OD {n} sup-c< : {n : Level } → ( ψ : OD {n} → OD {n}) → ∀ {x : OD {n}} → ψ x c< sup-od ψ ∅-base-def : {n : Level} → def ( ord→od (o∅ {n}) ) ≡ def (od∅ {n}) + ∅-base-lv : {n : Level} → lv ( od→ord (od∅ {n}) ) ≡ lv (o∅ {n}) + ∅-base-d : {n : Level} → ord ( od→ord (od∅ {n}) ) ≅ ord (o∅ {n}) + +o∅→od∅ : {n : Level} → ord→od (o∅ {n}) ≡ od∅ {n} +o∅→od∅ {n} = cong ( λ k → record { def = k }) ( ∅-base-def ) + +od∅→o∅ : {n : Level} → od→ord (od∅ {n} ) ≡ o∅ {n} +od∅→o∅ = ordinal-cong ∅-base-lv ∅-base-d ∅1 : {n : Level} → ( x : OD {n} ) → ¬ ( x c< od∅ {n} ) ∅1 {n} x (lift ()) @@ -115,19 +124,6 @@ lemma0 : def ( ord→od ( od→ord z )) ( od→ord ( ord→od ( od→ord x ))) → def z (od→ord x) lemma0 dz = def-subst {n} { ord→od ( od→ord z )} { od→ord ( ord→od ( od→ord x))} dz (oiso) (diso) -od∅' : {n : Level} → OD {n} -od∅' {n} = ord→od (o∅ {n}) - -∅1' : {n : Level} → ( x : OD {n} ) → ¬ ( x c< od∅' {n} ) -∅1' {n} x xcy with lv ox + e1 {o∅} {y} refl x>y | Zero = lift ( ∅8 y (o<-subst (c<→o< {n} {ord→od y} {x} (def-subst {n} {x} {y} x>y refl (sym diso))) ord-iso eq )) + e1 {o∅} {y} refl x>y | Suc lx = lift ( ∅8 y (o<-subst (c<→o< {n} {ord→od y} {x} (def-subst {n} {x} {y} x>y refl (sym diso))) ord-iso eq )) + open _∧_ diff -r 33860eb44e47 -r e584686a1307 ordinal.agda --- a/ordinal.agda Sat May 25 04:58:38 2019 +0900 +++ b/ordinal.agda Sat May 25 09:09:40 2019 +0900 @@ -60,6 +60,12 @@ lv x ≡ lv y → ord x ≅ ord y → x ≡ y ordinal-cong refl refl = refl +ordinal-lv : {n : Level} {x y : Ordinal {n}} → x ≡ y → lv x ≡ lv y +ordinal-lv refl = refl + +ordinal-d : {n : Level} {x y : Ordinal {n}} → x ≡ y → ord x ≅ ord y +ordinal-d refl = refl + ≡→¬d< : {n : Level} → {lv : Nat} → {x : OrdinalD {n} lv } → x d< x → ⊥ ≡→¬d< {n} {lx} {OSuc lx y} (s< t) = ≡→¬d< t