Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 1150:fe0129c40745
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 17 Jan 2023 11:21:18 +0900 |
parents | f8a30e568eca |
children | 8a071bf52407 |
files | src/BAlgebra.agda src/ODUtil.agda src/Topology.agda |
diffstat | 3 files changed, 114 insertions(+), 101 deletions(-) [+] |
line wrap: on
line diff
--- a/src/BAlgebra.agda Mon Jan 16 22:43:09 2023 +0900 +++ b/src/BAlgebra.agda Tue Jan 17 11:21:18 2023 +0900 @@ -33,26 +33,6 @@ open _∨_ open Bool ---_∩_ : ( A B : HOD ) → HOD ---A ∩ B = record { od = record { def = λ x → odef A x ∧ odef B x } ; --- odmax = omin (odmax A) (odmax B) ; <odmax = λ y → min1 (<odmax A (proj1 y)) (<odmax B (proj2 y)) } - -∩-comm : { A B : HOD } → (A ∩ B) ≡ (B ∩ A) -∩-comm {A} {B} = ==→o≡ record { eq← = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq→ = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ } - -_∪_ : ( A B : HOD ) → HOD -A ∪ B = record { od = record { def = λ x → odef A x ∨ odef B x } ; - odmax = omax (odmax A) (odmax B) ; <odmax = lemma } where - lemma : {y : Ordinal} → odef A y ∨ odef B y → y o< omax (odmax A) (odmax B) - lemma {y} (case1 a) = ordtrans (<odmax A a) (omax-x _ _) - lemma {y} (case2 b) = ordtrans (<odmax B b) (omax-y _ _) - -_\_ : ( A B : HOD ) → HOD -A \ B = record { od = record { def = λ x → odef A x ∧ ( ¬ ( odef B x ) ) }; odmax = odmax A ; <odmax = λ y → <odmax A (proj1 y) } - -¬∅∋ : {x : HOD} → ¬ ( od∅ ∋ x ) -¬∅∋ {x} = ¬x<0 - L\L=0 : { L : HOD } → L \ L ≡ od∅ L\L=0 {L} = ==→o≡ ( record { eq→ = lem0 ; eq← = lem1 } ) where lem0 : {x : Ordinal} → odef (L \ L) x → odef od∅ x
--- a/src/ODUtil.agda Mon Jan 16 22:43:09 2023 +0900 +++ b/src/ODUtil.agda Tue Jan 17 11:21:18 2023 +0900 @@ -46,6 +46,22 @@ lemma : {y : Ordinal} → def (od x) (osuc y) → y o< osuc (odmax x) lemma {y} lt = ordtrans <-osuc (ordtrans (<odmax x lt) <-osuc ) +∩-comm : { A B : HOD } → (A ∩ B) ≡ (B ∩ A) +∩-comm {A} {B} = ==→o≡ record { eq← = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq→ = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ } + +_∪_ : ( A B : HOD ) → HOD +A ∪ B = record { od = record { def = λ x → odef A x ∨ odef B x } ; + odmax = omax (odmax A) (odmax B) ; <odmax = lemma } where + lemma : {y : Ordinal} → odef A y ∨ odef B y → y o< omax (odmax A) (odmax B) + lemma {y} (case1 a) = ordtrans (<odmax A a) (omax-x _ _) + lemma {y} (case2 b) = ordtrans (<odmax B b) (omax-y _ _) + +_\_ : ( A B : HOD ) → HOD +A \ B = record { od = record { def = λ x → odef A x ∧ ( ¬ ( odef B x ) ) }; odmax = odmax A ; <odmax = λ y → <odmax A (proj1 y) } + +¬∅∋ : {x : HOD} → ¬ ( od∅ ∋ x ) +¬∅∋ {x} = ¬x<0 + pair-xx<xy : {x y : HOD} → & (x , x) o< osuc (& (x , y) ) pair-xx<xy {x} {y} = ⊆→o≤ lemma where @@ -231,3 +247,26 @@ = record { owner = & P ; ao = PPP ; ox = lem03 } where lem03 : odef (* (& P)) (& (p ∩ q)) lem03 = subst (λ k → odef k (& (p ∩ q))) (sym *iso) ( each (ppx _ xz) (ppy _ yz) ) + +-- ∋-irr : {X x : HOD} → (a b : X ∋ x ) → a ≡ b +-- ∋-irr {X} {x} _ _ = refl +-- is requed in +-- Replace∩ : {X P Q : HOD} → {ψ : (x : HOD) → X ∋ x → HOD} → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) +-- → Replace' (P ∩ Q) (λ _ pq → ψ _ (P⊆X (proj1 pq ))) ≡ Replace' P (λ _ p → ψ _ (P⊆X p)) ∩ Replace' Q (λ _ q → ψ _ (Q⊆X q)) +-- Replace∩ {X} {P} {Q} {ψ} P⊆X Q⊆X = ==→o≡ record { eq→ = lem04 ; eq← = ? } where +-- lem04 : {x : Ordinal} → OD.def (od (Replace' (P ∩ Q) (λ z pq → ψ z (P⊆X (proj1 pq)) ))) x +-- → OD.def (od (Replace' P (λ z p → ψ z (P⊆X p)) ∩ Replace' Q (λ z q → ψ z (Q⊆X q)))) x +-- lem04 {x} record { z = z ; az = az ; x=ψz = x=ψz } = ⟪ +-- record { z = _ ; az = proj1 az ; x=ψz = ? } , +-- record { z = _ ; az = proj2 az ; x=ψz = ? } ⟫ + +Repl∪ψ : {X P Q : HOD} → (ψ : (x : HOD) → X ∋ x → HOD) → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) → (x : HOD) → (P ∪ Q) ∋ x → HOD +Repl∪ψ {X} {P} {Q} ψ P⊆X Q⊆X x (case1 p) = ψ _ (P⊆X p) +Repl∪ψ {X} {P} {Q} ψ P⊆X Q⊆X x (case2 q) = ψ _ (Q⊆X q) + +Replace∪ : {X P Q : HOD} → {ψ : (x : HOD) → X ∋ x → HOD} → (P⊆X : P ⊆ X) → (Q⊆X : Q ⊆ X ) + → Replace' (P ∪ Q) (Repl∪ψ {X} {P} {Q} ψ P⊆X Q⊆X) ≡ Replace' P (λ _ p → ψ _ (P⊆X p)) ∪ Replace' Q (λ _ q → ψ _ (Q⊆X q)) +Replace∪ {X} {P} {Q} {ψ} P⊆X Q⊆X = ==→o≡ record { eq→ = ? ; eq← = ? } + + +
--- a/src/Topology.agda Mon Jan 16 22:43:09 2023 +0900 +++ b/src/Topology.agda Tue Jan 17 11:21:18 2023 +0900 @@ -60,11 +60,11 @@ open Topology Cl : {L : HOD} → (top : Topology L) → (A : HOD) → A ⊆ L → HOD -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 ) } - ; odmax = & L ; <odmax = odef∧< } +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 ) } + ; odmax = & L ; <odmax = odef∧< } ClL : {L : HOD} → (top : Topology L) → {f : L ⊆ L } → Cl top L f ≡ L -ClL {L} top {f} = ==→o≡ ( record { eq→ = λ {x} ic +ClL {L} top {f} = ==→o≡ ( record { eq→ = λ {x} ic → subst (λ k → odef k x) *iso ((proj2 ic) (& L) (CS∋L top) (subst (λ k → L ⊆ k) (sym *iso) ( λ x → x))) ; eq← = λ {x} lx → ⟪ lx , ( λ c cs l⊆c → l⊆c lx) ⟫ } ) @@ -76,7 +76,7 @@ g∩ : {x y : Ordinal } → Subbase P x → Subbase P y → Subbase P (& (* x ∩ * y)) -- --- if y is in a Subbase, some element of P contains it +-- if y is in a Subbase, some element of P contains it sbp : (P : HOD) {x : Ordinal } → Subbase P x → Ordinal sbp P {x} (gi {y} px) = x @@ -92,18 +92,18 @@ record Base (L P : HOD) (u x : Ordinal) : Set n where field - b : Ordinal + b : Ordinal u⊂L : * u ⊆ L sb : Subbase P b b⊆u : * b ⊆ * u bx : odef (* b) x - x⊆L : odef L x + x⊆L : odef L x x⊆L = u⊂L (b⊆u bx) SO : (L P : HOD) → HOD SO L P = record { od = record { def = λ u → {x : Ordinal } → odef (* u) x → Base L P u x } ; odmax = osuc (& L) ; <odmax = tp00 } where tp00 : {y : Ordinal} → ({x : Ordinal} → odef (* y) x → Base L P y x) → y o< osuc (& L) - tp00 {y} op = subst (λ k → k o≤ & L ) &iso ( ⊆→o≤ (λ {x} yx → Base.x⊆L (op yx) )) + tp00 {y} op = subst (λ k → k o≤ & L ) &iso ( ⊆→o≤ (λ {x} yx → Base.x⊆L (op yx) )) record IsSubBase (L P : HOD) : Set (suc n) where field @@ -117,12 +117,12 @@ GeneratedTopogy L P isb = record { OS = SO L P ; OS⊆PL = tp00 ; o∪ = tp02 ; o∩ = tp01 ; OS∋od∅ = tp03 } where tp03 : {x : Ordinal } → odef (* (& od∅)) x → Base L P (& od∅) x - tp03 {x} 0x = ⊥-elim ( empty (* x) ( subst₂ (λ j k → odef j k ) *iso (sym &iso) 0x )) + tp03 {x} 0x = ⊥-elim ( empty (* x) ( subst₂ (λ j k → odef j k ) *iso (sym &iso) 0x )) tp00 : SO L P ⊆ Power L tp00 {u} ou x ux with ou ux ... | record { b = b ; u⊂L = u⊂L ; sb = sb ; b⊆u = b⊆u ; bx = bx } = u⊂L (b⊆u bx) tp01 : {p q : HOD} → SO L P ∋ p → SO L P ∋ q → SO L P ∋ (p ∩ q) - tp01 {p} {q} op oq {x} ux = record { b = b ; u⊂L = subst (λ k → k ⊆ L) (sym *iso) ul + tp01 {p} {q} op oq {x} ux = record { b = b ; u⊂L = subst (λ k → k ⊆ L) (sym *iso) ul ; sb = g∩ (Base.sb (op px)) (Base.sb (oq qx)) ; b⊆u = tp08 ; bx = tp14 } where px : odef (* (& p)) x px = subst (λ k → odef k x ) (sym *iso) ( proj1 (subst (λ k → odef k _ ) *iso ux ) ) @@ -131,14 +131,14 @@ b : Ordinal b = & (* (Base.b (op px)) ∩ * (Base.b (oq qx))) tp08 : * b ⊆ * (& (p ∩ q) ) - tp08 = subst₂ (λ j k → j ⊆ k ) (sym *iso) (sym *iso) (⊆∩-dist {(* (Base.b (op px)) ∩ * (Base.b (oq qx)))} {p} {q} tp09 tp10 ) where + tp08 = subst₂ (λ j k → j ⊆ k ) (sym *iso) (sym *iso) (⊆∩-dist {(* (Base.b (op px)) ∩ * (Base.b (oq qx)))} {p} {q} tp09 tp10 ) where tp11 : * (Base.b (op px)) ⊆ * (& p ) tp11 = Base.b⊆u (op px) tp12 : * (Base.b (oq qx)) ⊆ * (& q ) tp12 = Base.b⊆u (oq qx) - tp09 : (* (Base.b (op px)) ∩ * (Base.b (oq qx))) ⊆ p + tp09 : (* (Base.b (op px)) ∩ * (Base.b (oq qx))) ⊆ p tp09 = ⊆∩-incl-1 {* (Base.b (op px))} {* (Base.b (oq qx))} {p} (subst (λ k → (* (Base.b (op px))) ⊆ k ) *iso tp11) - tp10 : (* (Base.b (op px)) ∩ * (Base.b (oq qx))) ⊆ q + tp10 : (* (Base.b (op px)) ∩ * (Base.b (oq qx))) ⊆ q tp10 = ⊆∩-incl-2 {* (Base.b (oq qx))} {* (Base.b (op px))} {q} (subst (λ k → (* (Base.b (oq qx))) ⊆ k ) *iso tp12) tp14 : odef (* (& (* (Base.b (op px)) ∩ * (Base.b (oq qx))))) x tp14 = subst (λ k → odef k x ) (sym *iso) ⟪ Base.bx (op px) , Base.bx (oq qx) ⟫ @@ -149,22 +149,22 @@ tp02 : { q : HOD} → q ⊂ SO L P → SO L P ∋ Union q tp02 {q} q⊂O {x} ux with subst (λ k → odef k x) *iso ux ... | record { owner = y ; ao = qy ; ox = yx } with proj2 q⊂O qy yx - ... | 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 + ... | 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 ; sb = sb ; b⊆u = subst ( λ k → * b ⊆ k ) (sym *iso) tp06 ; bx = bx } where tp05 : Union q ⊆ L tp05 {z} record { owner = y ; ao = qy ; ox = yx } with proj2 q⊂O qy yx - ... | record { b = b ; u⊂L = u⊂L ; sb = sb ; b⊆u = b⊆u ; bx = bx } + ... | record { b = b ; u⊂L = u⊂L ; sb = sb ; b⊆u = b⊆u ; bx = bx } = IsSubBase.P⊆PL isb (proj1 (is-sbp P sb bx )) _ (proj2 (is-sbp P sb bx )) tp04 : Union q ⊆ L - tp04 = tp05 + tp04 = tp05 tp06 : * b ⊆ Union q - tp06 {z} bz = record { owner = y ; ao = qy ; ox = b⊆u bz } + tp06 {z} bz = record { owner = y ; ao = qy ; ox = b⊆u bz } -- Product Topology open ZFProduct --- Product Topology is not +-- Product Topology is not -- ZFP (OS TP) (OS TQ) (box) record BaseP {P : HOD} (TP : Topology P ) (Q : HOD) (x : Ordinal) : Set n where @@ -196,7 +196,7 @@ pbase : {P Q : HOD} → Topology P → Topology Q → HOD 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 tp00 : {y : Ordinal} → BaseP TP Q y ∨ BaseQ P TQ y → y o< & (Power (ZFP P Q)) - tp00 {y} bpq = odef< ( pbase⊆PL TP TQ bpq ) + tp00 {y} bpq = odef< ( pbase⊆PL TP TQ bpq ) ProductTopology : {P Q : HOD} → Topology P → Topology Q → Topology (ZFP P Q) ProductTopology {P} {Q} TP TQ = GeneratedTopogy (ZFP P Q) (pbase TP TQ) record { P⊆PL = pbase⊆PL TP TQ } @@ -215,34 +215,33 @@ record FIP {L : HOD} (top : Topology L) : Set n where field - limit : {X : Ordinal } → * X ⊆ CS top + limit : {X : Ordinal } → * X ⊆ CS top → ( { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x ) → Ordinal - is-limit : {X : Ordinal } → (CX : * X ⊆ CS top ) - → ( fip : { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x ) + is-limit : {X : Ordinal } → (CX : * X ⊆ CS top ) + → ( fip : { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x ) → {x : Ordinal } → odef (* X) x → odef (* x) (limit CX fip) - L∋limit : {X : Ordinal } → (CX : * X ⊆ CS top ) - → ( fip : { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x ) - → {x : Ordinal } → odef (* X) x + L∋limit : {X : Ordinal } → (CX : * X ⊆ CS top ) + → ( fip : { C : Ordinal } { x : Ordinal } → * C ⊆ * X → Subbase (* C) x → o∅ o< x ) + → {x : Ordinal } → odef (* X) x → odef L (limit CX fip) 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) -- Compact data Finite-∪ (S : HOD) : Ordinal → Set n where - fin-∅ : Finite-∪ S o∅ - fin-e : {x : Ordinal } → odef S x → Finite-∪ S x + fin-e : {x : Ordinal } → * x ⊆ S → Finite-∪ S x fin-∪ : {x y : Ordinal } → Finite-∪ S x → Finite-∪ S y → Finite-∪ S (& (* x ∪ * y)) record Compact {L : HOD} (top : Topology L) : Set n where field finCover : {X : Ordinal } → (* X) ⊆ OS top → (* X) covers L → Ordinal isCover : {X : Ordinal } → (xo : (* X) ⊆ OS top) → (xcp : (* X) covers L ) → (* (finCover xo xcp )) covers L - isFinite : {X : Ordinal } → (xo : (* X) ⊆ OS top) → (xcp : (* X) covers L ) → Finite-∪ (* X) (finCover xo xcp ) + isFinite : {X : Ordinal } → (xo : (* X) ⊆ OS top) → (xcp : (* X) covers L ) → Finite-∪ (* X) (finCover xo xcp ) -- FIP is Compact FIP→Compact : {L : HOD} → (top : Topology L ) → FIP top → Compact top -FIP→Compact {L} top fip with trio< (& L) o∅ +FIP→Compact {L} top fip with trio< (& L) o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) ... | tri≈ ¬a b ¬c = record { finCover = λ _ _ → o∅ ; isCover = λ {X} _ xcp → fip01 xcp ; isFinite = fip00 } where -- L is empty @@ -251,18 +250,18 @@ fip01 : {X : Ordinal } → (xcp : * X covers L) → (* o∅) covers L fip01 xcp = record { cover = λ Lx → ⊥-elim (fip02 Lx) ; P∋cover = λ Lx → ⊥-elim (fip02 Lx) ; isCover = λ Lx → ⊥-elim (fip02 Lx) } fip00 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) o∅ - fip00 {X} xo xcp = fin-∅ + fip00 {X} xo xcp = fin-e ( λ {x} 0x → ⊥-elim (¬x<0 (subst (λ k → odef k x) o∅≡od∅ 0x) ) ) ... | tri> ¬a ¬b 0<L = record { finCover = finCover ; isCover = isCover1 ; isFinite = isFinite } where -- set of coset of X CX : {X : Ordinal} → * X ⊆ OS top → Ordinal CX {X} ox = & ( Replace' (* X) (λ z xz → L \ z )) - CCX : {X : Ordinal} → (os : * X ⊆ OS top) → * (CX os) ⊆ CS top + CCX : {X : Ordinal} → (os : * X ⊆ OS top) → * (CX os) ⊆ CS top CCX {X} os {x} ox with subst (λ k → odef k x) *iso ox ... | record { z = z ; az = az ; x=ψz = x=ψz } = ⟪ fip05 , fip06 ⟫ where -- x ≡ & (L \ * z) fip07 : z ≡ & (L \ * x) fip07 = subst₂ (λ j k → j ≡ k) &iso (cong (λ k → & ( L \ k )) (cong (*) (sym x=ψz))) ( cong (&) ( ==→o≡ record { eq→ = fip09 ; eq← = fip08 } )) where fip08 : {x : Ordinal} → odef L x ∧ (¬ odef (* (& (L \ * z))) x) → odef (* z) x - fip08 {x} ⟪ Lx , not ⟫ with subst (λ k → (¬ odef k x)) *iso not -- ( odef L x ∧ odef (* z) x → ⊥) → ⊥ + fip08 {x} ⟪ Lx , not ⟫ with subst (λ k → (¬ odef k x)) *iso not -- ( odef L x ∧ odef (* z) x → ⊥) → ⊥ ... | Lx∧¬zx = ODC.double-neg-elim O ( λ nz → Lx∧¬zx ⟪ Lx , nz ⟫ ) fip09 : {x : Ordinal} → odef (* z) x → odef L x ∧ (¬ odef (* (& (L \ * z))) x) 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 @@ -277,71 +276,66 @@ -- then some finite Intersection of (CX X) contains nothing ( contraposition of FIP ) -- it means there is a finite cover -- - record CFIP (x : Ordinal) : Set n where + record CFIP (X x : Ordinal) : Set n where field - is-CS : * x ⊆ CS top - sx : Subbase (* x) o∅ - Cex : HOD - Cex = record { od = record { def = λ x → CFIP x } ; odmax = osuc (& (CS top)) ; <odmax = λ {x} lt → - subst₂ (λ j k → j o≤ k ) &iso refl ( ⊆→o≤ (CFIP.is-CS lt )) } - fip00 : {X : Ordinal } → * X ⊆ OS top → * X covers L → ¬ ( Cex =h= od∅ ) - fip00 {X} ox oc cex=0 = ⊥-elim (fip09 fip25 fip20) where + is-CS : * x ⊆ Replace' (* X) (λ z xz → L \ z) + sx : Subbase (* x) o∅ + Cex : (X : Ordinal ) → HOD + Cex X = record { od = record { def = λ x → CFIP X x } ; odmax = osuc (& (Replace' (* X) (λ z xz → L \ z))) ; <odmax = ? } where + fip05 : {y : Ordinal} → CFIP X y → y o< osuc (& L) + fip05 {y} cf = subst₂ (λ j k → j o≤ k ) ? ? ( ⊆→o≤ ( CFIP.is-CS cf )) + fip00 : {X : Ordinal } → * X ⊆ OS top → * X covers L → ¬ ( Cex X =h= od∅ ) + fip00 {X} ox oc cex=0 = ⊥-elim (fip09 fip25 fip20) where -- CX is finite intersection fip02 : {C x : Ordinal} → * C ⊆ * (CX ox) → Subbase (* C) x → o∅ o< x - fip02 {C} {x} C<CX sc with trio< x o∅ + fip02 {C} {x} C<CX sc with trio< x o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) ... | tri> ¬a ¬b c = c ... | tri≈ ¬a b ¬c = ⊥-elim (¬x<0 ( _==_.eq→ cex=0 record { is-CS = fip10 ; sx = subst (λ k → Subbase (* C) k) b sc } )) where - fip10 : * C ⊆ CS top - fip10 {w} cw = CCX ox ( C<CX cw ) - -- we have some intersection because L is not empty + fip10 : * C ⊆ Replace' (* X) (λ z xz → L \ z) + fip10 {w} cw = subst (λ k → odef k w) *iso ( C<CX cw ) + -- we have some intersection because L is not empty (if we have an element of L, we don't need choice) fip26 : odef (* (CX ox)) (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) ))) - fip26 = subst (λ k → odef k (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) )) )) (sym *iso) - 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 } + fip26 = subst (λ k → odef k (& (L \ * ( cover oc ( ODC.x∋minimal O L (0<P→ne 0<L) ) )) )) (sym *iso) + 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 } fip25 : odef L( FIP.limit fip (CCX ox) fip02 ) fip25 = FIP.L∋limit fip (CCX ox) fip02 fip26 fip20 : {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) ( FIP.limit fip (CCX ox) fip02 )) fip20 {y} Xy yl = proj2 fip21 yl where fip22 : odef (* (CX ox)) (& ( L \ * y )) - fip22 = subst (λ k → odef k (& ( L \ * y ))) (sym *iso) record { z = y ; az = Xy ; x=ψz = refl } + fip22 = subst (λ k → odef k (& ( L \ * y ))) (sym *iso) record { z = y ; az = Xy ; x=ψz = refl } fip21 : odef (L \ * y) ( FIP.limit fip (CCX ox) fip02 ) fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) *iso ( FIP.is-limit fip (CCX ox) fip02 fip22 ) - fip09 : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z )) + fip09 : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z )) fip09 {z} Lz nc = nc ( P∋cover oc Lz ) (subst (λ k → odef (* (cover oc Lz)) k) refl (isCover oc _ )) cex : {X : Ordinal } → * X ⊆ OS top → * X covers L → Ordinal - cex {X} ox oc = & ( ODC.minimal O Cex (fip00 ox oc)) - CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → CFIP (cex ox oc) - CXfip {X} ox oc = ODC.x∋minimal O Cex (fip00 ox oc) - -- - -- Subbase (* CCX) s -- Finite-∪ (* X) (replaced s) - -- sa ∩ sb ≡ s ( L \ sa ) ∪ (L \ sb) ≡ (replaced s) - -- CCX ∋ s (replaced s) ∋ ( L \ s ) + cex {X} ox oc = & ( ODC.minimal O (Cex X) (fip00 ox oc)) + CXfip : {X : Ordinal } → (ox : * X ⊆ OS top) → (oc : * X covers L) → CFIP X (cex ox oc) + CXfip {X} ox oc = ODC.x∋minimal O (Cex X) (fip00 ox oc) -- - -- Subbase (* (cex ox oc)) s -- Finite-∪ (* X) (finCover xo xcp) - -- sa ∩ sb ( L \ sa ) ∪ (L \ sb) - record Cover+Int {X : Ordinal } (ox : * X ⊆ OS top) (oc : * X covers L) : Set n where - field - x w : Ordinal - is-CS : * x ⊆ CS top - x+w=L : (* x ∪ * w ) =h= L - sx : Subbase (* (cex ox oc)) w - fc : Finite-∪ (* X) x - -- -- this defines finite cover finCover : {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal finCover {X} ox oc = & ( Replace' (* (cex ox oc)) (λ z xz → L \ z )) - -- create Finite-∪ from cex + -- create Finite-∪ from cex isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp) - isFinite {X} xo xcp = ? where - fip30 : ( x y : Ordinal ) → * x ⊆ CS top → Subbase (* x) y → Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z ))) - fip30 = ? + isFinite {X} xo xcp = fip30 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp)) where + fip30 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y → Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z ))) + fip30 x y x⊆cs (gi sb) = fip31 where + fip31 : Finite-∪ (* X) (& (Replace' (* x) (λ z xz → L \ z))) + fip31 = fin-e ? + fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = ? -- is also a cover isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L - isCover1 = {!!} + isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) ? ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where + -- record { cover = λ {x} Lx → ? ; P∋cover = ? ; isCover = ? } + fip40 : ( x y : Ordinal ) → * x ⊆ Replace' (* X) (λ z xz → L \ z) → Subbase (* x) y + → (Replace' (* x) (λ z xz → L \ z )) covers (L \ * y ) + fip40 = ? -Compact→FIP : {L : HOD} → (top : Topology L ) → Compact top → FIP top -Compact→FIP = {!!} +-- some day +Compact→FIP : Set (suc n) +Compact→FIP = {L : HOD} → (top : Topology L ) → Compact top → FIP top -- existence of Ultra Filter @@ -349,7 +343,7 @@ -- Ultra Filter has limit point -record UFLP {P : HOD} (TP : Topology P) {L : HOD} (LP : L ⊆ Power P ) (F : Filter {L} {P} LP ) +record UFLP {P : HOD} (TP : Topology P) {L : HOD} (LP : L ⊆ Power P ) (F : Filter {L} {P} LP ) (FL : filter F ∋ P) (ultra : ultra-filter F ) : Set (suc (suc n)) where field limit : Ordinal @@ -358,28 +352,28 @@ -- FIP is UFL -UFLP→FIP : {P : HOD} (TP : Topology P) → {L : HOD} (LP : L ⊆ Power P ) → +UFLP→FIP : {P : HOD} (TP : Topology P) → {L : HOD} (LP : L ⊆ Power P ) → ( (F : Filter {L} {P} LP ) (FP : filter F ∋ P) (UF : ultra-filter F ) → UFLP TP LP F FP UF ) → FIP TP UFLP→FIP {P} TP {L} LP uflp = record { limit = uf00 ; is-limit = {!!} } where fip : {X : Ordinal} → * X ⊆ CS TP → Set n fip {X} CSX = {C x : Ordinal} → * C ⊆ * X → Subbase (* C) x → o∅ o< x - F : Filter {L} {P} LP + F : {X : Ordinal} → (CSX : * X ⊆ CS TP ) → fip {X} CSX → Filter {L} {P} LP F = ? uf00 : {X : Ordinal} → (CSX : * X ⊆ CS TP) → fip {X} CSX → Ordinal - uf00 {X} CSX fip = UFLP.limit ( uflp F ? (F→ultra LP ? ? F ? ? ? ) ) - + uf00 {X} CSX fip = UFLP.limit ( uflp (F CSX fip) ? (F→ultra LP ? ? (F CSX fip) ? ? ? ) ) -FIP→UFLP : {P : HOD} (TP : Topology P) → FIP TP +-- some day +FIP→UFLP : Set (suc (suc n)) +FIP→UFLP = {P : HOD} (TP : Topology P) → FIP TP → {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 -FIP→UFLP {P} TP fip {L} LP F FP UF = ? -- product topology of compact topology is compact Tychonoff : {P Q : HOD } → (TP : Topology P) → (TQ : Topology Q) → Compact TP → Compact TQ → Compact (ProductTopology TP TQ) -Tychonoff {P} {Q} TP TQ CP CQ = FIP→Compact (ProductTopology TP TQ) (UFLP→FIP (ProductTopology TP TQ) LPQ uflp ) where +Tychonoff {P} {Q} TP TQ CP CQ = FIP→Compact (ProductTopology TP TQ) (UFLP→FIP (ProductTopology TP TQ) LPQ uflp ) where L = pbase TP TQ LPQ = pbase⊆PL TP TQ - -- Product of UFL has limit point + -- Product of UFL has limit point uflp : (F : Filter {pbase TP TQ} LPQ) (LF : filter F ∋ ZFP P Q) (UF : ultra-filter F) → UFLP (ProductTopology TP TQ) LPQ F LF UF - uflp F LF UF = record { limit = & < ? , {!!} > ; P∋limit = {!!} ; is-limit = {!!} } + uflp F LF UF = record { limit = & < ? , {!!} > ; P∋limit = {!!} ; is-limit = {!!} }