annotate src/Tychonoff.agda @ 1208:151f4c971a50

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 03 Mar 2023 19:44:29 +0900
parents 56d501cf0318
children 09e4b32ece2e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1175
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1174
diff changeset
1 {-# OPTIONS --allow-unsolved-metas #-}
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
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
4 module Tychonoff {n : Level } (O : Ordinals {n}) where
431
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
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open import logic
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open _∧_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 open _∨_
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 open Bool
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
12 import OD
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
13 open import Relation.Nullary
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
14 open import Data.Empty
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 open import Relation.Binary.Core
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
16 open import Relation.Binary.Definitions
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 open import Relation.Binary.PropositionalEquality
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1123
diff changeset
18 import BAlgebra
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1123
diff changeset
19 open BAlgebra O
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 open inOrdinal O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 open OD O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 open OD.OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 open ODAxiom odAxiom
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 import OrdUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 import ODUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 open Ordinals.Ordinals O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 open Ordinals.IsOrdinals isOrdinal
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 open Ordinals.IsNext isNext
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 open OrdUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 open ODUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 import ODC
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 open ODC O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
1102
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
35 open import filter O
1101
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 482
diff changeset
36 open import OPair O
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
37 open import Topology O
1201
kono
parents: 1200
diff changeset
38 -- open import maximum-filter O
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
40 open Filter
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
41 open Topology
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
42
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 -- FIP is UFL
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
45 -- filter Base
1205
kono
parents: 1204
diff changeset
46 record FBase (P : HOD ) (X : Ordinal ) (u : Ordinal) : Set n where
1153
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1152
diff changeset
47 field
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
48 b x : Ordinal
1155
c4fd0bfdfbae FIP to Filter done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1154
diff changeset
49 b⊆X : * b ⊆ * X
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
50 sb : Subbase (* b) x
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
51 u⊆P : * u ⊆ P
1154
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1153
diff changeset
52 x⊆u : * x ⊆ * u
1155
c4fd0bfdfbae FIP to Filter done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1154
diff changeset
53
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
54 record UFLP {P : HOD} (TP : Topology P) (F : Filter {Power P} {P} (λ x → x) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
55 (ultra : ultra-filter F ) : Set (suc (suc n)) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
56 field
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
57 limit : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
58 P∋limit : odef P limit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
59 is-limit : {v : Ordinal} → Neighbor TP limit v → (* v) ⊆ filter F
1165
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1164
diff changeset
60
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
61 UFLP→FIP : {P : HOD} (TP : Topology P) →
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
62 ((F : Filter {Power P} {P} (λ x → x) ) (UF : ultra-filter F ) → UFLP TP F UF ) → FIP TP
1163
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1162
diff changeset
63 UFLP→FIP {P} TP uflp with trio< (& P) o∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1162
diff changeset
64 ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a )
1201
kono
parents: 1200
diff changeset
65 ... | tri≈ ¬a P=0 ¬c = record { limit = λ CX fip → o∅ ; is-limit = fip03 } where
1163
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1162
diff changeset
66 -- P is empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1162
diff changeset
67 fip02 : {x : Ordinal } → ¬ odef P x
1201
kono
parents: 1200
diff changeset
68 fip02 {x} Px = ⊥-elim ( o<¬≡ (sym P=0) (∈∅< Px) )
kono
parents: 1200
diff changeset
69 fip03 : {X : Ordinal} (CX : * X ⊆ CS TP) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) {x : Ordinal} →
kono
parents: 1200
diff changeset
70 odef (* X) x → odef (* x) o∅
kono
parents: 1200
diff changeset
71 -- empty P case
kono
parents: 1200
diff changeset
72 -- if 0 < X then 0 < x ∧ P ∋ xfrom fip
kono
parents: 1200
diff changeset
73 -- if 0 ≡ X then ¬ odef X x
kono
parents: 1200
diff changeset
74 fip03 {X} CX fip {x} xx with trio< o∅ X
kono
parents: 1200
diff changeset
75 ... | tri< 0<X ¬b ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) (trans (trans (sym *iso) (cong (*) P=0)) o∅≡od∅ ) (sym &iso)
kono
parents: 1200
diff changeset
76 ( cs⊆L TP (subst (λ k → odef (CS TP) k ) (sym &iso) (CX xx)) xe ))) where
kono
parents: 1200
diff changeset
77 0<x : o∅ o< x
kono
parents: 1200
diff changeset
78 0<x = fip (gi xx )
kono
parents: 1200
diff changeset
79 e : HOD -- we have an element of x
kono
parents: 1200
diff changeset
80 e = ODC.minimal O (* x) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<x) )
kono
parents: 1200
diff changeset
81 xe : odef (* x) (& e)
kono
parents: 1200
diff changeset
82 xe = ODC.x∋minimal O (* x) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<x) )
kono
parents: 1200
diff changeset
83 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ( begin
kono
parents: 1200
diff changeset
84 * X ≡⟨ cong (*) (sym 0=X) ⟩
kono
parents: 1200
diff changeset
85 * o∅ ≡⟨ o∅≡od∅ ⟩
kono
parents: 1200
diff changeset
86 od∅ ∎ ) (sym &iso) xx ) ) where open ≡-Reasoning
kono
parents: 1200
diff changeset
87 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
1204
kono
parents: 1203
diff changeset
88 ... | tri> ¬a ¬b 0<P = record { limit = λ CSX fip → limit CSX fip ; is-limit = uf01 } where
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
89 fip : {X : Ordinal} → * X ⊆ CS TP → Set n
1187
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1175
diff changeset
90 fip {X} CSX = {x : Ordinal} → Subbase (* X) x → o∅ o< x
1154
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1153
diff changeset
91 N : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip CSX → HOD
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
92 N {X} CSX fp = record { od = record { def = λ u → FBase P X u } ; odmax = osuc (& P)
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
93 ; <odmax = λ {x} lt → subst₂ (λ j k → j o< osuc k) &iso refl (⊆→o≤ (FBase.u⊆P lt)) }
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
94 N⊆PP : {X : Ordinal } → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → N CSX fp ⊆ Power P
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
95 N⊆PP CSX fp nx b xb = FBase.u⊆P nx xb
1205
kono
parents: 1204
diff changeset
96 -- filter base is not empty necessary for generating ultra filter
1204
kono
parents: 1203
diff changeset
97 nc : {X : Ordinal} → o∅ o< X → (CSX : * X ⊆ CS TP) → (fip : fip CSX) → HOD
1205
kono
parents: 1204
diff changeset
98 nc {X} 0<X CSX fip = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) -- an element of X
1204
kono
parents: 1203
diff changeset
99 N∋nc :{X : Ordinal} → (0<X : o∅ o< X) → (CSX : * X ⊆ CS TP)
kono
parents: 1203
diff changeset
100 → (fip : fip CSX) → odef (N CSX fip) (& (nc 0<X CSX fip) )
1205
kono
parents: 1204
diff changeset
101 N∋nc {X} 0<X CSX fip = record { b = X ; x = & e ; b⊆X = λ x → x ; sb = gi Xe ; u⊆P = nn02 ; x⊆u = λ x → x } where
1201
kono
parents: 1200
diff changeset
102 e : HOD -- we have an element of X
kono
parents: 1200
diff changeset
103 e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) )
kono
parents: 1200
diff changeset
104 Xe : odef (* X) (& e)
kono
parents: 1200
diff changeset
105 Xe = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) )
kono
parents: 1200
diff changeset
106 nn01 = ODC.minimal O (* (& e)) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) (fip (gi Xe))) )
1205
kono
parents: 1204
diff changeset
107 nn02 : * (& (nc 0<X CSX fip)) ⊆ P
kono
parents: 1204
diff changeset
108 nn02 = subst (λ k → k ⊆ P ) (sym *iso) (cs⊆L TP (CSX Xe ) )
kono
parents: 1204
diff changeset
109
1165
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1164
diff changeset
110 0<PP : o∅ o< & (Power P)
1201
kono
parents: 1200
diff changeset
111 0<PP = subst (λ k → k o< & (Power P)) &iso ( c<→o< (subst (λ k → odef (Power P) k) (sym &iso) nn00 )) where
kono
parents: 1200
diff changeset
112 nn00 : odef (Power P) o∅
kono
parents: 1200
diff changeset
113 nn00 x lt with subst (λ k → odef k x) o∅≡od∅ lt
kono
parents: 1200
diff changeset
114 ... | x<0 = ⊥-elim ( ¬x<0 x<0)
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
115 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
116 -- FIP defines a filter
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
117 --
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
118 F : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip CSX) → Filter {Power P} {P} (λ x → x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
119 F {X} CSX fp = record { filter = N CSX fp ; f⊆L = N⊆PP CSX fp ; filter1 = f1 ; filter2 = f2 } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
120 f1 : {p q : HOD} → Power P ∋ q → N CSX fp ∋ p → p ⊆ q → N CSX fp ∋ q
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
121 f1 {p} {q} Xq record { b = b ; x = x ; b⊆X = b⊆X ; sb = sb ; u⊆P = Xp ; x⊆u = x⊆p } p⊆q =
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
122 record { b = b ; x = x ; b⊆X = b⊆X ; sb = sb ; u⊆P = subst (λ k → k ⊆ P) (sym *iso) f10 ; x⊆u = λ {z} xp →
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
123 subst (λ k → odef k z) (sym *iso) (p⊆q (subst (λ k → odef k z) *iso (x⊆p xp))) } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
124 f10 : q ⊆ P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
125 f10 {x} qx = subst (λ k → odef P k) &iso (power→ P _ Xq (subst (λ k → odef q k) (sym &iso) qx ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
126 f2 : {p q : HOD} → N CSX fp ∋ p → N CSX fp ∋ q → Power P ∋ (p ∩ q) → N CSX fp ∋ (p ∩ q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
127 f2 {p} {q} Np Nq Xpq = record { b = & Np+Nq ; x = & xp∧xq ; b⊆X = f20 ; sb = sbpq ; u⊆P = p∩q⊆p ; x⊆u = f22 } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
128 p∩q⊆p : * (& (p ∩ q)) ⊆ P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
129 p∩q⊆p {x} pqx = subst (λ k → odef P k) &iso (power→ P _ Xpq (subst₂ (λ j k → odef j k ) *iso (sym &iso) pqx ))
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
130 Np+Nq = * (FBase.b Np) ∪ * (FBase.b Nq)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
131 xp∧xq = * (FBase.x Np) ∩ * (FBase.x Nq)
1155
c4fd0bfdfbae FIP to Filter done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1154
diff changeset
132 sbpq : Subbase (* (& Np+Nq)) (& xp∧xq)
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
133 sbpq = subst₂ (λ j k → Subbase j k ) (sym *iso) refl ( g∩ (sb⊆ case1 (FBase.sb Np)) (sb⊆ case2 (FBase.sb Nq)))
1155
c4fd0bfdfbae FIP to Filter done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1154
diff changeset
134 f20 : * (& Np+Nq) ⊆ * X
c4fd0bfdfbae FIP to Filter done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1154
diff changeset
135 f20 {x} npq with subst (λ k → odef k x) *iso npq
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
136 ... | case1 np = FBase.b⊆X Np np
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
137 ... | case2 nq = FBase.b⊆X Nq nq
1155
c4fd0bfdfbae FIP to Filter done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1154
diff changeset
138 f22 : * (& xp∧xq) ⊆ * (& (p ∩ q))
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
139 f22 = subst₂ ( λ j k → j ⊆ k ) (sym *iso) (sym *iso) (λ {w} xpq
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
140 → ⟪ subst (λ k → odef k w) *iso ( FBase.x⊆u Np (proj1 xpq)) , subst (λ k → odef k w) *iso ( FBase.x⊆u Nq (proj2 xpq)) ⟫ )
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
141 --
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
142 -- it contains no empty sets becase it is a finite intersection ( Subbase (* X) x )
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
143 --
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
144 proper : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fip : fip {X} CSX) → ¬ (N CSX fip ∋ od∅)
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
145 proper {X} CSX fip record { b = b ; x = x ; b⊆X = b⊆X ; sb = sb ; u⊆P = u⊆P ; x⊆u = x⊆u } = o≤> x≤0 (fip (fp00 _ _ b⊆X sb)) where
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
146 x≤0 : x o< osuc o∅
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
147 x≤0 = subst₂ (λ j k → j o< osuc k) &iso (trans (cong (&) *iso) ord-od∅ ) (⊆→o≤ (x⊆u))
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
148 fp00 : (b x : Ordinal) → * b ⊆ * X → Subbase (* b) x → Subbase (* X) x
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
149 fp00 b y b<X (gi by ) = gi ( b<X by )
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
150 fp00 b _ b<X (g∩ {y} {z} sy sz ) = g∩ (fp00 _ _ b<X sy) (fp00 _ _ b<X sz)
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
151 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
152 -- then we have maximum ultra filter
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
153 --
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
154 maxf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → MaximumFilter (λ x → x) (F CSX fp)
1201
kono
parents: 1200
diff changeset
155 maxf {X} CSX fp = ? -- F→Maximum {Power P} {P} (λ x → x) (CAP P) (F CSX fp) 0<PP (N∋nc CSX fp) (proper CSX fp)
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
156 mf : {X : Ordinal} → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → Filter {Power P} {P} (λ x → x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
157 mf {X} CSX fp = MaximumFilter.mf (maxf CSX fp)
1204
kono
parents: 1203
diff changeset
158 ultraf : {X : Ordinal} → o∅ o< X → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → ultra-filter ( mf CSX fp)
kono
parents: 1203
diff changeset
159 ultraf {X} 0<X CSX fp = ? -- F→ultra {Power P} {P} (λ x → x) (CAP P) (F CSX fp) 0<PP (N∋nc CSX fp) (proper CSX fp)
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
160 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
161 -- so i has a limit as a limit of UIP
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
162 --
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
163 limit : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal
1203
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1202
diff changeset
164 limit {X} CSX fp with trio< o∅ X
1204
kono
parents: 1203
diff changeset
165 ... | tri< 0<X ¬b ¬c = UFLP.limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp))
kono
parents: 1203
diff changeset
166 ... | tri≈ ¬a 0=X ¬c = o∅
1203
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1202
diff changeset
167 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
168 --
1201
kono
parents: 1200
diff changeset
169 -- the limit is an limit of entire elements of X
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
170 --
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
171 uf01 : {X : Ordinal} (CSX : * X ⊆ CS TP) (fp : fip {X} CSX) {x : Ordinal} → odef (* X) x → odef (* x) (limit CSX fp)
1204
kono
parents: 1203
diff changeset
172 uf01 {X} CSX fp {x} xx with trio< o∅ X
1206
kono
parents: 1205
diff changeset
173 ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c )
1205
kono
parents: 1204
diff changeset
174 ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬a (subst (λ k → o∅ o< k) &iso ( ∈∅< xx )))
1206
kono
parents: 1205
diff changeset
175 ... | tri< 0<X ¬b ¬c with ∨L\X {P} {* x} {UFLP.limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp))}
kono
parents: 1205
diff changeset
176 (UFLP.P∋limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp)))
kono
parents: 1205
diff changeset
177 ... | case1 lt = lt -- odef (* x) y
kono
parents: 1205
diff changeset
178 ... | case2 nlxy = ⊥-elim (MaximumFilter.proper (maxf CSX fp) uf11 ) where
kono
parents: 1205
diff changeset
179 y = UFLP.limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp))
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
180 x⊆P : * x ⊆ P
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
181 x⊆P = cs⊆L TP (CSX (subst (λ k → odef (* X) k) (sym &iso) xx))
1206
kono
parents: 1205
diff changeset
182 uf10 : odef (P \ * x ) y
kono
parents: 1205
diff changeset
183 uf10 = nlxy
kono
parents: 1205
diff changeset
184 uf03 : Neighbor TP y (& (P \ * x ))
kono
parents: 1205
diff changeset
185 uf03 = record { u = _ ; ou = P\CS=OS TP (CSX (subst (λ k → odef (* X) k ) (sym &iso) xx))
kono
parents: 1205
diff changeset
186 ; ux = subst (λ k → odef k y) (sym *iso) uf10
kono
parents: 1205
diff changeset
187 ; v⊆P = λ {z} xz → proj1 (subst(λ k → odef k z) *iso xz )
kono
parents: 1205
diff changeset
188 ; u⊆v = λ x → x }
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
189 uf07 : * (& (* x , * x)) ⊆ * X
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
190 uf07 {y} lt with subst (λ k → odef k y) *iso lt
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
191 ... | case1 refl = subst (λ k → odef (* X) k ) (sym &iso) xx
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
192 ... | case2 refl = subst (λ k → odef (* X) k ) (sym &iso) xx
1206
kono
parents: 1205
diff changeset
193 uf05 : odef (filter (MaximumFilter.mf (maxf CSX fp))) x
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
194 uf05 = MaximumFilter.F⊆mf (maxf CSX fp) record { b = & (* x , * x) ; b⊆X = uf07
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
195 ; sb = gi (subst (λ k → odef k x) (sym *iso) (case1 (sym &iso)) ) ; u⊆P = x⊆P ; x⊆u = λ x → x }
1206
kono
parents: 1205
diff changeset
196 uf06 : odef (filter (MaximumFilter.mf (maxf CSX fp))) (& (P \ * x ))
kono
parents: 1205
diff changeset
197 uf06 = UFLP.is-limit ( uflp ( mf CSX fp ) (ultraf 0<X CSX fp)) uf03 (subst (λ k → odef k y) (sym *iso) uf10)
kono
parents: 1205
diff changeset
198 uf13 : & ((* x) ∩ (P \ * x )) ≡ o∅
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
199 uf13 = subst₂ (λ j k → j ≡ k ) refl ord-od∅ (cong (&) ( ==→o≡ record { eq→ = uf14 ; eq← = λ {x} lt → ⊥-elim (¬x<0 lt) } ) ) where
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
200 uf14 : {y : Ordinal} → odef (* x ∩ (P \ * x)) y → odef od∅ y
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
201 uf14 {y} ⟪ xy , ⟪ Px , ¬xy ⟫ ⟫ = ⊥-elim ( ¬xy xy )
1206
kono
parents: 1205
diff changeset
202 uf12 : odef (Power P) (& ((* x) ∩ (P \ * x )))
1207
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
203 uf12 z pz with subst (λ k → odef k z) *iso pz
56d501cf0318 UFLP→FIP done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1206
diff changeset
204 ... | ⟪ xz , ⟪ Pz , ¬xz ⟫ ⟫ = Pz
1206
kono
parents: 1205
diff changeset
205 uf11 : filter (MaximumFilter.mf (maxf CSX fp)) ∋ od∅
kono
parents: 1205
diff changeset
206 uf11 = subst (λ k → odef (filter (MaximumFilter.mf (maxf CSX fp))) k ) uf13
kono
parents: 1205
diff changeset
207 ( filter2 (MaximumFilter.mf (maxf CSX fp)) uf05 uf06 uf12 )
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
208
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
209 x⊆Clx : {P : HOD} (TP : Topology P) → {x : HOD} → x ⊆ P → x ⊆ Cl TP x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
210 x⊆Clx {P} TP {x} x<p {y} xy = ⟪ x<p xy , (λ c csc x<c → x<c xy ) ⟫
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
211 P⊆Clx : {P : HOD} (TP : Topology P) → {x : HOD} → x ⊆ P → Cl TP x ⊆ P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
212 P⊆Clx {P} TP {x} x<p {y} xy = proj1 xy
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
213
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
214 FIP→UFLP : {P : HOD} (TP : Topology P) → FIP TP
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
215 → (F : Filter {Power P} {P} (λ x → x)) (UF : ultra-filter F ) → UFLP {P} TP F UF
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
216 FIP→UFLP {P} TP fip F UF = record { limit = FIP.limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ufl01 ; P∋limit = ? ; is-limit = ufl00 } where
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
217 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
218 -- take closure of given filter elements
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
219 --
1160
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1159
diff changeset
220 CF : HOD
1188
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1187
diff changeset
221 CF = Replace (filter F) (λ x → Cl TP x )
1160
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1159
diff changeset
222 CF⊆CS : CF ⊆ CS TP
1162
0a6040d914f8 Closure in Topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1161
diff changeset
223 CF⊆CS {x} record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef (CS TP) k) (sym x=ψz) (CS∋Cl TP (* z))
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
224 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
225 -- it is set of closed set and has FIP ( F is proper )
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
226 --
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
227 ufl08 : {z : Ordinal} → odef (Power P) (& (Cl TP (* z)))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
228 ufl08 {z} w zw with subst (λ k → odef k w ) *iso zw
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
229 ... | t = proj1 t
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
230 fx→px : {x : Ordinal} → odef (filter F) x → Power P ∋ * x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
231 fx→px {x} fx z xz = f⊆L F fx _ (subst (λ k → odef k z) *iso xz )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
232 F∋sb : {x : Ordinal} → Subbase CF x → odef (filter F) x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
233 F∋sb {x} (gi record { z = z ; az = az ; x=ψz = x=ψz }) = ufl07 where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
234 ufl09 : * z ⊆ P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
235 ufl09 {y} zy = f⊆L F az _ zy
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
236 ufl07 : odef (filter F) x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
237 ufl07 = subst (λ k → odef (filter F) k) &iso ( filter1 F (subst (λ k → odef (Power P) k) (trans (sym x=ψz) (sym &iso)) ufl08 )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
238 (subst (λ k → odef (filter F) k) (sym &iso) az)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
239 (subst (λ k → * z ⊆ k ) (trans (sym *iso) (sym (cong (*) x=ψz)) ) (x⊆Clx TP {* z} ufl09 ) ))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
240 F∋sb (g∩ {x} {y} sx sy) = filter2 F (subst (λ k → odef (filter F) k) (sym &iso) (F∋sb sx))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
241 (subst (λ k → odef (filter F) k) (sym &iso) (F∋sb sy))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
242 (λ z xz → fx→px (F∋sb sx) _ (subst (λ k → odef k _) (sym *iso) (proj1 (subst (λ k → odef k z) *iso xz) )))
1187
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1175
diff changeset
243 ufl01 : {x : Ordinal} → Subbase (* (& CF)) x → o∅ o< x
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
244 ufl01 {x} sb = ufl04 where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
245 ufl04 : o∅ o< x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
246 ufl04 with trio< o∅ x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
247 ... | tri< a ¬b ¬c = a
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
248 ... | tri≈ ¬a b ¬c = ⊥-elim ( ultra-filter.proper UF (subst (λ k → odef (filter F) k) (
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
249 begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
250 x ≡⟨ sym b ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
251 o∅ ≡⟨ sym ord-od∅ ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
252 & od∅ ∎ ) (F∋sb (subst (λ k → Subbase k x) *iso sb )) )) where open ≡-Reasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
253 ... | tri> ¬a ¬b c = ⊥-elim (¬x<0 c)
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
254 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
255 -- so we have a limit
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
256 --
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
257 limit : Ordinal
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
258 limit = FIP.limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ufl01
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
259 ufl02 : {y : Ordinal } → odef (* (& CF)) y → odef (* y) limit
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
260 ufl02 = FIP.is-limit fip (subst (λ k → k ⊆ CS TP) (sym *iso) CF⊆CS) ufl01
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
261 --
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
262 -- Neigbor of limit ⊆ Filter
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
263 --
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
264 ufl03 : {f v : Ordinal } → odef (filter F) f → Neighbor TP limit v → ¬ ( * f ∩ * v ) =h= od∅ -- because limit is in CF
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
265 ufl03 {f} {v} ff nei fv=0 = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
266 pp : {v x : Ordinal} → Neighbor TP limit v → odef (* v) x → Power P ∋ (* x)
1208
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1207
diff changeset
267 pp {v} {x} record { u = u ; ou = ou ; ux = ux ; v⊆P = v⊆P ; u⊆v = u⊆v } vx z pz = v⊆P ?
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
268 ufl00 : {v : Ordinal} → Neighbor TP limit v → * v ⊆ filter F
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
269 ufl00 {v} nei {x} fx with ultra-filter.ultra UF (pp nei fx) (NEG P (pp nei fx))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
270 ... | case1 fv = subst (λ k → odef (filter F) k) &iso fv
1171
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1170
diff changeset
271 ... | case2 nfv = ? -- will contradicts ufl03
1163
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1162
diff changeset
272
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1123
diff changeset
273 -- product topology of compact topology is compact
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
274
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
275 Tychonoff : {P Q : HOD } → (TP : Topology P) → (TQ : Topology Q) → Compact TP → Compact TQ → Compact (ProductTopology TP TQ)
1158
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1155
diff changeset
276 Tychonoff {P} {Q} TP TQ CP CQ = FIP→Compact (ProductTopology TP TQ) (UFLP→FIP (ProductTopology TP TQ) uflPQ ) where
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
277 uflP : (F : Filter {Power P} {P} (λ x → x)) (UF : ultra-filter F)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
278 → UFLP TP F UF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
279 uflP F UF = FIP→UFLP TP (Compact→FIP TP CP) F UF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
280 uflQ : (F : Filter {Power Q} {Q} (λ x → x)) (UF : ultra-filter F)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
281 → UFLP TQ F UF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
282 uflQ F UF = FIP→UFLP TQ (Compact→FIP TQ CQ) F UF
1201
kono
parents: 1200
diff changeset
283 -- Product of UFL has a limit point
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
284 uflPQ : (F : Filter {Power (ZFP P Q)} {ZFP P Q} (λ x → x)) (UF : ultra-filter F)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
285 → UFLP (ProductTopology TP TQ) F UF
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
286 uflPQ F UF = record { limit = & < * ( UFLP.limit uflp ) , * ( UFLP.limit uflq ) > ; P∋limit = Pf ; is-limit = isL } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
287 FP : Filter {Power P} {P} (λ x → x)
1164
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1163
diff changeset
288 FP = record { filter = Proj1 (filter F) (Power P) (Power Q) ; f⊆L = ty00 ; filter1 = ? ; filter2 = ? } where
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
289 ty00 : Proj1 (filter F) (Power P) (Power Q) ⊆ Power P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
290 ty00 {x} ⟪ PPx , ppf ⟫ = PPx
1161
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1160
diff changeset
291 UFP : ultra-filter FP
1159
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1158
diff changeset
292 UFP = record { proper = ? ; ultra = ? }
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
293 uflp : UFLP TP FP UFP
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
294 uflp = FIP→UFLP TP (Compact→FIP TP CP) FP UFP
1154
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1153
diff changeset
295
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
296 FQ : Filter {Power Q} {Q} (λ x → x)
1166
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1165
diff changeset
297 FQ = record { filter = Proj2 (filter F) (Power P) (Power Q) ; f⊆L = ty00 ; filter1 = ? ; filter2 = ? } where
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
298 ty00 : Proj2 (filter F) (Power P) (Power Q) ⊆ Power Q
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
299 ty00 {x} ⟪ QPx , ppf ⟫ = QPx
1166
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1165
diff changeset
300 UFQ : ultra-filter FQ
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1165
diff changeset
301 UFQ = record { proper = ? ; ultra = ? }
1169
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
302 uflq : UFLP TQ FQ UFQ
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1168
diff changeset
303 uflq = FIP→UFLP TQ (Compact→FIP TQ CQ) FQ UFQ
1154
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1153
diff changeset
304
1166
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1165
diff changeset
305 Pf : odef (ZFP P Q) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1165
diff changeset
306 Pf = ?
1171
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1170
diff changeset
307 pq⊆F : {p q : HOD} → Neighbor TP (& p) (UFLP.limit uflp) → Neighbor TP (& q) (UFLP.limit uflq) → ? ⊆ filter F
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
308 pq⊆F = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
309 isL : {v : Ordinal} → Neighbor (ProductTopology TP TQ) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >) v → * v ⊆ filter F
1173
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
310 isL {v} npq {x} fx = ? where
1172
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1171
diff changeset
311 bpq : Base (ZFP P Q) (pbase TP TQ) (Neighbor.u npq) (& < * (UFLP.limit uflp) , * (UFLP.limit uflq) >)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1171
diff changeset
312 bpq = Neighbor.ou npq (Neighbor.ux npq)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1171
diff changeset
313 pqb : Subbase (pbase TP TQ) (Base.b bpq )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1171
diff changeset
314 pqb = Base.sb bpq
1173
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
315 pqb⊆opq : * (Base.b bpq) ⊆ * ( Neighbor.u npq )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
316 pqb⊆opq = Base.b⊆u bpq
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
317 base⊆F : {b : Ordinal } → Subbase (pbase TP TQ) b → * b ⊆ * (Neighbor.u npq) → * b ⊆ filter F
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
318 base⊆F (gi (case1 px)) b⊆u {z} bz = fz where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
319 -- F contains no od∅, because it projection contains no od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
320 -- x is an element of BaseP, which is a subset of Neighbor npq
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
321 -- x is also an elment of Proj1 F because Proj1 F has UFLP (uflp)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
322 -- BaseP ∩ F is not empty
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
323 -- (Base P ∩ F) ⊆ F , (Base P ) ⊆ F ,
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
324 il1 : odef (Power P) z ∧ ZProj1 (filter F) z
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
325 il1 = UFLP.is-limit uflp ? bz
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
326 nei1 : HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
327 nei1 = Proj1 (* (Neighbor.u npq)) (Power P) (Power Q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
328 plimit : Ordinal
1174
375615f9d60f Func and Funcs
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1173
diff changeset
329 plimit = UFLP.limit uflp
1173
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
330 nproper : {b : Ordinal } → * b ⊆ nei1 → o∅ o< b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
331 nproper = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
332 b∋z : odef nei1 z
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
333 b∋z = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
334 bp : BaseP {P} TP Q z
1187
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1175
diff changeset
335 bp = record { p = ? ; op = ? ; prod = ? }
1173
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
336 neip : {p : Ordinal } → ( bp : BaseP TP Q p ) → * p ⊆ filter F
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
337 neip = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
338 il2 : * z ⊆ ZFP (Power P) (Power Q)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
339 il2 = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
340 il3 : filter F ∋ ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
341 il3 = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
342 fz : odef (filter F) z
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
343 fz = subst (λ k → odef (filter F) k) &iso (filter1 F ? ? ?)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
344 base⊆F (gi (case2 qx)) b⊆u {z} bz = ?
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1172
diff changeset
345 base⊆F (g∩ b1 b2) b⊆u {z} bz = ?
1154
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1153
diff changeset
346
1170
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
347
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
348
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
349
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
350
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1169
diff changeset
351