comparison ordinal-definable.agda @ 79:c07c548b2ac1

add some lemma
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 03 Jun 2019 10:50:03 +0900
parents 9a7a64b2388c
children 461690d60d07
comparison
equal deleted inserted replaced
78:9a7a64b2388c 79:c07c548b2ac1
181 o<→o> {n} {x} {y} record { eq→ = xy ; eq← = yx } (case2 lt) with 181 o<→o> {n} {x} {y} record { eq→ = xy ; eq← = yx } (case2 lt) with
182 yx (def-subst {n} {ord→od (od→ord y)} {od→ord (ord→od (od→ord x))} (o<→c< (case2 lt )) oiso diso ) 182 yx (def-subst {n} {ord→od (od→ord y)} {od→ord (ord→od (od→ord x))} (o<→c< (case2 lt )) oiso diso )
183 ... | oyx with o<¬≡ (od→ord x) (od→ord x) refl (c<→o< oyx ) 183 ... | oyx with o<¬≡ (od→ord x) (od→ord x) refl (c<→o< oyx )
184 ... | () 184 ... | ()
185 185
186 ==→o≡ : {n : Level} → { x y : Ordinal {suc n} } → ord→od x == ord→od y → x ≡ y
187 ==→o≡ {n} {x} {y} eq with trio< {n} x y
188 ==→o≡ {n} {x} {y} eq | tri< a ¬b ¬c = ⊥-elim ( o<→o> eq (o<-subst a (sym ord-iso) (sym ord-iso )))
189 ==→o≡ {n} {x} {y} eq | tri≈ ¬a b ¬c = b
190 ==→o≡ {n} {x} {y} eq | tri> ¬a ¬b c = ⊥-elim ( o<→o> (eq-sym eq) (o<-subst c (sym ord-iso) (sym ord-iso )))
191
186 o<→¬== : {n : Level} → { x y : OD {n} } → (od→ord x ) o< ( od→ord y) → ¬ (x == y ) 192 o<→¬== : {n : Level} → { x y : OD {n} } → (od→ord x ) o< ( od→ord y) → ¬ (x == y )
187 o<→¬== {n} {x} {y} lt eq = o<→o> eq lt 193 o<→¬== {n} {x} {y} lt eq = o<→o> eq lt
188 194
189 o<→¬c> : {n : Level} → { x y : OD {n} } → (od→ord x ) o< ( od→ord y) → ¬ (y c< x ) 195 o<→¬c> : {n : Level} → { x y : OD {n} } → (od→ord x ) o< ( od→ord y) → ¬ (y c< x )
190 o<→¬c> {n} {x} {y} olt clt = o<> (od→ord x) (od→ord y) olt (c<→o< clt ) where 196 o<→¬c> {n} {x} {y} olt clt = o<> (od→ord x) (od→ord y) olt (c<→o< clt ) where
235 lemma1 : od→ord (ord→od o∅) ≡ od→ord od∅ 241 lemma1 : od→ord (ord→od o∅) ≡ od→ord od∅
236 lemma1 = cong ( λ k → od→ord k ) o∅→od∅ 242 lemma1 = cong ( λ k → od→ord k ) o∅→od∅
237 lemma o∅ ne | yes refl | () 243 lemma o∅ ne | yes refl | ()
238 lemma ox ne | no ¬p = subst ( λ k → def (ord→od ox) (od→ord k) ) o∅→od∅ (o<→c< (∅5 ¬p)) 244 lemma ox ne | no ¬p = subst ( λ k → def (ord→od ox) (od→ord k) ) o∅→od∅ (o<→c< (∅5 ¬p))
239 245
240 open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ ) 246 -- open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ )
241 247
242 OD→ZF : {n : Level} → ZF {suc (suc n)} {suc n} 248 OD→ZF : {n : Level} → ZF {suc (suc n)} {suc n}
243 OD→ZF {n} = record { 249 OD→ZF {n} = record {
244 ZFSet = OD {suc n} 250 ZFSet = OD {suc n}
245 ; _∋_ = _∋_ 251 ; _∋_ = _∋_