annotate src/ODC.agda @ 1120:e086a266c6b7

FIP fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 03 Jan 2023 09:28:23 +0900
parents 55ab5de1ae02
children 45cd80181a29
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 {-# OPTIONS --allow-unsolved-metas #-}
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import Level
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 open import Ordinals
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 module ODC {n : Level } (O : Ordinals {n} ) where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 open import zf
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
7 open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open import Relation.Binary.PropositionalEquality
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
9 open import Data.Nat.Properties
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 open import Data.Empty
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 open import Relation.Nullary
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 open import Relation.Binary
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 open import Relation.Binary.Core
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 import OrdUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 open import logic
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 open import nat
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 import OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 import ODUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 open inOrdinal O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 open OD O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 open OD.OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 open OD._==_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 open ODAxiom odAxiom
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 open ODUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 open Ordinals.Ordinals O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 open Ordinals.IsOrdinals isOrdinal
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 open Ordinals.IsNext isNext
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 open OrdUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 open HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 open _∧_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
38 postulate
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 -- mimimul and x∋minimal is an Axiom of choice
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
40 minimal : (x : HOD ) → ¬ (x =h= od∅ )→ HOD
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 -- this should be ¬ (x =h= od∅ )→ ∃ ox → x ∋ Ord ox ( minimum of x )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 x∋minimal : (x : HOD ) → ( ne : ¬ (x =h= od∅ ) ) → odef x ( & ( minimal x ne ) )
467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 466
diff changeset
43 -- minimality (proved by ε-induction with LEM)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 minimal-1 : (x : HOD ) → ( ne : ¬ (x =h= od∅ ) ) → (y : HOD ) → ¬ ( odef (minimal x ne) (& y)) ∧ (odef x (& y) )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 --
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 -- Axiom of choice in intutionistic logic implies the exclude middle
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 -- https://plato.stanford.edu/entries/axiom-choice/#AxiChoLog
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 --
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 pred-od : ( p : Set n ) → HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 pred-od p = record { od = record { def = λ x → (x ≡ o∅) ∧ p } ;
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
54 odmax = osuc o∅; <odmax = λ x → subst (λ k → k o< osuc o∅) (sym (proj1 x)) <-osuc }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
55
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 ppp : { p : Set n } { a : HOD } → pred-od p ∋ a → p
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 ppp {p} {a} d = proj2 d
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
58
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 p∨¬p : ( p : Set n ) → p ∨ ( ¬ p ) -- assuming axiom of choice
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 p∨¬p p with is-o∅ ( & (pred-od p ))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 p∨¬p p | yes eq = case2 (¬p eq) where
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
62 ps = pred-od p
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
63 eqo∅ : ps =h= od∅ → & ps ≡ o∅
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
64 eqo∅ eq = subst (λ k → & ps ≡ k) ord-od∅ ( cong (λ k → & k ) (==→o≡ eq))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 lemma : ps =h= od∅ → p → ⊥
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 lemma eq p0 = ¬x<0 {& ps} (eq→ eq record { proj1 = eqo∅ eq ; proj2 = p0 } )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 ¬p : (& ps ≡ o∅) → p → ⊥
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 ¬p eq = lemma ( subst₂ (λ j k → j =h= k ) *iso o∅≡od∅ ( o≡→== eq ))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 p∨¬p p | no ¬p = case1 (ppp {p} {minimal ps (λ eq → ¬p (eqo∅ eq))} lemma) where
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
70 ps = pred-od p
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
71 eqo∅ : ps =h= od∅ → & ps ≡ o∅
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
72 eqo∅ eq = subst (λ k → & ps ≡ k) ord-od∅ ( cong (λ k → & k ) (==→o≡ eq))
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
73 lemma : ps ∋ minimal ps (λ eq → ¬p (eqo∅ eq))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 lemma = x∋minimal ps (λ eq → ¬p (eqo∅ eq))
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
76 decp : ( p : Set n ) → Dec p -- assuming axiom of choice
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 decp p with p∨¬p p
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 decp p | case1 x = yes x
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 decp p | case2 x = no x
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
80
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
81 ∋-p : (A x : HOD ) → Dec ( A ∋ x )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 ∋-p A x with p∨¬p ( A ∋ x ) -- LEM
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 ∋-p A x | case1 t = yes t
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 ∋-p A x | case2 t = no (λ x → t x)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
86 double-neg-elim : {A : Set n} → ¬ ¬ A → A -- we don't have this in intutionistic logic
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
87 double-neg-elim {A} notnot with decp A -- assuming axiom of choice
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 ... | yes p = p
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 ... | no ¬p = ⊥-elim ( notnot ¬p )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
90
860
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
91 or-exclude : {A B : Set n} → A ∨ B → A ∨ ( (¬ A) ∧ B )
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
92 or-exclude {A} {B} ab with p∨¬p A
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
93 or-exclude {A} {B} (case1 a) | case1 a0 = case1 a
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
94 or-exclude {A} {B} (case1 a) | case2 ¬a = ⊥-elim ( ¬a a )
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
95 or-exclude {A} {B} (case2 b) | case1 a = case1 a
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
96 or-exclude {A} {B} (case2 b) | case2 ¬a = case2 ⟪ ¬a , b ⟫
105f8d6c51fb no-extension on immidate ordinal passed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 477
diff changeset
97
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
98 -- record By-contradiction (A : Set n) (B : A → Set n) : Set (suc n) where
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
99 -- field
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
100 -- a : A
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
101 -- b : B a
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
102 --
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
103 -- by-contradiction : {A : Set n} {B : A → Set n} → ¬ ( (a : A ) → ¬ B a ) → By-contradiction A B
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
104 -- by-contradiction {A} {B} not with p∨¬p A
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
105 -- ... | case2 ¬a = ⊥-elim (not (λ a → ⊥-elim (¬a a )))
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
106 -- ... | case1 a with p∨¬p (B a)
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
107 -- ... | case1 b = record { a = a ; b = b }
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
108 -- ... | case2 ¬b = ⊥-elim ( not ( λ a b → ⊥-elim ( ¬b ? )))
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
109 --
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 power→⊆ : ( A t : HOD) → Power A ∋ t → t ⊆ A
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 860
diff changeset
111 power→⊆ A t PA∋t tx = subst (λ k → odef A k ) &iso ( power→ A t PA∋t (subst (λ k → odef t k) (sym &iso) tx ) )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112
447
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
113 power-∩ : { A x y : HOD } → Power A ∋ x → Power A ∋ y → Power A ∋ ( x ∩ y )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
114 power-∩ {A} {x} {y} ax ay = power← A (x ∩ y) p01 where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
115 p01 : {z : HOD} → (x ∩ y) ∋ z → A ∋ z
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 860
diff changeset
116 p01 {z} xyz = power→ A x ax (proj1 xyz )
447
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
117
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 OrdP : ( x : Ordinal ) ( y : HOD ) → Dec ( Ord x ∋ y )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 OrdP x y with trio< x (& y)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 OrdP x y | tri< a ¬b ¬c = no ¬c
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 OrdP x y | tri≈ ¬a refl ¬c = no ( o<¬≡ refl )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 OrdP x y | tri> ¬a ¬b c = yes c
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 open import zfc
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 HOD→ZFC : ZFC
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
127 HOD→ZFC = record {
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
128 ZFSet = HOD
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
129 ; _∋_ = _∋_
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
130 ; _≈_ = _=h=_
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 ; ∅ = od∅
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 ; Select = Select
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 ; isZFC = isZFC
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 } where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 -- infixr 200 _∈_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 -- infixr 230 _∩_ _∪_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 isZFC : IsZFC (HOD ) _∋_ _=h=_ od∅ Select
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 isZFC = record {
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 choice-func = choice-func ;
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 choice = choice
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 } where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 -- Axiom of choice ( is equivalent to the existence of minimal in our case )
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
143 -- ∀ X [ ∅ ∉ X → (∃ f : X → ⋃ X ) → ∀ A ∈ X ( f ( A ) ∈ A ) ]
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 choice-func : (X : HOD ) → {x : HOD } → ¬ ( x =h= od∅ ) → ( X ∋ x ) → HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 choice-func X {x} not X∋x = minimal x not
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
146 choice : (X : HOD ) → {A : HOD } → ( X∋A : X ∋ A ) → (not : ¬ ( A =h= od∅ )) → A ∋ choice-func X not X∋A
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 choice X {A} X∋A not = x∋minimal A not
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
148