annotate README.md @ 1324:1eefc6600354

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 11 Jun 2023 18:49:13 +0900
parents 42000f20fdbe
children 003424a36fed
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
1200
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
8 [zfc](https://shinji-kono.github.io/zf-in-agda/html/zfc.html) axiom of choice
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
9
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
10 [NSet](https://shinji-kono.github.io/zf-in-agda/html/NSet.html) Naive Set Theory
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
11
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
12 [Ordinals](https://shinji-kono.github.io/zf-in-agda/html/Ordinals.html) axiom of Ordinals
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
13
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
14 [OD](https://shinji-kono.github.io/zf-in-agda/html/OD.html) a model of ZF based on Ordinal Definable Set with assumptions
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
15
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
16 [ODC](https://shinji-kono.github.io/zf-in-agda/html/ODC.html) Law of exclude middle from axiom of choice assumptions
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
17
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
18 [LEMC](https://shinji-kono.github.io/zf-in-agda/html/LEMC.html) choice with assumption of the Law of exclude middle
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
19
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
20 [BAlgebra](https://shinji-kono.github.io/zf-in-agda/html/BAlgebra.html) Boolean algebra on OD (not yet done)
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
21
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
22 [zorn](https://shinji-kono.github.io/zf-in-agda/html/zorn.html) Zorn lemma
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
23
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
24 [Topology](https://shinji-kono.github.io/zf-in-agda/html/Topology.html) Topology
337
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
25
1200
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
26 [Tychonoff](https://shinji-kono.github.io/zf-in-agda/html/Tychonoff.html)
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
27
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
28 [VL](https://shinji-kono.github.io/zf-in-agda/html/VL.html) V and L
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
29
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
30 [cardinal](https://shinji-kono.github.io/zf-in-agda/html/cardinal.html) Cardinals
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
31
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
32 [filter](https://shinji-kono.github.io/zf-in-agda/html/filter.html) Filter
337
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
33
1200
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
34 [generic-filter](https://shinji-kono.github.io/zf-in-agda/html/generic-filter.html) Generic Filter
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
35
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
36 [maximum-filter](https://shinji-kono.github.io/zf-in-agda/html/maximum-filter.html) Maximum filter by Zorn lemma
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
37
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
38 [ordinal](https://shinji-kono.github.io/zf-in-agda/html/ordinal.html) countable model of Ordinals
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
39
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
40 [OPair](https://shinji-kono.github.io/zf-in-agda/html/OPair.html) Orderd Pair and Direct Product
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
41
42000f20fdbe fix README
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
42
337
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 ## Ordinal Definable Set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
46
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
47 It is a predicate has an Ordinal argument.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
48
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
49 In Agda, OD is defined as follows.
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 record OD : Set (suc n ) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
53 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
54 def : (x : Ordinal ) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
55 ```
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 This is not a ZF Set, because it can contain entire Ordinals.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
58
338
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 337
diff changeset
59 ## HOD : Hereditarily Ordinal Definable
337
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 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
62
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
63 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
64 record HOD : Set (suc n) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
65 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
66 od : OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
67 odmax : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
68 <odmax : {y : Ordinal} → def od y → y o< odmax
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
69 ```
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 In classical Set Theory, HOD stands for Hereditarily Ordinal Definable, which means
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
72
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 HOD = { x | TC x ⊆ OD }
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 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
78 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
79
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
80 ## 1 to 1 mapping between an HOD and an Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
81
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
82 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
83
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 od→ord : HOD → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
86 ord→od : Ordinal → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
87 oiso : {x : HOD } → ord→od ( od→ord x ) ≡ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
88 diso : {x : Ordinal } → od→ord ( ord→od x ) ≡ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
89 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
90
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
91 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
92
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
93 A ∋ x can be define as follows.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
94
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
95 ```
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
96 _∋_ : ( A x : HOD ) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
97 _∋_ A x = def (od A) ( od→ord x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
98
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
99 ```
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 359
diff changeset
100 In ψ : Ordinal → Set, if A is a record { od = { def = λ x → ψ x } ...} , then
337
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
101
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 359
diff changeset
102 A ∋ x = def (od A) ( od→ord x ) = ψ (od→ord x)
337
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
103
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
104 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
105 simply assumes these non constructively.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 276
diff changeset
106