annotate set-of-agda.agda @ 15:497152f625ee

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 14 May 2019 03:52:42 +0900
parents e7990ff544bf
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 module set-of-agda where
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 open import Level
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
4 open import Data.Bool
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
6 -- infix 50 _∧_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
7
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
8 -- record _∧_ {n m : Level} (A : Set n) ( B : Set m ) : Set (n ⊔ m) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
9 -- constructor _×_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
10 -- field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
11 -- proj1 : A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
12 -- proj2 : B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
13
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
14 -- open _∧_
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
16 -- infix 50 _∨_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
17
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
18 -- data _∨_ {n m : Level} (A : Set n) ( B : Set m ) : Set (n ⊔ m) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
19 -- case1 : A → A ∨ B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
20 -- case2 : B → A ∨ B
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
3
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
22 data ZFSet {n : Level} : Set (suc (suc n)) where
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
23 elem : { A : Set n } ( a : A ) → ZFSet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
24 ∅ : ZFSet {n}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
25 pair : {A B : Set n} (a : A ) (b : B ) → ZFSet
3
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
26 union : (A : Set (suc n) ) → ZFSet
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
27 -- repl : ( ψ : ZFSet {n} → Set zero ) → ZFSet
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
28 infinite : ZFSet
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
29 power : (A : ZFSet {n}) → ZFSet
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 infix 60 _∋_ _∈_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
33 open import Relation.Binary.PropositionalEquality
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
35 data _∈_ {n : Level} : {A : Set n} ( a : A ) ( Z : ZFSet {n} ) → Set (suc n) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
36 ∈-elm : {A : Set n } {a : A} → a ∈ (elem a)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
37 ∈-pair-1 : {A : Set n } {B : Set n} {b : B} {a : A} → a ∈ (pair a b)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
38 ∈-pair-2 : {A : Set n } {B : Set n} {b : A} {a : B} → b ∈ (pair a b)
3
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
39 -- ∈-union : {Z : Set (suc n)} {A : Z } → {a : {!!} } → a ∈ (union Z)
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
40 -- ∈-repl : {A : Set n } { B : Set n} → { ψ : B → A } → { b : B } → ψ b ∈ {!!} -- (repl {!!})
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
41 -- ∈-infinite-1 : ∅ ∈ infinite
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
42 -- ∈-infinite : {A : Set n} {a : A} → _∈_ infinite {A} a
3
e7990ff544bf reocrd ZF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
43 ∈-power : {A B : Set n} {Z : ZFSet {n}} {a : A → B } → a ∈ (power Z)
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
44
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
45 -- _∈_ : {n : Level} { A : ZFSet {n} } → {B : Set n} → (a : B ) → Set n → Bool
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
46 -- _∈_ {_} {A} a _ = A ∋ a
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 infix 40 _⇔_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
50 -- _⇔_ : {n : Level} (A B : Set n) → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
51 -- A ⇔ B = ( ∀ {x : A } → x ∈ B ) ∧ ( ∀ {x : B } → x ∈ A )
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 -- Axiom of extentionality
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 -- ∀ x ∀ y [ ∀ z ( z ∈ x ⇔ z ∈ y ) ⇒ ∀ w ( x ∈ w ⇔ y ∈ w ) ]
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
56 -- set-extentionality : {n : Level } {x y : Set n } → { z : x } → ( z ∈ x ⇔ z ∈ y ) → ∀ (w : Set (suc n)) → ( x ∈ w ⇔ y ∈ w )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
57 -- proj1 (set-extentionality {n} {x} {y} {z} (z∈x→z∈y × z∈x←z∈y) w) {elem .x} = elem ( elem x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
58 -- proj2 (set-extentionality {n} {x} {y} {z} (z∈x→z∈y × z∈x←z∈y) w) {elem .y} = elem ( elem y )
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
59
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
60
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
61 open import Relation.Nullary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
62 open import Data.Empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
63
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
64 -- data ∅ : Set where
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
65
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
66 infix 50 _∩_
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
68 -- record _∩_ {n m : Level} (A : Set n) ( B : Set m) : Set (n ⊔ m) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
69 -- field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
70 -- inL : {x : A } → x ∈ A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
71 -- inR : {x : B } → x ∈ B
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
72
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
73 -- open _∩_
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
74
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
75 -- lemma : {n m : Level} (A : Set n) ( B : Set m) → (a : A ) → a ∈ (A ∩ B)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
76 -- lemma A B a A∩B = inL A∩B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
77
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
78 -- Axiom of regularity
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
79 -- ∀ x ( x ≠ ∅ → ∃ y ∈ x ( y ∩ x = ∅ ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
80
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
81 -- set-regularity : {n : Level } → ( x : Set n) → ( ¬ ( x ⇔ ∅ ) ) → { y : x } → ( y ∩ x ⇔ ∅ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
82 -- set-regularity = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
83
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
84 -- Axiom of pairing
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
85 -- ∀ x ∀ y ∃ z(x ∈ z ∧ y ∈ z).
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
86
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
87 -- pair : {n m : Level} ( x : Set n ) ( y : Set m ) → Set (n ⊔ m)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
88 -- pair x y = {!!} -- ( x × y )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
89
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
90 -- Axiom of Union
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
91 -- ∀ X ∃ A∀ t(t ∈ A ⇔ ∃ x ∈ X(t ∈ x))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
92
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
93 -- axiom of infinity
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
94 -- ∃ A ( ∅ ∈ A ∧ ∀ x ∈ A ( x ∪ { x } ∈ A ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
95
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
96 -- axiom of replacement
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
97 -- ∀ x ∀ y ∀ z ( ( ψ ( x , y ) ∧ ψ ( x , z ) ) → y = z ) → ∀ X ∃ A ∀ y ( y ∈ A ↔ ∃ x ∈ X ψ ( x , y ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
98
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
99 -- axiom of power set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
100 -- ∀ X ∃ A ∀ t ( t ∈ A ↔ t ⊆ X ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
101
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
102
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
103
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
104