comparison cardinal.agda @ 236:650bdad56729

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 16 Aug 2019 15:53:29 +0900
parents 846e0926bb89
children 521290e85527
comparison
equal deleted inserted replaced
235:846e0926bb89 236:650bdad56729
25 -- since we use p∨¬p which works only on Level n 25 -- since we use p∨¬p which works only on Level n
26 26
27 <_,_> : (x y : OD) → OD 27 <_,_> : (x y : OD) → OD
28 < x , y > = (x , x ) , (x , y ) 28 < x , y > = (x , x ) , (x , y )
29 29
30 record SetProduct ( A B : OD ) (x : Ordinal ) : Set n where 30 record SetProduct ( A B : OD ) : Set n where
31 field 31 field
32 π1 : Ordinal 32 π1 : Ordinal
33 π2 : Ordinal 33 π2 : Ordinal
34 A∋π1 : def A π1 34 A∋π1 : def A π1
35 B∋π2 : def B π2 35 B∋π2 : def B π2
41 ∋-p A x with p∨¬p ( A ∋ x ) 41 ∋-p A x with p∨¬p ( A ∋ x )
42 ∋-p A x | case1 t = yes t 42 ∋-p A x | case1 t = yes t
43 ∋-p A x | case2 t = no t 43 ∋-p A x | case2 t = no t
44 44
45 _⊗_ : (A B : OD) → OD 45 _⊗_ : (A B : OD) → OD
46 A ⊗ B = record { def = λ x → SetProduct A B x } 46 A ⊗ B = record { def = λ x → SetProduct A B }
47 -- A ⊗ B = record { def = λ x → (y z : Ordinal) → def A y ∧ def B z ∧ ( x ≡ od→ord (< ord→od y , ord→od z >) ) } 47 -- A ⊗ B = record { def = λ x → (y z : Ordinal) → def A y ∧ def B z ∧ ( x ≡ od→ord (< ord→od y , ord→od z >) ) }
48 48
49 -- Power (Power ( A ∪ B )) ∋ ( A ⊗ B ) 49 -- Power (Power ( A ∪ B )) ∋ ( A ⊗ B )
50 50
51 Func : ( A B : OD ) → OD 51 Func : ( A B : OD ) → OD
61 lemma y | p | yes f∋y with double-neg-eilm ( p {ord→od y} f∋y ) -- p : {x : OD} → f ∋ x → ¬ ¬ (dom ⊗ cod ∋ x) 61 lemma y | p | yes f∋y with double-neg-eilm ( p {ord→od y} f∋y ) -- p : {x : OD} → f ∋ x → ¬ ¬ (dom ⊗ cod ∋ x)
62 ... | t with decp ( x ≡ π1 t ) 62 ... | t with decp ( x ≡ π1 t )
63 ... | yes _ = π2 t 63 ... | yes _ = π2 t
64 ... | no _ = o∅ 64 ... | no _ = o∅
65 65
66
66 func→od : (f : Ordinal → Ordinal ) → ( dom : OD ) → OD 67 func→od : (f : Ordinal → Ordinal ) → ( dom : OD ) → OD
67 func→od f dom = Replace dom ( λ x → < x , ord→od (f (od→ord x)) > ) 68 func→od f dom = Replace dom ( λ x → < x , ord→od (f (od→ord x)) > )
68 69
70 record Func←cd { dom cod : OD } {f : Ordinal } (f<F : def (Func dom cod ) f) : Set n where
71 field
72 func-1 : Ordinal → Ordinal
73 func→od∈Func-1 : (Func dom (Ord (sup-o (λ x → func-1 x)) )) ∋ func→od func-1 dom
74
75 func←od1 : { dom cod : OD } → {f : Ordinal } → (f<F : def (Func dom cod ) f ) → Func←cd {dom} {cod} {f} f<F
76 func←od1 {dom} {cod} {f} lt = record { func-1 = λ x → sup-o ( λ y → lemma x y ) ; func→od∈Func-1 = {!!} } where
77 lemma : Ordinal → Ordinal → Ordinal
78 lemma x y with IsZF.power→ isZF (dom ⊗ cod) (ord→od f) (subst (λ k → def (Power (dom ⊗ cod)) k ) (sym diso) lt ) | ∋-p (ord→od f) (ord→od y)
79 lemma x y | p | no n = o∅
80 lemma x y | p | yes f∋y with double-neg-eilm ( p {ord→od y} f∋y ) -- p : {x : OD} → f ∋ x → ¬ ¬ (dom ⊗ cod ∋ x)
81 ... | t with decp ( x ≡ π1 t )
82 ... | yes _ = π2 t
83 ... | no _ = o∅
84
85 func→od∈Func : (f : Ordinal → Ordinal ) ( dom : OD ) → (Func dom (Ord (sup-o (λ x → f x)) )) ∋ func→od f dom
86 func→od∈Func f dom = record { proj1 = {!!} ; proj2 = {!!} }
69 87
70 -- contra position of sup-o< 88 -- contra position of sup-o<
71 -- 89 --
72 90
73 -- postulate 91 -- postulate