annotate src/ODUtil.agda @ 1489:0dbbae768c90 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 01 Jul 2024 23:04:17 +0900
parents 5dacb669f13b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
1 {-# OPTIONS --cubical-compatible --safe #-}
431
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
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
4 import HODBase
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
5 import OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
6 module ODUtil {n : Level } (O : Ordinals {n} ) (HODAxiom : HODBase.ODAxiom O) (ho< : OD.ODAxiom-ho< O HODAxiom ) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
8 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
9 open import Relation.Binary.PropositionalEquality hiding ( [_] )
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
10 open import Data.Nat.Properties
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 open import Data.Empty
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
12 open import Data.Unit
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 open import Relation.Nullary
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
14 open import Relation.Binary hiding (_⇔_)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
15 open import Relation.Binary.Core hiding (_⇔_)
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
16 import Relation.Binary.Reasoning.Setoid as EqR
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 open import logic
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
19 import OrdUtil
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 open import nat
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 open Ordinals.Ordinals O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 open Ordinals.IsOrdinals isOrdinal
1300
47d3cc596d68 remove next
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1297
diff changeset
24 -- open Ordinals.IsNext isNext
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 open OrdUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
27 -- Ordinal Definable Set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
28
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
29 open HODBase.HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
30 open HODBase.OD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
31
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
32 open _∧_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
33 open _∨_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
34 open Bool
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
35
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
36 open HODBase._==_
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
37
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
38 open HODBase.ODAxiom HODAxiom
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
39 open OD O HODAxiom
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
41 _⊂_ : ( A B : HOD) → Set n
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
42 _⊂_ A B = ( & A o< & B) ∧ ( A ⊆ B )
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
43
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
44 ⊆∩-dist : {a b c : HOD} → a ⊆ b → a ⊆ c → a ⊆ ( b ∩ c )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
45 ⊆∩-dist {a} {b} {c} a<b a<c {z} az = ⟪ a<b az , a<c az ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
46
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
47 ⊆∩-incl-1 : {a b c : HOD} → a ⊆ c → ( a ∩ b ) ⊆ c
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
48 ⊆∩-incl-1 {a} {b} {c} a<c {z} ab = a<c (proj1 ab)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
49
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
50 ⊆∩-incl-2 : {a b c : HOD} → a ⊆ c → ( b ∩ a ) ⊆ c
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
51 ⊆∩-incl-2 {a} {b} {c} a<c {z} ab = a<c (proj2 ab)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
52
1483
2435deeecda9 maxfilter fixed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1475
diff changeset
53 *iso∩ : {p q : HOD} → (p ∩ q) =h= (* (& p) ∩ * (& q))
2435deeecda9 maxfilter fixed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1475
diff changeset
54 eq→ (*iso∩ {p} {q}) {x} ⟪ px , qx ⟫ = ⟪ eq← *iso px , eq← *iso qx ⟫
2435deeecda9 maxfilter fixed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1475
diff changeset
55 eq← (*iso∩ {p} {q}) {x} ⟪ px , qx ⟫ = ⟪ eq→ *iso px , eq→ *iso qx ⟫
2435deeecda9 maxfilter fixed
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1475
diff changeset
56
1485
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
57 ∩-cong : {A B C D : HOD} → A =h= B → C =h= D → (A ∩ C) =h= (B ∩ D)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
58 eq→ (∩-cong eq1 eq2) {x} lt = ⟪ eq→ eq1 (proj1 lt) , eq→ eq2 (proj2 lt) ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
59 eq← (∩-cong eq1 eq2) {x} lt = ⟪ eq← eq1 (proj1 lt) , eq← eq2 (proj2 lt) ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
60
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
61 power→⊆ : ( A t : HOD) → Power A ∋ t → t ⊆ A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
62 power→⊆ A t PA∋t t∋x = subst (λ k → odef A k ) &iso ( t1 (subst (λ k → odef t k ) (sym &iso) t∋x)) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
63 t1 : {x : HOD } → t ∋ x → A ∋ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
64 t1 = power→ A t PA∋t
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
65
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
66 power-∩ : { A x y : HOD } → Power A ∋ x → Power A ∋ y → Power A ∋ ( x ∩ y )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
67 power-∩ {A} {x} {y} ax ay = power← A (x ∩ y) p01 where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
68 p01 : {z : HOD} → (x ∩ y) ∋ z → A ∋ z
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
69 p01 {z} xyz = power→ A x ax (proj1 xyz )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
70
1475
6752e2ff4dc6 ordinal (countable Ordinal) done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1467
diff changeset
71 odef-not : {S : HOD} {x : Ordinal } → ¬ ( odef S x ) → odef S x → ⊥
6752e2ff4dc6 ordinal (countable Ordinal) done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1467
diff changeset
72 odef-not neg sx = ⊥-elim ( neg sx )
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
73
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
74 cseq : HOD → HOD
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 cseq x = record { od = record { def = λ y → odef x (osuc y) } ; odmax = osuc (odmax x) ; <odmax = lemma } where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 lemma : {y : Ordinal} → def (od x) (osuc y) → y o< osuc (odmax x)
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
77 lemma {y} lt = ordtrans <-osuc (ordtrans (<odmax x lt) <-osuc )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
78
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
79 ∩-comm : { A B : HOD } → (A ∩ B) =h= (B ∩ A)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
80 ∩-comm {A} {B} = record { eq← = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq→ = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ }
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
81
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
82 _∪_ : ( A B : HOD ) → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
83 A ∪ B = record { od = record { def = λ x → odef A x ∨ odef B x } ;
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
84 odmax = omax (odmax A) (odmax B) ; <odmax = lemma } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
85 lemma : {y : Ordinal} → odef A y ∨ odef B y → y o< omax (odmax A) (odmax B)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
86 lemma {y} (case1 a) = ordtrans (<odmax A a) (omax-x _ _)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
87 lemma {y} (case2 b) = ordtrans (<odmax B b) (omax-y _ _)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
88
1485
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
89 ∪-cong : {A B C D : HOD} → A =h= B → C =h= D → (A ∪ C) =h= (B ∪ D)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
90 eq→ (∪-cong {A} {B} {C} {D} eq1 eq2) {x} (case1 lt) = case1 (eq→ eq1 lt)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
91 eq→ (∪-cong {A} {B} {C} {D} eq1 eq2) {x} (case2 lt) = case2 (eq→ eq2 lt)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
92 eq← (∪-cong {A} {B} {C} {D} eq1 eq2) {x} (case1 lt) = case1 (eq← eq1 lt)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
93 eq← (∪-cong {A} {B} {C} {D} eq1 eq2) {x} (case2 lt) = case2 (eq← eq2 lt)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1483
diff changeset
94
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
95 x∪x≡x : { A : HOD } → (A ∪ A) =h= A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
96 x∪x≡x {A} = record { eq← = λ {x} lt → case1 lt ; eq→ = lem00 } where
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
97 lem00 : {x : Ordinal} → odef A x ∨ odef A x → odef A x
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
98 lem00 {x} (case1 ax) = ax
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
99 lem00 {x} (case2 ax) = ax
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
100
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
101 _\_ : ( A B : HOD ) → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
102 A \ B = record { od = record { def = λ x → odef A x ∧ ( ¬ ( odef B x ) ) }; odmax = odmax A ; <odmax = λ y → <odmax A (proj1 y) }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
103
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
104 ¬∅∋ : {x : HOD} → ¬ ( od∅ ∋ x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
105 ¬∅∋ {x} = ¬x<0
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
106
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
107
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 pair-xx<xy : {x y : HOD} → & (x , x) o< osuc (& (x , y) )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 pair-xx<xy {x} {y} = ⊆→o≤ lemma where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 lemma : {z : Ordinal} → def (od (x , x)) z → def (od (x , y)) z
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 lemma {z} (case1 refl) = case1 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 lemma {z} (case2 refl) = case1 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
113
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 trans-⊆ : { A B C : HOD} → A ⊆ B → B ⊆ C → A ⊆ C
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
115 trans-⊆ A⊆B B⊆C ab = B⊆C (A⊆B ab)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
116
1126
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
117 trans-⊂ : { A B C : HOD} → A ⊂ B → B ⊂ C → A ⊂ C
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
118 trans-⊂ ⟪ A<B , A⊆B ⟫ ⟪ B<C , B⊆C ⟫ = ⟪ ordtrans A<B B<C , (λ ab → B⊆C (A⊆B ab)) ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
119
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 refl-⊆ : {A : HOD} → A ⊆ A
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
121 refl-⊆ x = x
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
122
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 od⊆→o≤ : {x y : HOD } → x ⊆ y → & x o< osuc (& y)
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
124 od⊆→o≤ {x} {y} lt = ⊆→o≤ {x} {y} (λ {z} x>z → subst (λ k → def (od y) k ) &iso (lt (d→∋ x x>z)))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
125
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 447
diff changeset
126 ⊆→= : {F U : HOD} → F ⊆ U → U ⊆ F → F =h= U
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
127 ⊆→= {F} {U} FU UF = record { eq→ = λ {x} lt → subst (λ k → odef U k) &iso (FU (subst (λ k → odef F k) (sym &iso) lt) )
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
128 ; eq← = λ {x} lt → subst (λ k → odef F k) &iso (UF (subst (λ k → odef U k) (sym &iso) lt) ) }
480
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 447
diff changeset
129
519
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
130 ¬A∋x→A≡od∅ : (A : HOD) → {x : HOD} → A ∋ x → ¬ ( & A ≡ o∅ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
131 ¬A∋x→A≡od∅ A {x} ax a=0 = ¬x<0 ( subst (λ k → & x o< k) a=0 (c<→o< ax ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 480
diff changeset
132
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 subset-lemma : {A x : HOD } → ( {y : HOD } → x ∋ y → (A ∩ x ) ∋ y ) ⇔ ( x ⊆ A )
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 subset-lemma {A} {x} = record {
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
135 proj1 = λ lt x∋z → subst (λ k → odef A k ) &iso ( proj1 (lt (subst (λ k → odef x k) (sym &iso) x∋z ) ))
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
136 ; proj2 = λ x⊆A lt → ⟪ x⊆A lt , lt ⟫
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
137 }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
138
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 nat→ω : Nat → HOD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 nat→ω Zero = od∅
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
141 nat→ω (Suc y) = Union (nat→ω y , (nat→ω y , nat→ω y))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
142
1300
47d3cc596d68 remove next
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1297
diff changeset
143 ω→nato : {y : Ordinal} → Omega-d y → Nat
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 ω→nato iφ = Zero
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 ω→nato (isuc lt) = Suc (ω→nato lt)
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
146
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
147 ω→nat : (n : HOD) → Omega ho< ∋ n → Nat
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
148 ω→nat n = ω→nato
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
150 ω∋nat→ω : {n : Nat} → def (od (Omega ho<)) (& (nat→ω n))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
151 ω∋nat→ω {Zero} = subst (λ k → def (od (Omega ho<)) k) (sym ord-od∅) iφ
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
152 ω∋nat→ω {Suc n} = subst (λ k → Omega-d k) (sym (==→o≡ nat01)) nat00 where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
153 nat00 : Omega-d (& (Union (* (& (nat→ω n)) , (* (& (nat→ω n)) , * (& (nat→ω n))))))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
154 nat00 = isuc ( ω∋nat→ω {n})
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
155 nat01 : Union (nat→ω n , ( nat→ω n , nat→ω n)) =h= Union (* (& (nat→ω n)) , (* (& (nat→ω n)) , * (& (nat→ω n))))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
156 nat01 = ==-sym Omega-iso
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
157
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 pair1 : { x y : HOD } → (x , y ) ∋ x
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 pair1 = case1 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 pair2 : { x y : HOD } → (x , y ) ∋ y
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 pair2 = case2 refl
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
163
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
164 single : {x y : HOD } → (x , x ) ∋ y → x =h= y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
165 single (case1 eq) = ord→== (sym eq)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
166 single (case2 eq) = ord→== (sym eq)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
167
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
168 single& : {x y : Ordinal } → odef (* x , * x ) y → x ≡ y
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
169 single& (case1 eq) = sym (trans eq &iso)
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
170 single& (case2 eq) = sym (trans eq &iso)
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
171
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
172 pair=∨ : {a b c : Ordinal } → odef (* a , * b) c → ( a ≡ c ) ∨ ( b ≡ c )
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
173 pair=∨ {a} {b} {c} (case1 c=a) = case1 ( sym (trans c=a &iso))
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
174 pair=∨ {a} {b} {c} (case2 c=b) = case2 ( sym (trans c=b &iso))
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
175
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 ω-prev-eq1 : {x y : Ordinal} → & (Union (* y , (* y , * y))) ≡ & (Union (* x , (* x , * x))) → ¬ (x o< y)
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
177 ω-prev-eq1 {x} {y} eq x<y with eq→ (ord→== eq) record { owner = & (* y , * y) ; ao = case2 refl
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
178 ; ox = eq→ (==-sym *iso) (case1 refl) } -- (* x , (* x , * x)) ∋ * y
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
179 ... | record { owner = u ; ao = xxx∋u ; ox = uy } with xxx∋u
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
180 ... | case1 u=x = ⊥-elim ( o<> x<y (osucprev (begin
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
181 osuc y ≡⟨ sym (cong osuc &iso) ⟩
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
182 osuc (& (* y)) ≤⟨ osucc (c<→o< {* y} {* u} uy) ⟩ -- * x ≡ * u ∋ * y
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
183 & (* u) ≡⟨ &iso ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
184 u ≡⟨ u=x ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
185 & (* x) ≡⟨ &iso ⟩
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
186 x ∎ ))) where open o≤-Reasoning O
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
187 ... | case2 u=xx = ⊥-elim (o<¬≡ ( begin
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
188 x ≡⟨ single& ( eq← (==-sym *iso) (subst₂ (λ j k → odef j k ) (cong (*) u=xx ) &iso uy)) ⟩
1096
55ab5de1ae02 recovery
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 519
diff changeset
189 y ∎ ) x<y) where open ≡-Reasoning
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
191 Omega-inject : {x y : Ordinal} → & (Union (* y , (* y , * y))) ≡ & (Union (* x , (* x , * x))) → y ≡ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
192 Omega-inject {x} {y} eq with trio< x y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
193 Omega-inject {x} {y} eq | tri< a ¬b ¬c = ⊥-elim (ω-prev-eq1 eq a)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
194 Omega-inject {x} {y} eq | tri≈ ¬a b ¬c = (sym b)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
195 Omega-inject {x} {y} eq | tri> ¬a ¬b c = ⊥-elim (ω-prev-eq1 (sym eq) c)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
196
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
197 ω-inject : {x y : HOD} → Union ( y , ( y , y)) =h= Union ( x , ( x , x)) → y =h= x
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
198 ω-inject {x} {y} eq = ord→== ( Omega-inject (==→o≡ (==-trans Omega-iso (==-trans eq (==-sym Omega-iso)))))
1301
9e26c9abfafb fix PFOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
199
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 ω-∈s : (x : HOD) → Union ( x , (x , x)) ∋ x
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
201 ω-∈s x = record { owner = & ( x , x ) ; ao = case2 refl ; ox = eq→ (==-sym *iso) (case2 refl) }
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
202
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
203 ωs≠0 : (x : HOD) → ¬ ( Union ( x , (x , x)) =h= od∅ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
204 ωs≠0 x = ∅< {Union ( x , ( x , x))} (ω-∈s _)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
205
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
206 ω→nato-cong : {n m : Ordinal} → (x : odef (Omega ho< ) n) (y : odef (Omega ho< ) m) → n ≡ m → ω→nato x ≡ ω→nato y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
207 ω→nato-cong OD.iφ OD.iφ eq = refl
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
208 ω→nato-cong OD.iφ (OD.isuc {x} y) eq = ⊥-elim ( ∅< {Union (* x , (* x , * x))} {* x} (ω-∈s _) (≡o∅→=od∅ (sym eq) ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
209 ω→nato-cong (OD.isuc {x} y) OD.iφ eq = ⊥-elim ( ∅< {Union (* x , (* x , * x))} {* x} (ω-∈s _) (≡o∅→=od∅ eq ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
210 ω→nato-cong (OD.isuc x) (OD.isuc y) eq = cong Suc ( ω→nato-cong x y (Omega-inject eq) )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
211
1301
9e26c9abfafb fix PFOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
212 ωs0 : o∅ ≡ & (nat→ω 0)
9e26c9abfafb fix PFOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
213 ωs0 = trans (sym ord-od∅) (cong (&) refl )
9e26c9abfafb fix PFOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
214
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
215 Omega-subst : (x y : HOD) → x =h= y → Union ( x , (x , x)) =h= Union ( y , (y , y))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
216 Omega-subst x y x=y = begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
217 Union (x , (x , x)) ≈⟨ ==-sym Omega-iso ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
218 Union (* (& x) , (* (& x) , * (& x))) ≈⟨ ord→== (cong (λ k → & (Union (* k , (* k , * k )))) (==→o≡ x=y) ) ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
219 Union (* (& y) , (* (& y) , * (& y))) ≈⟨ Omega-iso ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
220 Union (y , (y , y)) ∎ where open EqR ==-Setoid
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
221
1463
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1301
diff changeset
222 nat→ω-iso : {i : HOD} → (lt : Omega ho< ∋ i ) → nat→ω ( ω→nat i lt ) =h= i
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
223 nat→ω-iso {i} lt = ==-trans (nat→ω-iso-ord _ lt) *iso where
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
224 nat→ω-iso-ord : (x : Ordinal) → (lt : odef (Omega ho< ) x) → nat→ω ( ω→nato lt ) =h= (* x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
225 nat→ω-iso-ord _ OD.iφ = ==-sym o∅==od∅
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
226 nat→ω-iso-ord x (OD.isuc OD.iφ) = ==-trans (Omega-subst _ _ (==-sym o∅==od∅)) (==-sym *iso)
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
227 nat→ω-iso-ord x (OD.isuc (OD.isuc {y} lt)) = ==-trans (Omega-subst _ _
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
228 (==-trans (Omega-subst _ _ lem02 ) (==-sym *iso))) (==-sym *iso) where
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
229 lem02 : nat→ω ( ω→nato lt ) =h= (* y)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
230 lem02 = nat→ω-iso-ord y lt
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
231
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
232 ω→nat-iso0 : (x : Nat) → {ox : Ordinal } → (ltd : Omega-d ox) → * ox =h= nat→ω x → ω→nato ltd ≡ x
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
233 ω→nat-iso0 Zero iφ eq = refl
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
234 ω→nat-iso0 (Suc x) iφ eq = ⊥-elim ( ωs≠0 _ (begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
235 Union (nat→ω x , (nat→ω x , nat→ω x)) ≈⟨ ==-sym eq ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
236 * o∅ ≈⟨ o∅==od∅ ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
237 od∅ ∎ )) where open EqR ==-Setoid
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
238 ω→nat-iso0 Zero (isuc ltd) eq = ⊥-elim ( ωs≠0 _ (==-trans (==-sym *iso) eq) )
1100
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
239 ω→nat-iso0 (Suc i) (isuc {x} ltd) eq = cong Suc ( ω→nat-iso0 i ltd (lemma1 eq) ) where
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
240 lemma1 : * (& (Union (* x , (* x , * x)))) =h= Union (nat→ω i , (nat→ω i , nat→ω i)) → * x =h= nat→ω i
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
241 lemma1 eq = begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
242 * x ≈⟨ (o≡→== ( Omega-inject (==→o≡ (begin
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
243 Union (* x , (* x , * x)) ≈⟨ ==-sym *iso ⟩
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
244 * (& ( Union (* x , (* x , * x)))) ≈⟨ eq ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
245 Union ((nat→ω i) , (nat→ω i , nat→ω i)) ≈⟨ ==-sym Omega-iso ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
246 Union (* (& (nat→ω i)) , (* (& (nat→ω i)) , * (& (nat→ω i)))) ∎ )) )) ⟩
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
247 * (& ( nat→ω i)) ≈⟨ *iso ⟩
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
248 nat→ω i ∎ where open EqR ==-Setoid
1100
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1096
diff changeset
249
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
250 ω→nat-iso : {i : Nat} → ω→nat ( nat→ω i ) (ω∋nat→ω {i}) ≡ i
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
251 ω→nat-iso {i} = ω→nat-iso0 i (ω∋nat→ω {i}) *iso
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
252
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
253 nat→ω-inject : {i j : Nat} → nat→ω i =h= nat→ω j → i ≡ j
1301
9e26c9abfafb fix PFOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
254 nat→ω-inject {Zero} {Zero} eq = refl
1464
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
255 nat→ω-inject {Zero} {Suc j} eq = ⊥-elim ( ∅< {Union (nat→ω j , (nat→ω j , nat→ω j))} (ω-∈s _) (==-sym eq) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
256 nat→ω-inject {Suc i} {Zero} eq = ⊥-elim ( ∅< {Union (nat→ω i , (nat→ω i , nat→ω i))} (ω-∈s _) eq )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1463
diff changeset
257 nat→ω-inject {Suc i} {Suc j} eq = cong Suc (nat→ω-inject {i} {j} ( ω-inject eq ))
1301
9e26c9abfafb fix PFOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1300
diff changeset
258
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
259 Repl⊆ : {A B : HOD} (A⊆B : A ⊆ B) → { ψa : ( x : HOD) → A ∋ x → HOD } { ψb : ( x : HOD) → B ∋ x → HOD }
1285
302cfb533201 fix Replacement
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1284
diff changeset
260 → {Ca : HOD} → {rca : RXCod A Ca ψa }
302cfb533201 fix Replacement
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1284
diff changeset
261 → {Cb : HOD} → {rcb : RXCod B Cb ψb }
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
262 → ( {z : Ordinal } → (az : odef A z ) → (ψa (* z) (subst (odef A) (sym &iso) az) ≡ ψb (* z) (subst (odef B) (sym &iso) (A⊆B az))))
1285
302cfb533201 fix Replacement
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1284
diff changeset
263 → Replace' A ψa rca ⊆ Replace' B ψb rcb
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
264 Repl⊆ {A} {B} A⊆B {ψa} {ψb} eq record { z = z ; az = az ; x=ψz = x=ψz } = record { z = z ; az = A⊆B az
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
265 ; x=ψz = trans x=ψz (cong (&) (eq az) ) }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
266
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
267 PPP : {P : HOD} → Power P ∋ P
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
268 PPP {P} z pz = eq← (==-sym *iso) pz
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
269
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
270 UPower⊆Q : {P Q : HOD} → P ⊆ Q → Union (Power P) ⊆ Q
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
271 UPower⊆Q {P} {Q} P⊆Q {z} record { owner = y ; ao = ppy ; ox = yz } = P⊆Q (ppy _ yz)
1106
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1100
diff changeset
272
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
273 UPower∩ : {P : HOD} → ({ p q : HOD } → P ∋ p → P ∋ q → P ∋ (p ∩ q))
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
274 → { p q : HOD } → Union (Power P) ∋ p → Union (Power P) ∋ q → Union (Power P) ∋ (p ∩ q)
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
275 UPower∩ {P} each {p} {q} record { owner = x ; ao = ppx ; ox = xz } record { owner = y ; ao = ppy ; ox = yz }
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
276 = record { owner = & P ; ao = PPP ; ox = lem03 } where
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
277 lem03 : odef (* (& P)) (& (p ∩ q))
1467
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1464
diff changeset
278 lem03 = eq→ (==-sym *iso) ( each (ppx _ xz) (ppy _ yz) )
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1126
diff changeset
279