annotate set-of-agda.agda @ 1:a63df8c77114

union
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 08 May 2019 11:34:23 +0900
parents e8adb0eb4243
children 5c819f837721
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
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 infix 50 _∧_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 record _∧_ {n m : Level} (A : Set n) ( B : Set m ) : Set (n ⊔ m) where
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 constructor _×_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 field
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 proj1 : A
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 proj2 : B
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 open _∧_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 infix 50 _∨_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 data _∨_ {n m : Level} (A : Set n) ( B : Set m ) : Set (n ⊔ m) where
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 case1 : A → A ∨ B
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 case2 : B → A ∨ B
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 infix 60 _∋_ _∈_
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
23 data _∋_ {n : Level} ( A : Set n ) : (a : A ) → Set n where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
24 elem : (a : A) → A ∋ a
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
26 _∈_ : {n : Level} { A : Set n } → (a : A ) → Set n → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
27 _∈_ {_} {A} a _ = A ∋ a
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 infix 40 _⇔_
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 _⇔_ : {n : Level} (A B : Set n) → Set n
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 A ⇔ B = ( ∀ {x : A } → x ∈ B ) ∧ ( ∀ {x : B } → x ∈ A )
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 -- Axiom of extentionality
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 -- ∀ 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
36
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 set-extentionality : {n : Level } {x y : Set n } → { z : x } → ( z ∈ x ⇔ z ∈ y ) → ∀ (w : Set (suc n)) → ( x ∈ w ⇔ y ∈ w )
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
38 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: 0
diff changeset
39 proj2 (set-extentionality {n} {x} {y} {z} (z∈x→z∈y × z∈x←z∈y) w) {elem .y} = elem ( elem y )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
40
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
41 -- Axiom of regularity
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
42 -- ∀ x ( x ≠ ∅ → ∃ y ∈ x ( y ∩ x = ∅ ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
43
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
44 open import Relation.Nullary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
45 open import Data.Empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
46
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
47 data ∅ : Set where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
48
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
49 infix 50 _∩_
0
e8adb0eb4243 Set theory in Agda
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50
1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
51 record _∩_ {n m : Level} (A : Set n) ( B : Set m) : Set (n ⊔ m) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
52 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
53 inL : {x : A } → x ∈ A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
54 inR : {x : B } → x ∈ B
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
55
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
56 open _∩_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
57
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
58 -- 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
59 -- lemma A B a A∩B = inL A∩B
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 -- set-regularity : {n : Level } → ( x : Set n) → ( ¬ ( x ⇔ ∅ ) ) → { y : x } → ( y ∩ x ⇔ ∅ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
62 -- set-regularity = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 0
diff changeset
63