annotate README.md @ 403:ce2ce3f62023

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 28 Jul 2020 10:51:08 +0900
parents 5e22b23ee3fd
children a5f8084b8368
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
337
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
1 Constructing ZF Set Theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
2 ============
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
3
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
4 Shinji KONO (kono@ie.u-ryukyu.ac.jp), University of the Ryukyus
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
5
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
6 ## ZF in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
7
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
8 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
9 zf.agda axiom of ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
10 zfc.agda axiom of choice
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
11 Ordinals.agda axiom of Ordinals
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
12 ordinal.agda countable model of Ordinals
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
13 OD.agda model of ZF based on Ordinal Definable Set with assumptions
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
14 ODC.agda Law of exclude middle from axiom of choice assumptions
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
15 LEMC.agda model of choice with assumption of the Law of exclude middle
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
16 OPair.agda ordered pair on OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
17
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
18 BAlgbra.agda Boolean algebra on OD (not yet done)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
19 filter.agda Filter on OD (not yet done)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
20 cardinal.agda Caedinal number on OD (not yet done)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
21
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
22 logic.agda some basics on logic
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
23 nat.agda some basics on Nat
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
24 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
25
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
26 ## Ordinal Definable Set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
27
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
28 It is a predicate has an Ordinal argument.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
29
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
30 In Agda, OD is defined as follows.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
31
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
32 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
33 record OD : Set (suc n ) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
34 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
35 def : (x : Ordinal ) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
36 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
37
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
38 This is not a ZF Set, because it can contain entire Ordinals.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
39
338
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 337
diff changeset
40 ## HOD : Hereditarily Ordinal Definable
337
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
41
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
42 What we need is a bounded OD, the containment is limited by an ordinal.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
43
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
44 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
45 record HOD : Set (suc n) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
46 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
47 od : OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
48 odmax : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
49 <odmax : {y : Ordinal} → def od y → y o< odmax
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
50 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
51
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
52 In classical Set Theory, HOD stands for Hereditarily Ordinal Definable, which means
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
53
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
54 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
55 HOD = { x | TC x ⊆ OD }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
56 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
57
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
58 TC x is all transitive closure of x, that is elements of x and following all elements of them are all OD. But
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
59 what is x? In this case, x is an Set which we don't have yet. In our case, HOD is a bounded OD.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
60
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
61 ## 1 to 1 mapping between an HOD and an Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
62
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
63 HOD is a predicate on Ordinals and the solution is bounded by some ordinal. If we have a mapping
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
64
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
65 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
66 od→ord : HOD → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
67 ord→od : Ordinal → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
68 oiso : {x : HOD } → ord→od ( od→ord x ) ≡ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
69 diso : {x : Ordinal } → od→ord ( ord→od x ) ≡ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
70 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
71
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
72 we can check an HOD is an element of the OD using def.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
73
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
74 A ∋ x can be define as follows.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
75
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
76 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
77 _∋_ : ( A x : HOD ) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
78 _∋_ A x = def (od A) ( od→ord x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
79
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
80 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
81 In ψ : Ordinal → Set, if A is a record { def = λ x → ψ x } , then
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
82
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
83 A x = def A ( od→ord x ) = ψ (od→ord x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
84
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
85 They say the existing of the mappings can be proved in Classical Set Theory, but we
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
86 simply assumes these non constructively.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
87