changeset 1189:0201827b08ac

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 26 Feb 2023 18:30:23 +0900
parents 8cbc3918d875
children e110b56d8cbe
files src/Topology.agda
diffstat 1 files changed, 25 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/src/Topology.agda	Sun Feb 26 11:16:32 2023 +0900
+++ b/src/Topology.agda	Sun Feb 26 18:30:23 2023 +0900
@@ -281,7 +281,7 @@
 
 data Finite-∪ (S : HOD) : Ordinal → Set n where
    fin-e : Finite-∪ S o∅
-   fin-i : {x : Ordinal } → * x ⊆ S → Finite-∪ S x
+   fin-i : {x : Ordinal } → odef S x → 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
@@ -328,24 +328,18 @@
    --     then some finite Intersection of (CX X) contains nothing ( contraposition of FIP .i.e. CFIP)
    --     it means there is a finite cover
    --
-   record CFIP (X x : Ordinal) : Set n where
-      field
-         is-CS : * x ⊆ Replace (* X) (λ z → 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 → L \ z))) ; <odmax = fip05 } where
-       fip05 :  {y : Ordinal} →   CFIP X y → y o< osuc (& (Replace (* X) (λ z → L \ z)))
-       fip05 {y} cf = subst₂ (λ j k → j o< osuc k ) &iso refl ( ⊆→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
+   finCoverBase : {X : Ordinal } → * X ⊆ OS top → * X covers L →  Subbase (Replace (* X) (λ z → L \ z)) o∅
+   finCoverBase {X} ox oc with ODC.p∨¬p O (Subbase (Replace (* X) (λ z → L \ z)) o∅)
+   ... | case1 sb = sb
+   ... | case2 ¬sb = ⊥-elim (fip09 fip25 fip20) where
+       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 _ ))
        -- CX is finite intersection
        fip02 : {x : Ordinal} → Subbase (* (CX ox)) x → o∅ o< x
        fip02 {x} 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 (* (CX ox)) k) b sc } )) where
-           fip10 : * (CX ox) ⊆ Replace (* X) (λ z → L \ z)
-           fip10 {w} cw = subst (λ k → odef k w) *iso cw 
+       ... | tri≈ ¬a b ¬c  = ⊥-elim (¬sb (subst₂ (λ j k → Subbase j k ) *iso b sc )) 
        -- 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)
@@ -358,53 +352,37 @@
            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} 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 X) (fip00 ox oc))   -- this will be the finite cover
-   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)
+   finCoverSet : {X : Ordinal } → (x : Ordinal) →  Subbase (Replace (* X) (λ z → L \ z)) x → HOD
+   finCoverSet {X} x (gi rx) = L \ * x 
+   finCoverSet {X} x∩y (g∩ {x} {y} sx sy) = finCoverSet {X} x sx ∪ finCoverSet {X} y sy 
    --
    -- this defines finite cover
    finCover :  {X : Ordinal} → * X ⊆ OS top → * X covers L → Ordinal
-   finCover {X} ox oc = & ( Replace (* (cex ox oc)) (λ z → L \  z ))
+   finCover {X} ox oc = & ( finCoverSet o∅ (finCoverBase ox oc))
    -- create Finite-∪ from cex
    isFinite : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → Finite-∪ (* X) (finCover xo xcp)
-   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 → L \ z) →  Subbase (* x) y → Finite-∪ (* X) (& (Replace (* x) (λ z → L \  z )))
-        fip30 x y x⊆cs (gi sb) = fip31 where
-            fip32 : Replace (* x) (λ z → L \ z) ⊆ * X 
-            fip32 {w} record { z = z ; az = xz ; x=ψz = x=ψz } with x⊆cs xz
-            ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where
+   isFinite {X} xo xcp = fip60 o∅ (finCoverBase xo xcp) where
+        fip60 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z)) x ) → Finite-∪ (* X) (& (finCoverSet {X} x sb))
+        fip60 x (gi rx) = fin-i (fip61 rx) where
+           fip61 : odef (Replace (* X) (_\_ L)) x → odef (* X) ( & ((L \ * x ) ))
+           fip61 record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where
                fip34 : * z1 ⊆ L
                fip34 {w} wz1 = os⊆L top (subst (λ k → odef (OS top) k) (sym &iso) (xo az1)) wz1
-               fip33 : z1 ≡ w
+               fip33 : z1 ≡ & (L \ * x)
                fip33 = begin
                  z1 ≡⟨ sym &iso ⟩
                  & (* z1) ≡⟨ cong (&) (sym  (L\Lx=x fip34 )) ⟩
                  & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) (sym *iso) ⟩
                  & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩
-                 & (L \ * z) ≡⟨ sym x=ψz ⟩
-                 w ∎ where open ≡-Reasoning
-            --  x⊆cs :* x ⊆ Replace (* X) (λ z₁ xz → L \ z₁) , x=ψz : w ≡ & (L \ * z) , odef (* x) z
-            fp38 : Subbase (* x) y 
-            fp38 = gi sb
-            fp35 : odef (* x) y
-            fp35 = sb
-            fp36 : odef (Replace (* X) (λ z → L \ z)) y
-            fp36 = x⊆cs sb
-            fp37 : odef (* X) (& (L \ * y))
-            fp37 = ?
-            fip31 : Finite-∪ (* X) (& (Replace (* x) (λ z → L \ z)))
-            fip31 = fin-i (subst (λ k → k ⊆ * X ) (sym *iso) fip32 )
-        fip30 x yz x⊆cs (g∩ {y} {z} sy sz) = fip35 where
-            fip35 : Finite-∪ (* X) (& (Replace (* x) (λ z₁ → L \ z₁)))
-            fip35 = subst (λ k → Finite-∪ (* X) k)
-               (cong (&) (subst (λ k → (k ∪ k ) ≡ (Replace (* x) (λ z₁ → L \ z₁)) ) (sym *iso) x∪x≡x )) ( fin-∪ (fip30 _ _  x⊆cs sy)  (fip30 _ _ x⊆cs sz) )
+                 & (L \ * x ) ∎ where open ≡-Reasoning
+        fip60 x∩y (g∩ {x} {y} sx sy) = subst (λ k → Finite-∪ (* X) k) fip62 ( fin-∪ (fip60 x sx)  (fip60 y sy)  ) where
+               fip62 : & (* (& (finCoverSet x sx)) ∪ * (& (finCoverSet y sy))) ≡ & (finCoverSet x sx ∪ finCoverSet y sy)
+               fip62 = cong (&) ( begin
+                  (* (& (finCoverSet x sx)) ∪ * (& (finCoverSet y sy))) ≡⟨ cong₂ _∪_ *iso *iso ⟩ 
+                  finCoverSet x sx ∪ finCoverSet y sy ∎ ) where open ≡-Reasoning
    -- is also a cover
    isCover1 : {X : Ordinal} (xo : * X ⊆ OS top) (xcp : * X covers L) → * (finCover xo xcp) covers L
-   isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L)
-     ( fip40 (cex xo xcp) o∅ (CFIP.is-CS (CXfip xo xcp)) (CFIP.sx (CXfip xo xcp))) where
+   isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) (sym *iso) (subst (λ k → L \ k ≡ L) (sym o∅≡od∅) L\0=L) ? where
         fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪  (L \ b))
         fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x)
         ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ )  ⟫