Mercurial > hg > Members > kono > Proof > ZF-in-agda
annotate cardinal.agda @ 427:9b0630f03c4b
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 08 Aug 2020 18:14:14 +0900 |
parents | 47aacf417930 |
children | 94392feeebc5 |
rev | line source |
---|---|
16 | 1 open import Level |
224 | 2 open import Ordinals |
3 module cardinal {n : Level } (O : Ordinals {n}) where | |
3 | 4 |
14
e11e95d5ddee
separete constructible set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
11
diff
changeset
|
5 open import zf |
219 | 6 open import logic |
224 | 7 import OD |
276 | 8 import ODC |
274 | 9 import OPair |
23 | 10 open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ ) |
224 | 11 open import Relation.Binary.PropositionalEquality |
14
e11e95d5ddee
separete constructible set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
11
diff
changeset
|
12 open import Data.Nat.Properties |
6 | 13 open import Data.Empty |
14 open import Relation.Nullary | |
15 open import Relation.Binary | |
16 open import Relation.Binary.Core | |
17 | |
224 | 18 open inOrdinal O |
19 open OD O | |
219 | 20 open OD.OD |
274 | 21 open OPair O |
277
d9d3654baee1
seperate choice from LEM
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
276
diff
changeset
|
22 open ODAxiom odAxiom |
29
fce60b99dc55
posturate OD is isomorphic to Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
28
diff
changeset
|
23 |
424 | 24 import OrdUtil |
25 import ODUtil | |
26 open Ordinals.Ordinals O | |
27 open Ordinals.IsOrdinals isOrdinal | |
28 open Ordinals.IsNext isNext | |
29 open OrdUtil O | |
30 open ODUtil O | |
31 | |
32 | |
120 | 33 open _∧_ |
213
22d435172d1a
separate logic and nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
210
diff
changeset
|
34 open _∨_ |
22d435172d1a
separate logic and nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
210
diff
changeset
|
35 open Bool |
254 | 36 open _==_ |
44
fcac01485f32
od→lv : {n : Level} → OD {n} → Nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
43
diff
changeset
|
37 |
420 | 38 open HOD |
39 | |
416 | 40 -- _⊗_ : (A B : HOD) → HOD |
41 -- A ⊗ B = Union ( Replace B (λ b → Replace A (λ a → < a , b > ) )) | |
233 | 42 |
420 | 43 Func : OD |
44 Func = record { def = λ x → def ZFProduct x | |
422 | 45 ∧ ( (a b c : Ordinal) → odef (* x) (& < * a , * b >) ∧ odef (* x) (& < * a , * c >) → b ≡ c ) } |
225 | 46 |
420 | 47 FuncP : ( A B : HOD ) → HOD |
48 FuncP A B = record { od = record { def = λ x → odef (ZFP A B) x | |
49 ∧ ( (x : Ordinal ) (p q : odef (ZFP A B ) x ) → pi1 (proj1 p) ≡ pi1 (proj1 q) → pi2 (proj1 p) ≡ pi2 (proj1 q) ) } | |
50 ; odmax = odmax (ZFP A B) ; <odmax = λ lt → <odmax (ZFP A B) (proj1 lt) } | |
51 | |
425 | 52 record Injection (A B : Ordinal ) : Set n where |
53 field | |
426 | 54 i→ : (x : Ordinal ) → odef (* A) x → Ordinal |
55 iB : (x : Ordinal ) → ( lt : odef (* A) x ) → odef (* B) ( i→ x lt ) | |
56 iiso : (x y : Ordinal ) → ( ltx : odef (* A) x ) ( lty : odef (* A) y ) → i→ x ltx ≡ i→ y lty → x ≡ y | |
425 | 57 |
416 | 58 record Bijection (A B : Ordinal ) : Set n where |
219 | 59 field |
425 | 60 fun← : (x : Ordinal ) → odef (* A) x → Ordinal |
61 fun→ : (x : Ordinal ) → odef (* B) x → Ordinal | |
62 funB : (x : Ordinal ) → ( lt : odef (* A) x ) → odef (* B) ( fun← x lt ) | |
63 funA : (x : Ordinal ) → ( lt : odef (* B) x ) → odef (* A) ( fun→ x lt ) | |
64 fiso← : (x : Ordinal ) → ( lt : odef (* B) x ) → fun← ( fun→ x lt ) ( funA x lt ) ≡ x | |
65 fiso→ : (x : Ordinal ) → ( lt : odef (* A) x ) → fun→ ( fun← x lt ) ( funB x lt ) ≡ x | |
416 | 66 |
425 | 67 Bernstein : {a b : Ordinal } → Injection a b → Injection b a → Bijection a b |
68 Bernstein = {!!} | |
69 | |
70 _=c=_ : ( A B : HOD ) → Set n | |
71 A =c= B = Bijection ( & A ) ( & B ) | |
72 | |
73 _c<_ : ( A B : HOD ) → Set n | |
426 | 74 A c< B = ¬ ( Injection (& A) (& B) ) |
425 | 75 |
416 | 76 Card : OD |
77 Card = record { def = λ x → (a : Ordinal) → a o< x → ¬ Bijection a x } | |
425 | 78 |
79 record Cardinal (a : Ordinal ) : Set (suc n) where | |
80 field | |
81 card : Ordinal | |
82 ciso : Bijection a card | |
83 cmax : (x : Ordinal) → card o< x → ¬ Bijection a x | |
84 | |
427 | 85 Cardinal∈ : { s : HOD } → { t : Ordinal } → Ord t ∋ s → s c< Ord t |
86 Cardinal∈ = ? | |
87 | |
88 Cardinal⊆ : { s t : HOD } → s ⊆ t → ( s c< t ) ∨ ( s =c= t ) | |
89 Cardinal⊆ = {!!} | |
90 | |
425 | 91 Cantor1 : { u : HOD } → u c< Power u |
92 Cantor1 = {!!} | |
93 | |
94 Cantor2 : { u : HOD } → ¬ ( u =c= Power u ) | |
95 Cantor2 = {!!} |