annotate cardinal.agda @ 425:f7d66c84bc26

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 05 Aug 2020 19:37:07 +0900
parents cc7909f86841
children 47aacf417930
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 15
diff changeset
1 open import Level
224
afc864169325 recover ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 219
diff changeset
2 open import Ordinals
afc864169325 recover ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 219
diff changeset
3 module cardinal {n : Level } (O : Ordinals {n}) where
3
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
14
e11e95d5ddee separete constructible set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 11
diff changeset
5 open import zf
219
43021d2b8756 separate cardinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 218
diff changeset
6 open import logic
224
afc864169325 recover ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 219
diff changeset
7 import OD
276
6f10c47e4e7a separate choice
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 274
diff changeset
8 import ODC
274
29a85a427ed2 ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 272
diff changeset
9 import OPair
23
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 22
diff changeset
10 open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ )
224
afc864169325 recover ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 219
diff changeset
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
d9b704508281 isEquiv and isZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
13 open import Data.Empty
d9b704508281 isEquiv and isZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
14 open import Relation.Nullary
d9b704508281 isEquiv and isZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
15 open import Relation.Binary
d9b704508281 isEquiv and isZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
16 open import Relation.Binary.Core
d9b704508281 isEquiv and isZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 4
diff changeset
17
224
afc864169325 recover ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 219
diff changeset
18 open inOrdinal O
afc864169325 recover ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 219
diff changeset
19 open OD O
219
43021d2b8756 separate cardinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 218
diff changeset
20 open OD.OD
274
29a85a427ed2 ε-induction
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 272
diff changeset
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
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
24 import OrdUtil
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
25 import ODUtil
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
26 open Ordinals.Ordinals O
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
27 open Ordinals.IsOrdinals isOrdinal
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
28 open Ordinals.IsNext isNext
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
29 open OrdUtil O
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
30 open ODUtil O
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
31
cc7909f86841 remvoe TransFinifte1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 422
diff changeset
32
120
ac214eab1c3c inifinite done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
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
2ea2a19f9cd6 ordered pair clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 253
diff changeset
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
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
38 open HOD
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
39
416
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 378
diff changeset
40 -- _⊗_ : (A B : HOD) → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 378
diff changeset
41 -- A ⊗ B = Union ( Replace B (λ b → Replace A (λ a → < a , b > ) ))
233
af60c40298a4 function continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
42
420
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
43 Func : OD
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
44 Func = record { def = λ x → def ZFProduct x
422
44a484f17f26 syntax *, &, ⟪ , ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 421
diff changeset
45 ∧ ( (a b c : Ordinal) → odef (* x) (& < * a , * b >) ∧ odef (* x) (& < * a , * c >) → b ≡ c ) }
225
5f48299929ac does not work
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 224
diff changeset
46
420
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
47 FuncP : ( A B : HOD ) → HOD
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
48 FuncP A B = record { od = record { def = λ x → odef (ZFP A B) x
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
49 ∧ ( (x : Ordinal ) (p q : odef (ZFP A B ) x ) → pi1 (proj1 p) ≡ pi1 (proj1 q) → pi2 (proj1 p) ≡ pi2 (proj1 q) ) }
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
50 ; odmax = odmax (ZFP A B) ; <odmax = λ lt → <odmax (ZFP A B) (proj1 lt) }
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
51
425
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
52 -- Func∋f : {A B x : HOD} → ( f : HOD → HOD ) → ( (x : HOD ) → A ∋ x → B ∋ f x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
53 -- → def Func (& (Replace A (λ x → < x , f x > )))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
54 -- Func∋f = {!!}
233
af60c40298a4 function continue
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 230
diff changeset
55
425
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
56 -- FuncP∋f : {A B x : HOD} → ( f : HOD → HOD ) → ( (x : HOD ) → A ∋ x → B ∋ f x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
57 -- → odef (FuncP A B) (& (Replace A (λ x → < x , f x > )))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
58 -- FuncP∋f = {!!}
420
53422a8ea836 bijection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 417
diff changeset
59
422
44a484f17f26 syntax *, &, ⟪ , ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 421
diff changeset
60 -- Func→f : {A B f x : HOD} → def Func (& f) → (x : HOD ) → A ∋ x → ( HOD ∧ ((y : HOD ) → B ∋ y ))
421
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 420
diff changeset
61 -- Func→f = {!!}
422
44a484f17f26 syntax *, &, ⟪ , ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 421
diff changeset
62 -- Func₁ : {A B f : HOD} → def Func (& f) → {!!}
421
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 420
diff changeset
63 -- Func₁ = {!!}
422
44a484f17f26 syntax *, &, ⟪ , ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 421
diff changeset
64 -- Cod : {A B f : HOD} → def Func (& f) → {!!}
421
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 420
diff changeset
65 -- Cod = {!!}
422
44a484f17f26 syntax *, &, ⟪ , ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 421
diff changeset
66 -- 1-1 : {A B f : HOD} → def Func (& f) → {!!}
421
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 420
diff changeset
67 -- 1-1 = {!!}
422
44a484f17f26 syntax *, &, ⟪ , ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 421
diff changeset
68 -- onto : {A B f : HOD} → def Func (& f) → {!!}
421
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 420
diff changeset
69 -- onto = {!!}
227
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 226
diff changeset
70
425
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
71 record Injection (A B : Ordinal ) : Set n where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
72 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
73 i→ : (x : Ordinal ) → odef (* B) x → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
74 iA : (x : Ordinal ) → ( lt : odef (* B) x ) → odef (* A) ( i→ x lt )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
75 iiso : (x y : Ordinal ) → ( ltx : odef (* B) x ) ( lty : odef (* B) y ) → i→ x ltx ≡ i→ y lty → x ≡ y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
76
416
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 378
diff changeset
77 record Bijection (A B : Ordinal ) : Set n where
219
43021d2b8756 separate cardinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 218
diff changeset
78 field
425
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
79 fun← : (x : Ordinal ) → odef (* A) x → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
80 fun→ : (x : Ordinal ) → odef (* B) x → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
81 funB : (x : Ordinal ) → ( lt : odef (* A) x ) → odef (* B) ( fun← x lt )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
82 funA : (x : Ordinal ) → ( lt : odef (* B) x ) → odef (* A) ( fun→ x lt )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
83 fiso← : (x : Ordinal ) → ( lt : odef (* B) x ) → fun← ( fun→ x lt ) ( funA x lt ) ≡ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
84 fiso→ : (x : Ordinal ) → ( lt : odef (* A) x ) → fun→ ( fun← x lt ) ( funB x lt ) ≡ x
416
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 378
diff changeset
85
425
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
86 Bernstein : {a b : Ordinal } → Injection a b → Injection b a → Bijection a b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
87 Bernstein = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
88
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
89 _=c=_ : ( A B : HOD ) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
90 A =c= B = Bijection ( & A ) ( & B )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
91
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
92 _c<_ : ( A B : HOD ) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
93 A c< B = Injection (& A) (& B)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
94
416
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 378
diff changeset
95 Card : OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 378
diff changeset
96 Card = record { def = λ x → (a : Ordinal) → a o< x → ¬ Bijection a x }
425
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
97
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
98 record Cardinal (a : Ordinal ) : Set (suc n) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
99 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
100 card : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
101 ciso : Bijection a card
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
102 cmax : (x : Ordinal) → card o< x → ¬ Bijection a x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
103
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
104 Cantor1 : { u : HOD } → u c< Power u
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
105 Cantor1 = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
107 Cantor2 : { u : HOD } → ¬ ( u =c= Power u )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 424
diff changeset
108 Cantor2 = {!!}