annotate src/Topology.agda @ 1151:8a071bf52407

Finite intersection property to Compact done
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 18 Jan 2023 01:43:24 +0900
parents fe0129c40745
children e1c6719a8c38
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 open import Level
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import Ordinals
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 module Topology {n : Level } (O : Ordinals {n}) where
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 open import zf
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 open import logic
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 open _∧_
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 Bool
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
11 import OD
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
12 open import Relation.Nullary
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
13 open import Data.Empty
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 open import Relation.Binary.Core
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
15 open import Relation.Binary.Definitions
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 open import Relation.Binary.PropositionalEquality
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1123
diff changeset
17 import BAlgebra
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1123
diff changeset
18 open BAlgebra O
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 open inOrdinal O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 open OD O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 open OD.OD
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 open ODAxiom odAxiom
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 import OrdUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 import ODUtil
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 open Ordinals.Ordinals O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 open Ordinals.IsOrdinals isOrdinal
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 open Ordinals.IsNext isNext
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 open OrdUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 open ODUtil O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 import ODC
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 open ODC O
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
1102
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
34 open import filter O
1101
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 482
diff changeset
35 open import OPair O
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 482
diff changeset
36
482
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
37 record Topology ( L : HOD ) : Set (suc n) where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 field
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 OS : HOD
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
40 OS⊆PL : OS ⊆ Power L
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
41 o∩ : { p q : HOD } → OS ∋ p → OS ∋ q → OS ∋ (p ∩ q)
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
42 o∪ : { P : HOD } → P ⊂ OS → OS ∋ Union P
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
43 OS∋od∅ : OS ∋ od∅
1101
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 482
diff changeset
44 -- closed Set
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 482
diff changeset
45 CS : HOD
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
46 CS = record { od = record { def = λ x → (* x ⊆ L) ∧ odef OS (& ( L \ (* x ))) } ; odmax = osuc (& L) ; <odmax = tp02 } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
47 tp02 : {y : Ordinal } → (* y ⊆ L) ∧ odef OS (& (L \ * y)) → y o< osuc (& L)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
48 tp02 {y} nop = subst (λ k → k o≤ & L ) &iso ( ⊆→o≤ (λ {x} yx → proj1 nop yx ))
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
49 os⊆L : {x : HOD} → OS ∋ x → x ⊆ L
1108
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1107
diff changeset
50 os⊆L {x} Ox {y} xy = ( OS⊆PL Ox ) _ (subst (λ k → odef k y) (sym *iso) xy )
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
51 cs⊆L : {x : HOD} → CS ∋ x → x ⊆ L
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
52 cs⊆L {x} Cx {y} xy = proj1 Cx (subst (λ k → odef k y ) (sym *iso) xy )
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
53 CS∋L : CS ∋ L
1123
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1122
diff changeset
54 CS∋L = ⟪ subst (λ k → k ⊆ L) (sym *iso) (λ x → x) , subst (λ k → odef OS (& k)) (sym lem0) OS∋od∅ ⟫ where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1122
diff changeset
55 lem0 : L \ * (& L) ≡ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1122
diff changeset
56 lem0 = subst (λ k → L \ k ≡ od∅) (sym *iso) L\L=0
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
57 --- we may add
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
58 -- OS∋L : OS ∋ L
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
482
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 431
diff changeset
60 open Topology
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
61
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
62 Cl : {L : HOD} → (top : Topology L) → (A : HOD) → A ⊆ L → HOD
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
63 Cl {L} top A A⊆L = record { od = record { def = λ x → odef L x ∧ ( (c : Ordinal) → odef (CS top) c → A ⊆ * c → odef (* c) x ) }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
64 ; odmax = & L ; <odmax = odef∧< }
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
65
1123
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1122
diff changeset
66 ClL : {L : HOD} → (top : Topology L) → {f : L ⊆ L } → Cl top L f ≡ L
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
67 ClL {L} top {f} = ==→o≡ ( record { eq→ = λ {x} ic
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
68 → subst (λ k → odef k x) *iso ((proj2 ic) (& L) (CS∋L top) (subst (λ k → L ⊆ k) (sym *iso) ( λ x → x)))
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
69 ; eq← = λ {x} lx → ⟪ lx , ( λ c cs l⊆c → l⊆c lx) ⟫ } )
1123
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1122
diff changeset
70
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
71 -- Subbase P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
72 -- A set of countable intersection of P will be a base (x ix an element of the base)
1107
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
73
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
74 data Subbase (P : HOD) : Ordinal → Set n where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
75 gi : {x : Ordinal } → odef P x → Subbase P x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
76 g∩ : {x y : Ordinal } → Subbase P x → Subbase P y → Subbase P (& (* x ∩ * y))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
77
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
78 --
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
79 -- if y is in a Subbase, some element of P contains it
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
80
1111
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
81 sbp : (P : HOD) {x : Ordinal } → Subbase P x → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
82 sbp P {x} (gi {y} px) = x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
83 sbp P {.(& (* _ ∩ * _))} (g∩ sb sb₁) = sbp P sb
1107
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
84
1111
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
85 is-sbp : (P : HOD) {x y : Ordinal } → (px : Subbase P x) → odef (* x) y → odef P (sbp P px ) ∧ odef (* (sbp P px)) y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
86 is-sbp P {x} (gi px) xy = ⟪ px , xy ⟫
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
87 is-sbp P {.(& (* _ ∩ * _))} (g∩ {x} {y} px px₁) xy = is-sbp P px (proj1 (subst (λ k → odef k _ ) *iso xy))
1107
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
88
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
89 -- An open set generate from a base
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
90 --
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
91 -- OS = { U ⊂ L | ∀ x ∈ U → ∃ b ∈ P → x ∈ b ⊂ U }
1114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
92
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
93 record Base (L P : HOD) (u x : Ordinal) : Set n where
1114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
94 field
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
95 b : Ordinal
1117
53ca3c609f0e generated topology from subbase done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
96 u⊂L : * u ⊆ L
1114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
97 sb : Subbase P b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
98 b⊆u : * b ⊆ * u
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
99 bx : odef (* b) x
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
100 x⊆L : odef L x
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
101 x⊆L = u⊂L (b⊆u bx)
1114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
102
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
103 SO : (L P : HOD) → HOD
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
104 SO L P = record { od = record { def = λ u → {x : Ordinal } → odef (* u) x → Base L P u x } ; odmax = osuc (& L) ; <odmax = tp00 } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
105 tp00 : {y : Ordinal} → ({x : Ordinal} → odef (* y) x → Base L P y x) → y o< osuc (& L)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
106 tp00 {y} op = subst (λ k → k o≤ & L ) &iso ( ⊆→o≤ (λ {x} yx → Base.x⊆L (op yx) ))
1114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1113
diff changeset
107
1111
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
108 record IsSubBase (L P : HOD) : Set (suc n) where
1110
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1109
diff changeset
109 field
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
110 P⊆PL : P ⊆ Power L
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
111 -- we may need these if OS ∋ L is necessary
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
112 -- p : {x : HOD} → L ∋ x → HOD
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
113 -- Pp : {x : HOD} → {lx : L ∋ x } → P ∋ p lx
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
114 -- px : {x : HOD} → {lx : L ∋ x } → p lx ∋ x
1110
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1109
diff changeset
115
1111
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1110
diff changeset
116 GeneratedTopogy : (L P : HOD) → IsSubBase L P → Topology L
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
117 GeneratedTopogy L P isb = record { OS = SO L P ; OS⊆PL = tp00
1122
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
118 ; o∪ = tp02 ; o∩ = tp01 ; OS∋od∅ = tp03 } where
1c7474446754 add OS ∋ od∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1121
diff changeset
119 tp03 : {x : Ordinal } → odef (* (& od∅)) x → Base L P (& od∅) x
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
120 tp03 {x} 0x = ⊥-elim ( empty (* x) ( subst₂ (λ j k → odef j k ) *iso (sym &iso) 0x ))
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
121 tp00 : SO L P ⊆ Power L
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
122 tp00 {u} ou x ux with ou ux
1117
53ca3c609f0e generated topology from subbase done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
123 ... | record { b = b ; u⊂L = u⊂L ; sb = sb ; b⊆u = b⊆u ; bx = bx } = u⊂L (b⊆u bx)
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
124 tp01 : {p q : HOD} → SO L P ∋ p → SO L P ∋ q → SO L P ∋ (p ∩ q)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
125 tp01 {p} {q} op oq {x} ux = record { b = b ; u⊂L = subst (λ k → k ⊆ L) (sym *iso) ul
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
126 ; sb = g∩ (Base.sb (op px)) (Base.sb (oq qx)) ; b⊆u = tp08 ; bx = tp14 } where
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
127 px : odef (* (& p)) x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
128 px = subst (λ k → odef k x ) (sym *iso) ( proj1 (subst (λ k → odef k _ ) *iso ux ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
129 qx : odef (* (& q)) x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
130 qx = subst (λ k → odef k x ) (sym *iso) ( proj2 (subst (λ k → odef k _ ) *iso ux ) )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
131 b : Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
132 b = & (* (Base.b (op px)) ∩ * (Base.b (oq qx)))
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
133 tp08 : * b ⊆ * (& (p ∩ q) )
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
134 tp08 = subst₂ (λ j k → j ⊆ k ) (sym *iso) (sym *iso) (⊆∩-dist {(* (Base.b (op px)) ∩ * (Base.b (oq qx)))} {p} {q} tp09 tp10 ) where
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
135 tp11 : * (Base.b (op px)) ⊆ * (& p )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
136 tp11 = Base.b⊆u (op px)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
137 tp12 : * (Base.b (oq qx)) ⊆ * (& q )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
138 tp12 = Base.b⊆u (oq qx)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
139 tp09 : (* (Base.b (op px)) ∩ * (Base.b (oq qx))) ⊆ p
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
140 tp09 = ⊆∩-incl-1 {* (Base.b (op px))} {* (Base.b (oq qx))} {p} (subst (λ k → (* (Base.b (op px))) ⊆ k ) *iso tp11)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
141 tp10 : (* (Base.b (op px)) ∩ * (Base.b (oq qx))) ⊆ q
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
142 tp10 = ⊆∩-incl-2 {* (Base.b (oq qx))} {* (Base.b (op px))} {q} (subst (λ k → (* (Base.b (oq qx))) ⊆ k ) *iso tp12)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
143 tp14 : odef (* (& (* (Base.b (op px)) ∩ * (Base.b (oq qx))))) x
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
144 tp14 = subst (λ k → odef k x ) (sym *iso) ⟪ Base.bx (op px) , Base.bx (oq qx) ⟫
1117
53ca3c609f0e generated topology from subbase done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
145 ul : (p ∩ q) ⊆ L
53ca3c609f0e generated topology from subbase done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
146 ul = subst (λ k → k ⊆ L ) *iso (λ {z} pq → (Base.u⊂L (op px)) (pz pq) ) where
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
147 pz : {z : Ordinal } → odef (* (& (p ∩ q))) z → odef (* (& p)) z
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
148 pz {z} pq = subst (λ k → odef k z ) (sym *iso) ( proj1 (subst (λ k → odef k _ ) *iso pq ) )
1115
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
149 tp02 : { q : HOD} → q ⊂ SO L P → SO L P ∋ Union q
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
150 tp02 {q} q⊂O {x} ux with subst (λ k → odef k x) *iso ux
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1114
diff changeset
151 ... | record { owner = y ; ao = qy ; ox = yx } with proj2 q⊂O qy yx
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
152 ... | record { b = b ; u⊂L = u⊂L ; sb = sb ; b⊆u = b⊆u ; bx = bx } = record { b = b ; u⊂L = subst (λ k → k ⊆ L) (sym *iso) tp04
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
153 ; sb = sb ; b⊆u = subst ( λ k → * b ⊆ k ) (sym *iso) tp06 ; bx = bx } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
154 tp05 : Union q ⊆ L
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
155 tp05 {z} record { owner = y ; ao = qy ; ox = yx } with proj2 q⊂O qy yx
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
156 ... | record { b = b ; u⊂L = u⊂L ; sb = sb ; b⊆u = b⊆u ; bx = bx }
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
157 = IsSubBase.P⊆PL isb (proj1 (is-sbp P sb bx )) _ (proj2 (is-sbp P sb bx ))
1117
53ca3c609f0e generated topology from subbase done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1116
diff changeset
158 tp04 : Union q ⊆ L
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
159 tp04 = tp05
1116
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1115
diff changeset
160 tp06 : * b ⊆ Union q
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
161 tp06 {z} bz = record { owner = y ; ao = qy ; ox = b⊆u bz }
1110
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1109
diff changeset
162
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
163 -- Product Topology
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
164
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
165 open ZFProduct
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
166
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
167 -- Product Topology is not
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
168 -- ZFP (OS TP) (OS TQ) (box)
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
169
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
170 record BaseP {P : HOD} (TP : Topology P ) (Q : HOD) (x : Ordinal) : Set n where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
171 field
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
172 p q : Ordinal
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
173 op : odef (OS TP) p
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
174 prod : x ≡ & (ZFP (* p) Q )
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
175
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
176 record BaseQ (P : HOD) {Q : HOD} (TQ : Topology Q ) (x : Ordinal) : Set n where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
177 field
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
178 p q : Ordinal
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
179 oq : odef (OS TQ) q
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
180 prod : x ≡ & (ZFP P (* q ))
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
181
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
182 pbase⊆PL : {P Q : HOD} → (TP : Topology P) → (TQ : Topology Q) → {x : Ordinal } → BaseP TP Q x ∨ BaseQ P TQ x → odef (Power (ZFP P Q)) x
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
183 pbase⊆PL {P} {Q} TP TQ {z} (case1 record { p = p ; q = q ; op = op ; prod = prod }) = subst (λ k → odef (Power (ZFP P Q)) k ) (sym prod) tp01 where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
184 tp01 : odef (Power (ZFP P Q)) (& (ZFP (* p) Q))
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
185 tp01 w wz with subst (λ k → odef k w ) *iso wz
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
186 ... | ab-pair {a} {b} pa qb = ZFP→ (subst (λ k → odef P k ) (sym &iso) tp03 ) (subst (λ k → odef Q k ) (sym &iso) qb ) where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
187 tp03 : odef P a
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
188 tp03 = os⊆L TP (subst (λ k → odef (OS TP) k) (sym &iso) op) pa
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
189 pbase⊆PL {P} {Q} TP TQ {z} (case2 record { p = p ; q = q ; oq = oq ; prod = prod }) = subst (λ k → odef (Power (ZFP P Q)) k ) (sym prod) tp01 where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
190 tp01 : odef (Power (ZFP P Q)) (& (ZFP P (* q) ))
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
191 tp01 w wz with subst (λ k → odef k w ) *iso wz
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
192 ... | ab-pair {a} {b} pa qb = ZFP→ (subst (λ k → odef P k ) (sym &iso) pa ) (subst (λ k → odef Q k ) (sym &iso) tp03 ) where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
193 tp03 : odef Q b
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
194 tp03 = os⊆L TQ (subst (λ k → odef (OS TQ) k) (sym &iso) oq) qb
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
195
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
196 pbase : {P Q : HOD} → Topology P → Topology Q → HOD
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
197 pbase {P} {Q} TP TQ = record { od = record { def = λ x → BaseP TP Q x ∨ BaseQ P TQ x } ; odmax = & (Power (ZFP P Q)) ; <odmax = tp00 } where
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
198 tp00 : {y : Ordinal} → BaseP TP Q y ∨ BaseQ P TQ y → y o< & (Power (ZFP P Q))
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
199 tp00 {y} bpq = odef< ( pbase⊆PL TP TQ bpq )
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
200
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
201 ProductTopology : {P Q : HOD} → Topology P → Topology Q → Topology (ZFP P Q)
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
202 ProductTopology {P} {Q} TP TQ = GeneratedTopogy (ZFP P Q) (pbase TP TQ) record { P⊆PL = pbase⊆PL TP TQ }
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
203
1107
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1106
diff changeset
204 -- covers
1101
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 482
diff changeset
205
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
206 record _covers_ ( P q : HOD ) : Set n where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 field
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
208 cover : {x : Ordinal } → odef q x → Ordinal
1145
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1144
diff changeset
209 P∋cover : {x : Ordinal } → (lt : odef q x) → odef P (cover lt)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1144
diff changeset
210 isCover : {x : Ordinal } → (lt : odef q x) → odef (* (cover lt)) x
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
211
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
212 open _covers_
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
213
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 -- Finite Intersection Property
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
215
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
216 record FIP {L : HOD} (top : Topology L) : Set n where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 field
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
218 limit : {X : Ordinal } → * X ⊆ CS top
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
219 → ( { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x ) → Ordinal
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
220 is-limit : {X : Ordinal } → (CX : * X ⊆ CS top )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
221 → ( fip : { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x )
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
222 → {x : Ordinal } → odef (* X) x → odef (* x) (limit CX fip)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
223 L∋limit : {X : Ordinal } → (CX : * X ⊆ CS top )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
224 → ( fip : { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
225 → {x : Ordinal } → odef (* X) x
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
226 → odef L (limit CX fip)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
227 L∋limit {X} CX fip {x} xx = cs⊆L top (subst (λ k → odef (CS top) k) (sym &iso) (CX xx)) (is-limit CX fip xx)
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
228
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 -- Compact
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
230
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
231 data Finite-∪ (S : HOD) : Ordinal → Set n where
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
232 fin-e : {x : Ordinal } → * x ⊆ S → Finite-∪ S x
1119
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1118
diff changeset
233 fin-∪ : {x y : Ordinal } → Finite-∪ S x → Finite-∪ S y → Finite-∪ S (& (* x ∪ * y))
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
234
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
235 record Compact {L : HOD} (top : Topology L) : Set n where
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 field
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
237 finCover : {X : Ordinal } → (* X) ⊆ OS top → (* X) covers L → Ordinal
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
238 isCover : {X : Ordinal } → (xo : (* X) ⊆ OS top) → (xcp : (* X) covers L ) → (* (finCover xo xcp )) covers L
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
239 isFinite : {X : Ordinal } → (xo : (* X) ⊆ OS top) → (xcp : (* X) covers L ) → Finite-∪ (* X) (finCover xo xcp )
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
240
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 -- FIP is Compact
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
242
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
243 FIP→Compact : {L : HOD} → (top : Topology L ) → FIP top → Compact top
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
244 FIP→Compact {L} top fip with trio< (& L) o∅
1146
1966127fc14f wrong cover definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1145
diff changeset
245 ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a )
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
246 ... | tri≈ ¬a b ¬c = record { finCover = λ _ _ → o∅ ; isCover = λ {X} _ xcp → fip01 xcp ; isFinite = fip00 } where
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
247 -- L is empty
1146
1966127fc14f wrong cover definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1145
diff changeset
248 fip02 : {x : Ordinal } → ¬ odef L x
1966127fc14f wrong cover definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1145
diff changeset
249 fip02 {x} Lx = ⊥-elim ( o<¬≡ (sym b) (∈∅< Lx) )
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
250 fip01 : {X : Ordinal } → (xcp : * X covers L) → (* o∅) covers L
1146
1966127fc14f wrong cover definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1145
diff changeset
251 fip01 xcp = record { cover = λ Lx → ⊥-elim (fip02 Lx) ; P∋cover = λ Lx → ⊥-elim (fip02 Lx) ; isCover = λ Lx → ⊥-elim (fip02 Lx) }
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
252 fip00 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) o∅
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
253 fip00 {X} xo xcp = fin-e ( λ {x} 0x → ⊥-elim (¬x<0 (subst (λ k → odef k x) o∅≡od∅ 0x) ) )
1146
1966127fc14f wrong cover definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1145
diff changeset
254 ... | tri> ¬a ¬b 0<L = record { finCover = finCover ; isCover = isCover1 ; isFinite = isFinite } where
1121
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1120
diff changeset
255 -- set of coset of X
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1120
diff changeset
256 CX : {X : Ordinal} → * X ⊆ OS top → Ordinal
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1120
diff changeset
257 CX {X} ox = & ( Replace' (* X) (λ z xz → L \ z ))
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
258 CCX : {X : Ordinal} → (os : * X ⊆ OS top) → * (CX os) ⊆ CS top
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
259 CCX {X} os {x} ox with subst (λ k → odef k x) *iso ox
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
260 ... | record { z = z ; az = az ; x=ψz = x=ψz } = ⟪ fip05 , fip06 ⟫ where -- x ≡ & (L \ * z)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
261 fip07 : z ≡ & (L \ * x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
262 fip07 = subst₂ (λ j k → j ≡ k) &iso (cong (λ k → & ( L \ k )) (cong (*) (sym x=ψz))) ( cong (&) ( ==→o≡ record { eq→ = fip09 ; eq← = fip08 } )) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
263 fip08 : {x : Ordinal} → odef L x ∧ (¬ odef (* (& (L \ * z))) x) → odef (* z) x
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
264 fip08 {x} ⟪ Lx , not ⟫ with subst (λ k → (¬ odef k x)) *iso not -- ( odef L x ∧ odef (* z) x → ⊥) → ⊥
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
265 ... | Lx∧¬zx = ODC.double-neg-elim O ( λ nz → Lx∧¬zx ⟪ Lx , nz ⟫ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
266 fip09 : {x : Ordinal} → odef (* z) x → odef L x ∧ (¬ odef (* (& (L \ * z))) x)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
267 fip09 {w} zw = ⟪ os⊆L top (os (subst (λ k → odef (* X) k) (sym &iso) az)) zw , subst (λ k → ¬ odef k w) (sym *iso) fip10 ⟫ where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
268 fip10 : ¬ (odef (L \ * z) w)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
269 fip10 ⟪ Lw , nzw ⟫ = nzw zw
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
270 fip06 : odef (OS top) (& (L \ * x))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
271 fip06 = os ( subst (λ k → odef (* X) k ) fip07 az )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
272 fip05 : * x ⊆ L
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
273 fip05 {w} xw = proj1 ( subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso ) xw )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
274 --
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
275 -- X covres L means Intersection of (CX X) contains nothing
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
276 -- then some finite Intersection of (CX X) contains nothing ( contraposition of FIP )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
277 -- it means there is a finite cover
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
278 --
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
279 record CFIP (X x : Ordinal) : Set n where
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
280 field
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
281 is-CS : * x ⊆ Replace' (* X) (λ z xz → L \ z)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
282 sx : Subbase (* x) o∅
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
283 Cex : (X : Ordinal ) → HOD
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
284 Cex X = record { od = record { def = λ x → CFIP X x } ; odmax = osuc (& (Replace' (* X) (λ z xz → L \ z))) ; <odmax = fip05 } where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
285 fip05 : {y : Ordinal} → CFIP X y → y o< osuc (& (Replace' (* X) (λ z xz → L \ z)))
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
286 fip05 {y} cf = subst₂ (λ j k → j o< osuc k ) &iso refl ( ⊆→o≤ ( CFIP.is-CS cf ) )
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
287 fip00 : {X : Ordinal } → * X ⊆ OS top → * X covers L → ¬ ( Cex X =h= od∅ )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
288 fip00 {X} ox oc cex=0 = ⊥-elim (fip09 fip25 fip20) where
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
289 -- CX is finite intersection
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
290 fip02 : {C x : Ordinal} → * C ⊆ * (CX ox) → Subbase (* C) x → o∅ o< x
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
291 fip02 {C} {x} C<CX sc with trio< x o∅
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
292 ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a )
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
293 ... | tri> ¬a ¬b c = c
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
294 ... | tri≈ ¬a b ¬c = ⊥-elim (¬x<0 ( _==_.eq→ cex=0 record { is-CS = fip10 ; sx = subst (λ k → Subbase (* C) k) b sc } )) where
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
295 fip10 : * C ⊆ Replace' (* X) (λ z xz → L \ z)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
296 fip10 {w} cw = subst (λ k → odef k w) *iso ( C<CX cw )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
297 -- we have some intersection because L is not empty (if we have an element of L, we don't need choice)
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
298 fip26 : odef (* (CX ox)) (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) )))
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
299 fip26 = subst (λ k → odef k (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) )) )) (sym *iso)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
300 record { z = cover oc (x∋minimal L (0<P→ne 0<L)) ; az = P∋cover oc (x∋minimal L (0<P→ne 0<L)) ; x=ψz = refl }
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
301 fip25 : odef L( FIP.limit fip (CCX ox) fip02 )
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
302 fip25 = FIP.L∋limit fip (CCX ox) fip02 fip26
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
303 fip20 : {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) ( FIP.limit fip (CCX ox) fip02 ))
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
304 fip20 {y} Xy yl = proj2 fip21 yl where
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
305 fip22 : odef (* (CX ox)) (& ( L \ * y ))
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
306 fip22 = subst (λ k → odef k (& ( L \ * y ))) (sym *iso) record { z = y ; az = Xy ; x=ψz = refl }
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
307 fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 )
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
308 fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 )
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
309 fip09 : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z ))
1148
d39c79bb71f0 recovered
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1146
diff changeset
310 fip09 {z} Lz nc = nc ( P∋cover oc Lz ) (subst (λ k → odef (* (cover oc Lz)) k) refl (isCover oc _ ))
1121
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1120
diff changeset
311 cex : {X : Ordinal } → * X ⊆ OS top → * X covers L → Ordinal
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
312 cex {X} ox oc = & ( ODC.minimal O (Cex X) (fip00 ox oc))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
313 CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → CFIP X (cex ox oc)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
314 CXfip {X} ox oc = ODC.x∋minimal O (Cex X) (fip00 ox oc)
1149
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1148
diff changeset
315 --
1121
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1120
diff changeset
316 -- this defines finite cover
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
317 finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal
1121
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1120
diff changeset
318 finCover {X} ox oc = & ( Replace' (* (cex ox oc)) (λ z xz → L \ z ))
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
319 -- create Finite-∪ from cex
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
320 isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
321 isFinite {X} xo xcp = fip30 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp)) where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
322 fip30 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y → Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z )))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
323 fip30 x y x⊆cs (gi sb) = fip31 where
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
324 fip32 : Replace' (* x) (λ z xz → L \ z) ⊆ * X -- x⊆cs :* x ⊆ Replace' (* X) (λ z₁ xz → L \ z₁) , x=ψz : w ≡ & (L \ * z) , odef (* x) z
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
325 fip32 {w} record { z = z ; az = xz ; x=ψz = x=ψz } with x⊆cs xz
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
326 ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
327 fip34 : * z1 ⊆ L
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
328 fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
329 fip33 : z1 ≡ w
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
330 fip33 = begin
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
331 z1 ≡⟨ sym &iso ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
332 & (* z1) ≡⟨ cong (&) (sym (L\Lx=x fip34 )) ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
333 & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) (sym *iso) ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
334 & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
335 & (L \ * z) ≡⟨ sym x=ψz ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
336 w ∎ where open ≡-Reasoning
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
337 fip31 : Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z)))
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
338 fip31 = fin-e (subst (λ k → k ⊆ * X ) (sym *iso) fip32 )
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
339 fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = fip35 where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
340 fip35 : Finite-∪ (* X) (& (Replace' (* x) (λ z₁ xz → L \ z₁)))
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
341 fip35 = subst (λ k → Finite-∪ (* X) k)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
342 (cong (&) (subst (λ k → (k ∪ k ) ≡ (Replace' (* x) (λ z₁ xz → L \ z₁)) ) (sym *iso) x∪x≡x )) ( fin-∪ (fip30 _ _ x⊆cs sy) (fip30 _ _ x⊆cs sz) )
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
343 -- is also a cover
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
344 isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
345 isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
346 ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
347 -- record { cover = λ {x} Lx → ? ; P∋cover = ? ; isCover = ? }
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
348 fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b))
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
349 fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
350 ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
351 ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
352 fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) )
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
353 fip43 {A} {L} {a} {b} ca cb = record { cover = fip44 ; P∋cover = fip46 ; isCover = fip47 } where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
354 fip44 : {x : Ordinal} → odef (L \ (a ∩ b)) x → Ordinal
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
355 fip44 {x} Lab with fip45 {L} {a} {b} Lab
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
356 ... | case1 La = cover ca La
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
357 ... | case2 Lb = cover cb Lb
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
358 fip46 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef A (fip44 lt)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
359 fip46 {x} Lab with fip45 {L} {a} {b} Lab
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
360 ... | case1 La = P∋cover ca La
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
361 ... | case2 Lb = P∋cover cb Lb
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
362 fip47 : {x : Ordinal} (lt : odef (L \ (a ∩ b)) x) → odef (* (fip44 lt)) x
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
363 fip47 {x} Lab with fip45 {L} {a} {b} Lab
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
364 ... | case1 La = isCover ca La
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
365 ... | case2 Lb = isCover cb Lb
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
366 fip40 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
367 → (Replace' (* x) (λ z xz → L \ z )) covers (L \ * y )
1151
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
368 fip40 x .(& (* _ ∩ * _)) x⊆r (g∩ {a} {b} sa sb) = subst (λ k → (Replace' (* x) (λ z xz → L \ z)) covers ( L \ k ) ) (sym *iso)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
369 ( fip43 {_} {L} {* a} {* b} fip41 fip42 ) where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
370 fip41 : Replace' (* x) (λ z xz → L \ z) covers (L \ * a)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
371 fip41 = fip40 x a x⊆r sa
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
372 fip42 : Replace' (* x) (λ z xz → L \ z) covers (L \ * b)
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
373 fip42 = fip40 x b x⊆r sb
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
374 fip40 x y x⊆r (gi sb) with x⊆r sb
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
375 ... | record { z = z ; az = az ; x=ψz = x=ψz } = record { cover = fip51 ; P∋cover = fip53 ; isCover = fip50 }where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
376 fip51 : {w : Ordinal} (Lyw : odef (L \ * y) w) → Ordinal
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
377 fip51 {w} Lyw = z
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
378 fip52 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* X) z
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
379 fip52 {w} Lyw = az
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
380 fip55 : * z ⊆ L
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
381 fip55 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az)) wz1
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
382 fip56 : * z ≡ L \ * y
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
383 fip56 = begin
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
384 * z ≡⟨ sym (L\Lx=x fip55 ) ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
385 L \ ( L \ * z ) ≡⟨ cong (λ k → L \ k) (sym *iso) ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
386 L \ * ( & ( L \ * z )) ≡⟨ cong (λ k → L \ * k) (sym x=ψz) ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
387 L \ * y ∎ where open ≡-Reasoning
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
388 fip53 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (Replace' (* x) (λ z₁ xz → L \ z₁)) z
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
389 fip53 {w} Lyw = record { z = _ ; az = sb ; x=ψz = fip54 } where
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
390 fip54 : z ≡ & ( L \ * y )
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
391 fip54 = begin
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
392 z ≡⟨ sym &iso ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
393 & (* z) ≡⟨ cong (&) fip56 ⟩
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
394 & (L \ * y )
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
395 ∎ where open ≡-Reasoning
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
396 fip50 : {w : Ordinal} (Lyw : odef (L \ * y) w) → odef (* z) w
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
397 fip50 {w} Lyw = subst (λ k → odef k w ) (sym fip56) Lyw
8a071bf52407 Finite intersection property to Compact done
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1150
diff changeset
398
1120
e086a266c6b7 FIP fix
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1119
diff changeset
399
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
400
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
401 -- some day
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
402 Compact→FIP : Set (suc n)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
403 Compact→FIP = {L : HOD} → (top : Topology L ) → Compact top → FIP top
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
404
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
405 -- existence of Ultra Filter
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
406
1113
384ba5a3c019 fix Topology definition
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1112
diff changeset
407 open Filter
1102
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
408
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
409 -- Ultra Filter has limit point
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
410
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
411 record UFLP {P : HOD} (TP : Topology P) {L : HOD} (LP : L ⊆ Power P ) (F : Filter {L} {P} LP )
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
412 (FL : filter F ∋ P) (ultra : ultra-filter F ) : Set (suc (suc n)) where
1102
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
413 field
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
414 limit : Ordinal
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
415 P∋limit : odef P limit
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
416 is-limit : {o : Ordinal} → odef (OS TP) o → odef (* o) limit → (* o) ⊆ filter F
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
417
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 -- FIP is UFL
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
419
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
420 UFLP→FIP : {P : HOD} (TP : Topology P) → {L : HOD} (LP : L ⊆ Power P ) →
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
421 ( (F : Filter {L} {P} LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP TP LP F FP UF ) → FIP TP
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
422 UFLP→FIP {P} TP {L} LP uflp = record { limit = uf00 ; is-limit = {!!} } where
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
423 fip : {X : Ordinal} → * X ⊆ CS TP → Set n
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
424 fip {X} CSX = {C x : Ordinal} → * C ⊆ * X → Subbase (* C) x → o∅ o< x
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
425 F : {X : Ordinal} → (CSX : * X ⊆ CS TP ) → fip {X} CSX → Filter {L} {P} LP
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
426 F = ?
1143
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1142
diff changeset
427 uf00 : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
428 uf00 {X} CSX fip = UFLP.limit ( uflp (F CSX fip) ? (F→ultra LP ? ? (F CSX fip) ? ? ? ) )
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
429
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
430 -- some day
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
431 FIP→UFLP : Set (suc (suc n))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
432 FIP→UFLP = {P : HOD} (TP : Topology P) → FIP TP
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
433 → {L : HOD} (LP : L ⊆ Power P ) (F : Filter LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP {P} TP {L} LP F FP UF
1102
a9a7ad7784cc fix topology
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1101
diff changeset
434
1124
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1123
diff changeset
435 -- product topology of compact topology is compact
431
a5f8084b8368 reorganiztion for apkg
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
436
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
437 Tychonoff : {P Q : HOD } → (TP : Topology P) → (TQ : Topology Q) → Compact TP → Compact TQ → Compact (ProductTopology TP TQ)
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
438 Tychonoff {P} {Q} TP TQ CP CQ = FIP→Compact (ProductTopology TP TQ) (UFLP→FIP (ProductTopology TP TQ) LPQ uflp ) where
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
439 L = pbase TP TQ
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
440 LPQ = pbase⊆PL TP TQ
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
441 -- Product of UFL has limit point
1142
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
442 uflp : (F : Filter {pbase TP TQ} LPQ) (LF : filter F ∋ ZFP P Q) (UF : ultra-filter F)
7b924ef65373 Topology clean up
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1136
diff changeset
443 → UFLP (ProductTopology TP TQ) LPQ F LF UF
1150
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 1149
diff changeset
444 uflp F LF UF = record { limit = & < ? , {!!} > ; P∋limit = {!!} ; is-limit = {!!} }