comparison ordinal-definable.agda @ 100:a402881cc341

add comment
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 10 Jun 2019 09:50:44 +0900
parents 74330d0cdcbc
children c8b79d303867
comparison
equal deleted inserted replaced
99:74330d0cdcbc 100:a402881cc341
43 eq-trans x=y y=z = record { eq→ = λ t → eq→ y=z ( eq→ x=y t) ; eq← = λ t → eq← x=y ( eq← y=z t) } 43 eq-trans x=y y=z = record { eq→ = λ t → eq→ y=z ( eq→ x=y t) ; eq← = λ t → eq← x=y ( eq← y=z t) }
44 44
45 od∅ : {n : Level} → OD {n} 45 od∅ : {n : Level} → OD {n}
46 od∅ {n} = record { def = λ _ → Lift n ⊥ } 46 od∅ {n} = record { def = λ _ → Lift n ⊥ }
47 47
48 -- OD can be iso to a subset of Ordinal 48
49 postulate 49 postulate
50 -- OD can be iso to a subset of Ordinal ( by means of Godel Set )
50 od→ord : {n : Level} → OD {n} → Ordinal {n} 51 od→ord : {n : Level} → OD {n} → Ordinal {n}
51 ord→od : {n : Level} → Ordinal {n} → OD {n} 52 ord→od : {n : Level} → Ordinal {n} → OD {n}
52 c<→o< : {n : Level} {x y : OD {n} } → def y ( od→ord x ) → od→ord x o< od→ord y 53 c<→o< : {n : Level} {x y : OD {n} } → def y ( od→ord x ) → od→ord x o< od→ord y
53 o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → def (ord→od y) x 54 o<→c< : {n : Level} {x y : Ordinal {n} } → x o< y → def (ord→od y) x
54 oiso : {n : Level} {x : OD {n}} → ord→od ( od→ord x ) ≡ x 55 oiso : {n : Level} {x : OD {n}} → ord→od ( od→ord x ) ≡ x
55 diso : {n : Level} {x : Ordinal {n}} → od→ord ( ord→od x ) ≡ x 56 diso : {n : Level} {x : Ordinal {n}} → od→ord ( ord→od x ) ≡ x
57 -- supermum as Replacement Axiom
56 sup-o : {n : Level } → ( Ordinal {n} → Ordinal {n}) → Ordinal {n} 58 sup-o : {n : Level } → ( Ordinal {n} → Ordinal {n}) → Ordinal {n}
57 sup-o< : {n : Level } → { ψ : Ordinal {n} → Ordinal {n}} → ∀ {x : Ordinal {n}} → ψ x o< sup-o ψ 59 sup-o< : {n : Level } → { ψ : Ordinal {n} → Ordinal {n}} → ∀ {x : Ordinal {n}} → ψ x o< sup-o ψ
60 -- a property of supermum required in Power Set Axiom
58 sup-x : {n : Level } → ( Ordinal {n} → Ordinal {n}) → Ordinal {n} 61 sup-x : {n : Level } → ( Ordinal {n} → Ordinal {n}) → Ordinal {n}
59 sup-lb : {n : Level } → { ψ : Ordinal {n} → Ordinal {n}} → {z : Ordinal {n}} → z o< sup-o ψ → z o< osuc (ψ (sup-x ψ)) 62 sup-lb : {n : Level } → { ψ : Ordinal {n} → Ordinal {n}} → {z : Ordinal {n}} → z o< sup-o ψ → z o< osuc (ψ (sup-x ψ))
60 -- sup-lb : {n : Level } → ( ψ : Ordinal {n} → Ordinal {n}) → ( ∀ {x : Ordinal {n}} → ψx o< z ) → z o< osuc ( sup-o ψ ) 63 -- sup-lb : {n : Level } → ( ψ : Ordinal {n} → Ordinal {n}) → ( ∀ {x : Ordinal {n}} → ψx o< z ) → z o< osuc ( sup-o ψ )
61 64
62 _∋_ : { n : Level } → ( a x : OD {n} ) → Set n 65 _∋_ : { n : Level } → ( a x : OD {n} ) → Set n
338 pair : (A B : OD {suc n} ) → ((A , B) ∋ A) ∧ ((A , B) ∋ B) 341 pair : (A B : OD {suc n} ) → ((A , B) ∋ A) ∧ ((A , B) ∋ B)
339 proj1 (pair A B ) = omax-x {n} (od→ord A) (od→ord B) 342 proj1 (pair A B ) = omax-x {n} (od→ord A) (od→ord B)
340 proj2 (pair A B ) = omax-y {n} (od→ord A) (od→ord B) 343 proj2 (pair A B ) = omax-y {n} (od→ord A) (od→ord B)
341 empty : (x : OD {suc n} ) → ¬ (od∅ ∋ x) 344 empty : (x : OD {suc n} ) → ¬ (od∅ ∋ x)
342 empty x () 345 empty x ()
343 --- ZFSubset A x = record { def = λ y → def A y ∧ def x y } 346 ---
344 --- Power X = ord→od ( sup-o ( λ x → od→ord ( ZFSubset A (ord→od x )) ) ) 347 --- ZFSubset A x = record { def = λ y → def A y ∧ def x y } subset of A
348 --- Power X = ord→od ( sup-o ( λ x → od→ord ( ZFSubset A (ord→od x )) ) ) Power X is a sup of all subset of A
349 --
350 -- if Power A ∋ t, from a propertiy of minimum sup there is osuc ZFSubset A ∋ t
351 -- then ZFSubset A ≡ t or ZFSubset A ∋ t. In the former case ZFSubset A ∋ x implies A ∋ x
352 -- In case of later, ZFSubset A ∋ t and t ∋ x implies ZFSubset A ∋ x by transitivity
353 --
345 power→ : (A t : OD) → Power A ∋ t → {x : OD} → t ∋ x → A ∋ x 354 power→ : (A t : OD) → Power A ∋ t → {x : OD} → t ∋ x → A ∋ x
346 power→ A t P∋t {x} t∋x = proj1 lemma-s where 355 power→ A t P∋t {x} t∋x = proj1 lemma-s where
347 minsup : OD 356 minsup : OD
348 minsup = ZFSubset A ( ord→od ( sup-x (λ x → od→ord ( ZFSubset A (ord→od x))))) 357 minsup = ZFSubset A ( ord→od ( sup-x (λ x → od→ord ( ZFSubset A (ord→od x)))))
349 lemma-t : csuc minsup ∋ t 358 lemma-t : csuc minsup ∋ t
350 lemma-t = o<→c< (o<-subst (sup-lb (o<-subst (c<→o< P∋t) refl diso )) refl refl ) 359 lemma-t = o<→c< (o<-subst (sup-lb (o<-subst (c<→o< P∋t) refl diso )) refl refl )
351 lemma-s : ZFSubset A ( ord→od ( sup-x (λ x → od→ord ( ZFSubset A (ord→od x))))) ∋ x 360 lemma-s : ZFSubset A ( ord→od ( sup-x (λ x → od→ord ( ZFSubset A (ord→od x))))) ∋ x
352 lemma-s with osuc-≡< ( o<-subst (c<→o< lemma-t ) refl diso ) 361 lemma-s with osuc-≡< ( o<-subst (c<→o< lemma-t ) refl diso )
353 lemma-s | case1 eq = def-subst ( ==-def-r (o≡→== eq) (subst (λ k → def k (od→ord x)) (sym oiso) t∋x ) ) oiso refl 362 lemma-s | case1 eq = def-subst ( ==-def-r (o≡→== eq) (subst (λ k → def k (od→ord x)) (sym oiso) t∋x ) ) oiso refl
354 lemma-s | case2 lt = transitive {n} {minsup} {t} {x} (def-subst (o<→c< lt) oiso refl ) t∋x 363 lemma-s | case2 lt = transitive {n} {minsup} {t} {x} (def-subst (o<→c< lt) oiso refl ) t∋x
355 -- = {!!} -- transitive {!!} t∋x 364 --
365 -- we have t ∋ x → A ∋ x means t is a subset of A, that is ZFSubset A t == t
366 -- Power A is a sup of ZFSubset A t, so Power A ∋ t
367 --
356 power← : (A t : OD) → ({x : OD} → (t ∋ x → A ∋ x)) → Power A ∋ t 368 power← : (A t : OD) → ({x : OD} → (t ∋ x → A ∋ x)) → Power A ∋ t
357 power← A t t→A = def-subst {suc n} {_} {_} {Power A} {od→ord t} 369 power← A t t→A = def-subst {suc n} {_} {_} {Power A} {od→ord t}
358 ( o<→c< {suc n} {od→ord (ZFSubset A (ord→od (od→ord t)) )} {sup-o (λ x → od→ord (ZFSubset A (ord→od x)))} 370 ( o<→c< {suc n} {od→ord (ZFSubset A (ord→od (od→ord t)) )} {sup-o (λ x → od→ord (ZFSubset A (ord→od x)))}
359 lemma ) refl lemma1 where 371 lemma ) refl lemma1 where
360 lemma-eq : ZFSubset A t == t 372 lemma-eq : ZFSubset A t == t