Mercurial > hg > Members > kono > Proof > ZF-in-agda
diff src/Topology.agda @ 1476:32001d93755b
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 28 Jun 2024 20:55:38 +0900 |
parents | 47d3cc596d68 |
children | 0b30bb7c7501 |
line wrap: on
line diff
--- a/src/Topology.agda Fri Jun 28 17:41:43 2024 +0900 +++ b/src/Topology.agda Fri Jun 28 20:55:38 2024 +0900 @@ -1,39 +1,64 @@ -{-# OPTIONS --allow-unsolved-metas #-} +{-# OPTIONS --cubical-compatible --safe #-} +open import Level +open import Ordinals +open import logic +open import Relation.Nullary open import Level open import Ordinals -module Topology {n : Level } (O : Ordinals {n}) where +import HODBase +import OD +open import Relation.Nullary +module Topology {n : Level } (O : Ordinals {n} ) (HODAxiom : HODBase.ODAxiom O) (ho< : OD.ODAxiom-ho< O HODAxiom ) + (AC : OD.AxiomOfChoice O HODAxiom ) where + + +open import Relation.Binary.PropositionalEquality hiding ( [_] ) +open import Relation.Binary.Definitions + +open import Data.Empty + +import OrdUtil + +open Ordinals.Ordinals O +open Ordinals.IsOrdinals isOrdinal +import ODUtil open import logic +open import nat + +open OrdUtil O +open ODUtil O HODAxiom ho< + open _∧_ open _∨_ open Bool -import OD -open import Relation.Nullary -open import Data.Empty -open import Relation.Binary.Core -open import Relation.Binary.Definitions +open HODBase._==_ + +open HODBase.ODAxiom HODAxiom +open OD O HODAxiom + +open HODBase.HOD + +open AxiomOfChoice AC +open import ODC O HODAxiom AC as ODC + +open import Level +open import Ordinals + +import filter + +open import Relation.Nullary +-- open import Relation.Binary hiding ( _⇔_ ) +open import Data.Empty open import Relation.Binary.PropositionalEquality -import BAlgebra -open BAlgebra O -open inOrdinal O -open OD O -open OD.OD -open ODAxiom odAxiom -import OrdUtil -import ODUtil -open Ordinals.Ordinals O -open Ordinals.IsOrdinals isOrdinal --- open Ordinals.IsNext isNext -open OrdUtil O -open ODUtil O +open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ ) +import BAlgebra -import ODC -open ODC O +open import ZProduct O HODAxiom ho< +open import filter O HODAxiom ho< AC -open import filter O -open import ZProduct O record Topology ( L : HOD ) : Set (suc n) where field @@ -45,25 +70,26 @@ --- we may add -- OS∋L : OS ∋ L -- closed Set + open BAlgebra O HODAxiom ho< L ? CS : HOD CS = record { od = record { def = λ x → (* x ⊆ L) ∧ odef OS (& ( L \ (* x ))) } ; odmax = osuc (& L) ; <odmax = tp02 } where tp02 : {y : Ordinal } → (* y ⊆ L) ∧ odef OS (& (L \ * y)) → y o< osuc (& L) tp02 {y} nop = subst (λ k → k o≤ & L ) &iso ( ⊆→o≤ (λ {x} yx → proj1 nop yx )) os⊆L : {x : HOD} → OS ∋ x → x ⊆ L - os⊆L {x} Ox {y} xy = ( OS⊆PL Ox ) _ (subst (λ k → odef k y) (sym *iso) xy ) + os⊆L {x} Ox {y} xy = ( OS⊆PL Ox ) _ (subst (λ k → odef k y) ? xy ) cs⊆L : {x : HOD} → CS ∋ x → x ⊆ L - cs⊆L {x} Cx {y} xy = proj1 Cx (subst (λ k → odef k y ) (sym *iso) xy ) + cs⊆L {x} Cx {y} xy = proj1 Cx (subst (λ k → odef k y ) ? xy ) CS∋L : CS ∋ L - CS∋L = ⟪ subst (λ k → k ⊆ L) (sym *iso) (λ x → x) , subst (λ k → odef OS (& k)) (sym lem0) OS∋od∅ ⟫ where + CS∋L = ⟪ subst (λ k → k ⊆ L) ? (λ x → x) , subst (λ k → odef OS (& k)) (sym lem0) OS∋od∅ ⟫ where lem0 : L \ * (& L) ≡ od∅ - lem0 = subst (λ k → L \ k ≡ od∅) (sym *iso) L\L=0 + lem0 = subst (λ k → L \ k ≡ od∅) ? ? -- L\L=0 CS⊆PL : CS ⊆ Power L CS⊆PL {x} Cx y xy = proj1 Cx xy P\CS=OS : {cs : HOD} → CS ∋ cs → OS ∋ ( L \ cs ) - P\CS=OS {cs} ⟪ cs⊆L , olcs ⟫ = subst (λ k → odef OS k) (cong (λ k → & ( L \ k)) *iso) olcs + P\CS=OS {cs} ⟪ cs⊆L , olcs ⟫ = subst (λ k → odef OS k) ? olcs P\OS=CS : {cs : HOD} → OS ∋ cs → CS ∋ ( L \ cs ) - P\OS=CS {os} oos = ⟪ subst (λ k → k ⊆ L) (sym *iso) proj1 - , subst (λ k → odef OS k) (cong (&) (trans (sym (L\Lx=x (os⊆L oos))) (cong (λ k → L \ k) (sym *iso)) )) oos ⟫ + P\OS=CS {os} oos = ⟪ subst (λ k → k ⊆ L) ? proj1 + , subst (λ k → odef OS k) (cong (&) (trans (sym ?) (cong (λ k → L \ k) ?) )) oos ⟫ open Topology @@ -73,15 +99,16 @@ Cl {L} top A = 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) → Cl top L ≡ L -ClL {L} top = ==→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) ⟫ } ) +ClL : {L : HOD} → (top : Topology L) → Cl top L =h= L +ClL {L} top = record { eq→ = λ {x} ic + → subst (λ k → odef k x) ? ((proj2 ic) (& L) (CS∋L top) (subst (λ k → L ⊆ k) ? ( λ x → x))) + ; eq← = λ {x} lx → ⟪ lx , ( λ c cs l⊆c → l⊆c lx) ⟫ } -- Closure is Closed Set CS∋Cl : {L : HOD} → (top : Topology L) → (A : HOD) → CS top ∋ Cl top A -CS∋Cl {L} top A = subst (λ k → CS top ∋ k) (==→o≡ cc00) (P\OS=CS top UOCl-is-OS) where +CS∋Cl {L} top A = subst (λ k → CS top ∋ k) ? (P\OS=CS top UOCl-is-OS) where + open BAlgebra O HODAxiom ho< L ? OCl : HOD -- set of open set which it not contains A OCl = record { od = record { def = λ o → odef (OS top) o ∧ ( A ⊆ (L \ * o) ) } ; odmax = & (OS top) ; <odmax = odef∧< } OCl⊆OS : OCl ⊆ OS top @@ -93,30 +120,30 @@ cc01 : {x : Ordinal} → odef (L \ Union OCl) x → odef L x ∧ ((c : Ordinal) → odef (CS top) c → A ⊆ * c → odef (* c) x) cc01 {x} ⟪ Lx , nul ⟫ = ⟪ Lx , ( λ c cc ac → cc02 c cc ac nul ) ⟫ where cc02 : (c : Ordinal) → odef (CS top) c → A ⊆ * c → ¬ odef (Union OCl) x → odef (* c) x - cc02 c cc ac nox with ODC.∋-p O (* c) (* x) + cc02 c cc ac nox with ODC.∋-p (* c) (* x) ... | yes y = subst (λ k → odef (* c) k) &iso y - ... | no ncx = ⊥-elim ( nox record { owner = & ( L \ * c) ; ao = ⟪ proj2 cc , cc07 ⟫ ; ox = subst (λ k → odef k x) (sym *iso) cc06 } ) where + ... | no ncx = ⊥-elim ( nox record { owner = & ( L \ * c) ; ao = ⟪ proj2 cc , cc07 ⟫ ; ox = subst (λ k → odef k x) ? cc06 } ) where cc06 : odef (L \ * c) x cc06 = ⟪ Lx , subst (λ k → ¬ odef (* c) k) &iso ncx ⟫ cc08 : * c ⊆ L cc08 = cs⊆L top (subst (λ k → odef (CS top) k ) (sym &iso) cc ) cc07 : A ⊆ (L \ * (& (L \ * c))) cc07 {z} az = subst (λ k → odef k z ) ( - begin * c ≡⟨ sym ( L\Lx=x cc08 ) ⟩ - L \ (L \ * c) ≡⟨ cong (λ k → L \ k ) (sym *iso) ⟩ + begin * c ≡⟨ sym ? ⟩ + L \ (L \ * c) ≡⟨ cong (λ k → L \ k ) ? ⟩ L \ * (& (L \ * c)) ∎ ) ( ac az ) where open ≡-Reasoning cc03 : {x : Ordinal} → odef L x ∧ ((c : Ordinal) → odef (CS top) c → A ⊆ * c → odef (* c) x) → odef (L \ Union OCl) x cc03 {x} ⟪ Lx , ccx ⟫ = ⟪ Lx , cc04 ⟫ where -- if x is in Cl A, it is in some c : CS, OCl says it is not , i.e. L \ o ∋ x, so it is in (L \ Union OCl) x cc04 : ¬ odef (Union OCl) x - cc04 record { owner = o ; ao = ⟪ oo , A⊆L-o ⟫ ; ox = ox } = proj2 ( subst (λ k → odef k x) *iso cc05) ox where + cc04 record { owner = o ; ao = ⟪ oo , A⊆L-o ⟫ ; ox = ox } = proj2 ( subst (λ k → odef k x) ? cc05) ox where cc05 : odef (* (& (L \ * o))) x - cc05 = ccx (& (L \ * o)) (P\OS=CS top (subst (λ k → odef (OS top) k) (sym &iso) oo)) (subst (λ k → A ⊆ k) (sym *iso) A⊆L-o) + cc05 = ccx (& (L \ * o)) (P\OS=CS top (subst (λ k → odef (OS top) k) (sym &iso) oo)) (subst (λ k → A ⊆ k) ? A⊆L-o) -CS∋x→Clx=x : {L x : HOD} → (top : Topology L) → CS top ∋ x → Cl top x ≡ x -CS∋x→Clx=x {L} {x} top cx = ==→o≡ record { eq→ = cc10 ; eq← = cc11 } where +CS∋x→Clx=x : {L x : HOD} → (top : Topology L) → CS top ∋ x → Cl top x =h= x +CS∋x→Clx=x {L} {x} top cx = record { eq→ = cc10 ; eq← = cc11 } where cc10 : {y : Ordinal} → odef L y ∧ ((c : Ordinal) → odef (CS top) c → x ⊆ * c → odef (* c) y) → odef x y - cc10 {y} ⟪ Ly , cc ⟫ = subst (λ k → odef k y) *iso ( cc (& x) cx (λ {z} xz → subst (λ k → odef k z) (sym *iso) xz ) ) + cc10 {y} ⟪ Ly , cc ⟫ = subst (λ k → odef k y) ? ( cc (& x) cx (λ {z} xz → subst (λ k → odef k z) ? xz ) ) cc11 : {y : Ordinal} → odef x y → odef L y ∧ ((c : Ordinal) → odef (CS top) c → x ⊆ * c → odef (* c) y) cc11 {y} xy = ⟪ cs⊆L top cx xy , (λ c oc x⊆c → x⊆c xy ) ⟫ @@ -136,7 +163,7 @@ is-sbp : (P : HOD) {x y : Ordinal } → (px : Subbase P x) → odef (* x) y → odef P (sbp P px ) ∧ odef (* (sbp P px)) y is-sbp P {x} (gi px) xy = ⟪ px , xy ⟫ -is-sbp P {.(& (* _ ∩ * _))} (g∩ {x} {y} px px₁) xy = is-sbp P px (proj1 (subst (λ k → odef k _ ) *iso xy)) +is-sbp P {.(& (* _ ∩ * _))} (g∩ {x} {y} px px₁) xy = is-sbp P px (proj1 (subst (λ k → odef k _ ) ? xy)) sb⊆ : {P Q : HOD} {x : Ordinal } → P ⊆ Q → Subbase P x → Subbase Q x sb⊆ {P} {Q} P⊆Q (gi px) = gi (P⊆Q px) @@ -173,48 +200,48 @@ InducedTopology 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 ) ? (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) ? 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 ) ) + px = subst (λ k → odef k x ) ? ( proj1 (subst (λ k → odef k _ ) ? ux ) ) qx : odef (* (& q)) x - qx = subst (λ k → odef k x ) (sym *iso) ( proj2 (subst (λ k → odef k _ ) *iso ux ) ) + qx = subst (λ k → odef k x ) ? ( proj2 (subst (λ k → odef k _ ) ? ux ) ) 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 ) ? ? (⊆∩-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 = ⊆∩-incl-1 {* (Base.b (op px))} {* (Base.b (oq qx))} {p} (subst (λ k → (* (Base.b (op px))) ⊆ k ) *iso tp11) + tp09 = ⊆∩-incl-1 {* (Base.b (op px))} {* (Base.b (oq qx))} {p} (subst (λ k → (* (Base.b (op px))) ⊆ k ) ? tp11) 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) + tp10 = ⊆∩-incl-2 {* (Base.b (oq qx))} {* (Base.b (op px))} {q} (subst (λ k → (* (Base.b (oq qx))) ⊆ k ) ? 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) ⟫ + tp14 = subst (λ k → odef k x ) ? ⟪ Base.bx (op px) , Base.bx (oq qx) ⟫ ul : (p ∩ q) ⊆ L - ul = subst (λ k → k ⊆ L ) *iso (λ {z} pq → (Base.u⊆L (op px)) (pz pq) ) where + ul = subst (λ k → k ⊆ L ) ? (λ {z} pq → (Base.u⊆L (op px)) (pz pq) ) where pz : {z : Ordinal } → odef (* (& (p ∩ q))) z → odef (* (& p)) z - pz {z} pq = subst (λ k → odef k z ) (sym *iso) ( proj1 (subst (λ k → odef k _ ) *iso pq ) ) + pz {z} pq = subst (λ k → odef k z ) ? ( proj1 (subst (λ k → odef k _ ) ? pq ) ) 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 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 - ; 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 q⊆O qy yx - ... | 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 - tp06 : * b ⊆ Union q - tp06 {z} bz = record { owner = y ; ao = qy ; ox = b⊆u bz } + tp02 {q} q⊆O {x} = ? -- ux with subst (λ k → odef k x) ? ux + -- . | record { owner = y ; ao = qy ; ox = yx } with 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) ? tp04 + -- ; sb = sb ; b⊆u = subst ( λ k → * b ⊆ k ) ? tp06 ; bx = bx } where + -- tp05 : Union q ⊆ L + -- tp05 {z} record { owner = y ; ao = qy ; ox = yx } with q⊆O qy yx + -- ... | 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 + -- tp06 : * b ⊆ Union q + -- tp06 {z} bz = record { owner = y ; ao = qy ; ox = b⊆u bz } -- Product Topology @@ -240,16 +267,17 @@ 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 pbase⊆PL {P} {Q} TP TQ {z} (case1 record { p = p ; op = op ; prod = prod }) = subst (λ k → odef (Power (ZFP P Q)) k ) (sym prod) tp01 where tp01 : odef (Power (ZFP P Q)) (& (ZFP (* p) Q)) - tp01 w wz with subst (λ k → odef k w ) *iso wz - ... | ab-pair {a} {b} pa qb = ZFP→ (subst (λ k → odef P k ) (sym &iso) tp03 ) (subst (λ k → odef Q k ) (sym &iso) qb ) where - tp03 : odef P a - tp03 = os⊆L TP (subst (λ k → odef (OS TP) k) (sym &iso) op) pa + tp01 w wz = ? + -- tp01 w wz with subst (λ k → odef k w ) ? wz + -- ... | ab-pair {a} {b} pa qb = ZFP→ (subst (λ k → odef P k ) (sym &iso) tp03 ) (subst (λ k → odef Q k ) (sym &iso) qb ) where + -- tp03 : odef P a + -- tp03 = os⊆L TP (subst (λ k → odef (OS TP) k) (sym &iso) op) pa pbase⊆PL {P} {Q} TP TQ {z} (case2 record { q = q ; oq = oq ; prod = prod }) = subst (λ k → odef (Power (ZFP P Q)) k ) (sym prod) tp01 where tp01 : odef (Power (ZFP P Q)) (& (ZFP P (* q) )) - tp01 w wz with subst (λ k → odef k w ) *iso wz - ... | ab-pair {a} {b} pa qb = ZFP→ (subst (λ k → odef P k ) (sym &iso) pa ) (subst (λ k → odef Q k ) (sym &iso) tp03 ) where - tp03 : odef Q b - tp03 = os⊆L TQ (subst (λ k → odef (OS TQ) k) (sym &iso) oq) qb + tp01 w wz = ? -- with subst (λ k → odef k w ) ? wz + -- ... | ab-pair {a} {b} pa qb = ZFP→ (subst (λ k → odef P k ) (sym &iso) pa ) (subst (λ k → odef Q k ) (sym &iso) tp03 ) where + -- tp03 : odef Q b + -- tp03 = os⊆L TQ (subst (λ k → odef (OS TQ) k) (sym &iso) oq) qb 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 @@ -313,31 +341,33 @@ fip00 {X} xo xcp = fin-e ... | tri> ¬a ¬b 0<L = record { finCover = finCover ; isCover = isCover1 ; isFinite = isFinite } where -- set of coset of X + open BAlgebra O HODAxiom ho< L ? CX : {X : Ordinal} → * X ⊆ OS top → Ordinal CX {X} ox = & ( Replace (* X) (λ z → L \ z ) RC\ ) 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 → ⊥) → ⊥ - ... | 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 - fip10 : ¬ (odef (L \ * z) w) - fip10 ⟪ Lw , nzw ⟫ = nzw zw - fip06 : odef (OS top) (& (L \ * x)) - fip06 = os ( subst (λ k → odef (* X) k ) fip07 az ) - fip05 : * x ⊆ L - fip05 {w} xw = proj1 ( subst (λ k → odef k w) (trans (cong (*) x=ψz) *iso ) xw ) + CCX {X} os {x} ox = ? -- with subst (λ k → odef k x) ? 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)) ? 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) ? fip10 ⟫ where + -- fip10 : ¬ (odef (L \ * z) w) + -- fip10 ⟪ Lw , nzw ⟫ = nzw zw + -- fip06 : odef (OS top) (& (L \ * x)) + -- fip06 = os ( subst (λ k → odef (* X) k ) fip07 az ) + -- fip05 : * x ⊆ L + -- fip05 {w} xw = proj1 ( subst (λ k → odef k w) (trans (cong (*) x=ψz) ? ) xw ) + -- -- X covres L means Intersection of (CX X) contains nothing -- then some finite Intersection of (CX X) contains nothing ( contraposition of FIP .i.e. CFIP) -- it means there is a finite cover -- finCoverBase : {X : Ordinal } → * X ⊆ OS top → * X covers L → Subbase (Replace (* X) (λ z → L \ z) RC\ ) o∅ - finCoverBase {X} ox oc with ODC.p∨¬p O (Subbase (Replace (* X) (λ z → L \ z) RC\ ) o∅) + finCoverBase {X} ox oc with p∨¬p (Subbase (Replace (* X) (λ z → L \ z) RC\ ) o∅) ... | case1 sb = sb ... | case2 ¬sb = ⊥-elim (¬¬cover fip25 fip20) where ¬¬cover : {z : Ordinal } → odef L z → ¬ ( {y : Ordinal } → (Xy : odef (* X) y) → ¬ ( odef (* y) z )) @@ -347,19 +377,19 @@ 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 (¬sb (subst₂ (λ j k → Subbase j k ) *iso b sc )) + ... | tri≈ ¬a b ¬c = ⊥-elim (¬sb (subst₂ (λ j k → Subbase j k ) ? 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) + fip26 : odef (* (CX ox)) (& (L \ * ( cover oc ( x∋minimal L (0<P→ne 0<L) ) ))) + fip26 = subst (λ k → odef k (& (L \ * ( cover oc ( x∋minimal L (0<P→ne 0<L) ) )) )) ? 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 ))) ? 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 ) + fip21 = subst (λ k → odef k ( FIP.limit fip (CCX ox) fip02 ) ) ? ( FIP.is-limit fip (CCX ox) fip02 fip22 ) -- create HOD from Subbase ( finite intersection ) finCoverSet : {X : Ordinal } → (x : Ordinal) → Subbase (Replace (* X) (λ z → L \ z) RC\ ) x → HOD finCoverSet {X} x (gi rx) = ( L \ * x ) , ( L \ * x ) @@ -374,7 +404,7 @@ fip60 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z) RC\ ) x ) → Finite-∪ (* X) (& (finCoverSet {X} x sb)) fip60 x (gi rx) = subst (λ k → Finite-∪ (* X) k) fip62 (fin-i (fip61 rx)) where fip62 : & (* (& (L \ * x)) , * (& (L \ * x))) ≡ & ((L \ * x) , (L \ * x)) - fip62 = cong₂ (λ j k → & (j , k )) *iso *iso + fip62 = cong₂ (λ j k → & (j , k )) ? ? fip61 : odef (Replace (* X) (_\_ L) RC\ ) 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 @@ -382,26 +412,26 @@ 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) ⟩ + & (* z1) ≡⟨ cong (&) ? ⟩ + & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) ? ⟩ & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩ & (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))) ≡⟨ cong₂ _∪_ ? ? ⟩ 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) + isCover1 {X} xo xcp = subst₂ (λ j k → j covers k ) ? (subst (λ k → L \ k ≡ L) ? ? ) -- L\0=L) (fip70 o∅ (finCoverBase xo xcp)) where fip70 : (x : Ordinal) → (sb : Subbase (Replace (* X) (λ z → L \ z) RC\ ) x ) → (finCoverSet {X} x sb) covers (L \ * x) fip70 x (gi rx) = fip73 where fip73 : ((L \ * x) , (L \ * x)) covers (L \ * x) -- obvious fip73 = record { cover = λ _ → & (L \ * x) ; P∋cover = λ _ → case1 refl - ; isCover = λ {x} lt → subst (λ k → odef k x) (sym *iso) lt } + ; isCover = λ {x} lt → subst (λ k → odef k x) ? lt } fip70 x∩y (g∩ {x} {y} sx sy) = subst (λ k → finCoverSet (& (* x ∩ * y)) (g∩ sx sy) covers - (L \ k)) (sym *iso) ( fip43 {_} {L} {* x} {* y} (fip71 (fip70 x sx)) (fip72 (fip70 y sy)) ) where + (L \ k)) ? ( fip43 {_} {L} {* x} {* y} (fip71 (fip70 x sx)) (fip72 (fip70 y sy)) ) where fip71 : {a b c : HOD} → a covers c → (a ∪ b) covers c fip71 {a} {b} {c} cov = record { cover = cover cov ; P∋cover = λ lt → case1 (P∋cover cov lt) ; isCover = isCover cov } @@ -409,7 +439,7 @@ fip72 {a} {b} {c} cov = record { cover = cover cov ; P∋cover = λ lt → case2 (P∋cover cov lt) ; isCover = isCover cov } fip45 : {L a b : HOD} → (L \ (a ∩ b)) ⊆ ( (L \ a) ∪ (L \ b)) - fip45 {L} {a} {b} {x} Lab with ODC.∋-p O b (* x) + fip45 {L} {a} {b} {x} Lab with ∋-p b (* x) ... | yes bx = case1 ⟪ proj1 Lab , (λ ax → proj2 Lab ⟪ ax , subst (λ k → odef b k) &iso bx ⟫ ) ⟫ ... | no ¬bx = case2 ⟪ proj1 Lab , subst (λ k → ¬ ( odef b k)) &iso ¬bx ⟫ fip43 : {A L a b : HOD } → A covers (L \ a) → A covers (L \ b ) → A covers ( L \ ( a ∩ b ) ) @@ -427,8 +457,6 @@ ... | case1 La = isCover ca La ... | case2 Lb = isCover cb Lb -open _==_ - Compact→FIP : {L : HOD} → (top : Topology L ) → Compact top → FIP top Compact→FIP {L} top compact with trio< (& L) o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) @@ -438,28 +466,29 @@ -- if 0 ≡ X then ¬ odef X x fip000 : {X x : Ordinal} (CX : * X ⊆ CS top) → ({y : Ordinal} → Subbase (* X) y → o∅ o< y) → ¬ odef (* X) x fip000 {X} {x} CX fip xx with trio< o∅ X - ... | tri< 0<X ¬b ¬c = ¬∅∋ (subst₂ (λ j k → odef j k ) (trans (trans (sym *iso) (cong (*) L=0)) o∅≡od∅ ) (sym &iso) + ... | tri< 0<X ¬b ¬c = ¬∅∋ (subst₂ (λ j k → odef j k ) (trans (trans ? (cong (*) L=0)) ? ) (sym &iso) ( cs⊆L top (subst (λ k → odef (CS top) k ) (sym &iso) (CX xx)) Xe )) where 0<x : o∅ o< x 0<x = fip (gi xx ) e : HOD -- we have an element of x - e = ODC.minimal O (* x) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<x) ) + e = minimal (* x) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<x) ) Xe : odef (* x) (& e) - Xe = ODC.x∋minimal O (* x) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<x) ) + Xe = x∋minimal (* x) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<x) ) ... | tri≈ ¬a 0=X ¬c = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ( begin * X ≡⟨ cong (*) (sym 0=X) ⟩ - * o∅ ≡⟨ o∅≡od∅ ⟩ + * o∅ ≡⟨ ? ⟩ od∅ ∎ ) (sym &iso) xx ) ) where open ≡-Reasoning ... | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) ... | tri> ¬a ¬b 0<L = record { limit = limit ; is-limit = fip00 } where -- set of coset of X + open BAlgebra O HODAxiom ho< L ? OX : {X : Ordinal} → * X ⊆ CS top → Ordinal OX {X} ox = & ( Replace (* X) (λ z → L \ z ) RC\) OOX : {X : Ordinal} → (cs : * X ⊆ CS top) → * (OX cs) ⊆ OS top - OOX {X} cs {x} ox with subst (λ k → odef k x) *iso ox - ... | record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef (OS top) k) (sym x=ψz) ( P\CS=OS top (cs comp01)) where - comp01 : odef (* X) (& (* z)) - comp01 = subst (λ k → odef (* X) k) (sym &iso) az + OOX {X} cs {x} ox = ? -- with subst (λ k → odef k x) ? ox + -- ... | record { z = z ; az = az ; x=ψz = x=ψz } = subst (λ k → odef (OS top) k) (sym x=ψz) ( P\CS=OS top (cs comp01)) where + -- comp01 : odef (* X) (& (* z)) + -- comp01 = subst (λ k → odef (* X) k) (sym &iso) az -- if all finite intersection of X contains something, -- there is no finite cover. From Compactness, (OX X) is not a cover of L ( contraposition of Compact) -- it means there is a limit @@ -471,9 +500,9 @@ → (0<X : o∅ o< X ) → NC CX fip 0<X has-intersection {X} CX fip 0<X = intersection where e : HOD -- we have an element of X - e = ODC.minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) + e = minimal (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) Xe : odef (* X) (& e) - Xe = ODC.x∋minimal O (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) + Xe = x∋minimal (* X) (0<P→ne (subst (λ k → o∅ o< k) (sym &iso) 0<X) ) no-cover : ¬ ( (* (OX CX)) covers L ) no-cover cov = ⊥-elim (no-finite-cover (Compact.isCover compact (OOX CX) cov)) where -- construct Subase from Finite-∪ @@ -490,43 +519,43 @@ fp22 : e ⊆ L fp22 {x} lt = cs⊆L top (CX Xe) lt fp21 : & e ≡ & (L \ * (& (L \ e))) - fp21 = cong (&) (trans (sym (L\Lx=x fp22)) (cong (λ k → L \ k) (sym *iso))) + fp21 = cong (&) (trans (sym ?) (cong (λ k → L \ k) ?)) fp23 : (L \ * (& (L \ e))) ⊆ (L \ Union (* o∅)) - fp23 {x} ⟪ Lx , _ ⟫ = ⟪ Lx , ( λ lt → ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) o∅≡od∅ (sym &iso) (Own.ao lt )))) ⟫ + fp23 {x} ⟪ Lx , _ ⟫ = ⟪ Lx , ( λ lt → ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ? (sym &iso) (Own.ao lt )))) ⟫ fp02 t (fin-i {x} tx ) = record { i = x ; sb = gi fp03 ; t⊆i = fp24 } where -- we have a single cover x, L \ * x is single finite intersection fp24 : (L \ * x) ⊆ (L \ Union (* (& (* x , * x)))) - fp24 {y} ⟪ Lx , not ⟫ = ⟪ Lx , subst (λ k → ¬ odef (Union k) y) (sym *iso) fp25 ⟫ where + fp24 {y} ⟪ Lx , not ⟫ = ⟪ Lx , subst (λ k → ¬ odef (Union k) y) ? fp25 ⟫ where fp25 : ¬ odef (Union (* x , * x)) y - fp25 record { owner = .(& (* x)) ; ao = (case1 refl) ; ox = ox } = not (subst (λ k → odef k y) *iso ox ) - fp25 record { owner = .(& (* x)) ; ao = (case2 refl) ; ox = ox } = not (subst (λ k → odef k y) *iso ox ) + fp25 record { owner = .(& (* x)) ; ao = (case1 refl) ; ox = ox } = not (subst (λ k → odef k y) ? ox ) + fp25 record { owner = .(& (* x)) ; ao = (case2 refl) ; ox = ox } = not (subst (λ k → odef k y) ? ox ) fp03 : odef (* X) (& (L \ * x)) -- becase x is an element of Replace (* X) (λ z → L \ z ) - fp03 with subst (λ k → odef k x ) *iso tx - ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where - fip34 : * z1 ⊆ L - fip34 {w} wz1 = cs⊆L top (subst (λ k → odef (CS top) k) (sym &iso) (CX az1) ) wz1 - 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 \ * x ) ∎ where open ≡-Reasoning + fp03 = ? -- with subst (λ k → odef k x ) ? tx + -- ... | record { z = z1 ; az = az1 ; x=ψz = x=ψz1 } = subst (λ k → odef (* X) k) fip33 az1 where + -- fip34 : * z1 ⊆ L + -- fip34 {w} wz1 = cs⊆L top (subst (λ k → odef (CS top) k) (sym &iso) (CX az1) ) wz1 + -- fip33 : z1 ≡ & (L \ * x) + -- fip33 = begin + -- z1 ≡⟨ sym &iso ⟩ + -- & (* z1) ≡⟨ cong (&) (sym (L\Lx=x fip34 )) ⟩ + -- & (L \ ( L \ * z1)) ≡⟨ cong (λ k → & ( L \ k )) ? ⟩ + -- & (L \ * (& ( L \ * z1))) ≡⟨ cong (λ k → & ( L \ * k )) (sym x=ψz1) ⟩ + -- & (L \ * x ) ∎ where open ≡-Reasoning fp02 t (fin-∪ {tx} {ty} ux uy ) = record { i = & (* (SB.i (fp02 tx ux)) ∪ * (SB.i (fp02 ty uy))) ; sb = fp11 ; t⊆i = fp35 } where fp35 : (L \ * (& (* (SB.i (fp02 tx ux)) ∪ * (SB.i (fp02 ty uy))))) ⊆ (L \ Union (* (& (* tx ∪ * ty)))) - fp35 = subst₂ (λ j k → (L \ j ) ⊆ (L \ Union k)) (sym *iso) (sym *iso) fp36 where + fp35 = subst₂ (λ j k → (L \ j ) ⊆ (L \ Union k)) ? ? fp36 where fp40 : {z tz : Ordinal } → Finite-∪ (* (OX CX)) tz → odef (Union (* tz )) z → odef L z fp40 {z} {.(Ordinals.o∅ O)} fin-e record { owner = owner ; ao = ao ; ox = ox } - = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) o∅≡od∅ (sym &iso) ao )) - fp40 {z} {.(& (* _ , * _))} (fin-i {w} x) uz = fp41 x (subst (λ k → odef (Union k) z) *iso uz) where + = ⊥-elim ( ¬∅∋ (subst₂ (λ j k → odef j k ) ? (sym &iso) ao )) + fp40 {z} {.(& (* _ , * _))} (fin-i {w} x) uz = fp41 x (subst (λ k → odef (Union k) z) ? uz) where fp41 : (x : odef (* (OX CX)) w) → (uz : odef (Union (* w , * w)) z ) → odef L z fp41 x record { owner = .(& (* w)) ; ao = (case1 refl) ; ox = ox } = - os⊆L top (OOX CX (subst (λ k → odef (* (OX CX)) k) (sym &iso) x )) (subst (λ k → odef k z) *iso ox ) + os⊆L top (OOX CX (subst (λ k → odef (* (OX CX)) k) (sym &iso) x )) (subst (λ k → odef k z) ? ox ) fp41 x record { owner = .(& (* w)) ; ao = (case2 refl) ; ox = ox } = - os⊆L top (OOX CX (subst (λ k → odef (* (OX CX)) k) (sym &iso) x )) (subst (λ k → odef k z) *iso ox ) - fp40 {z} {.(& (* _ ∪ * _))} (fin-∪ {x1} {y1} ftx fty) uz with subst (λ k → odef (Union k) z ) *iso uz - ... | record { owner = o ; ao = case1 x1o ; ox = oz } = fp40 ftx record { owner = o ; ao = x1o ; ox = oz } - ... | record { owner = o ; ao = case2 y1o ; ox = oz } = fp40 fty record { owner = o ; ao = y1o ; ox = oz } + os⊆L top (OOX CX (subst (λ k → odef (* (OX CX)) k) (sym &iso) x )) (subst (λ k → odef k z) ? ox ) + fp40 {z} {.(& (* _ ∪ * _))} (fin-∪ {x1} {y1} ftx fty) uz = ? -- with subst (λ k → odef (Union k) z ) ? uz + -- ... | record { owner = o ; ao = case1 x1o ; ox = oz } = fp40 ftx record { owner = o ; ao = x1o ; ox = oz } + -- ... | record { owner = o ; ao = case2 y1o ; ox = oz } = fp40 fty record { owner = o ; ao = y1o ; ox = oz } fp36 : (L \ (* (SB.i (fp02 tx ux)) ∪ * (SB.i (fp02 ty uy)))) ⊆ (L \ Union (* tx ∪ * ty)) fp36 {z} ⟪ Lz , not ⟫ = ⟪ Lz , fp37 ⟫ where fp37 : ¬ odef (Union (* tx ∪ * ty)) z @@ -534,27 +563,27 @@ fp38 : (L \ (* (SB.i (fp02 tx ux)))) ⊆ (L \ Union (* tx)) fp38 = SB.t⊆i (fp02 tx ux) fp39 : Union (* tx) ⊆ (* (SB.i (fp02 tx ux))) - fp39 {w} txw with ∨L\X {L} {* (SB.i (fp02 tx ux))} (fp40 ux txw) - ... | case1 sb = sb - ... | case2 lsb = ⊥-elim ( proj2 (fp38 lsb) txw ) + fp39 {w} txw = ? -- with ∨L\X {L} {* (SB.i (fp02 tx ux))} (fp40 ux txw) + -- ... | case1 sb = sb + -- ... | case2 lsb = ⊥-elim ( proj2 (fp38 lsb) txw ) fp37 record { owner = owner ; ao = (case2 ax) ; ox = ox } = not (case2 (fp39 record { owner = _ ; ao = ax ; ox = ox }) ) where fp38 : (L \ (* (SB.i (fp02 ty uy)))) ⊆ (L \ Union (* ty)) fp38 = SB.t⊆i (fp02 ty uy) fp39 : Union (* ty) ⊆ (* (SB.i (fp02 ty uy))) - fp39 {w} tyw with ∨L\X {L} {* (SB.i (fp02 ty uy))} (fp40 uy tyw) - ... | case1 sb = sb - ... | case2 lsb = ⊥-elim ( proj2 (fp38 lsb) tyw ) + fp39 {w} tyw = ? -- with ∨L\X {L} {* (SB.i (fp02 ty uy))} (fp40 uy tyw) + -- ... | case1 sb = sb + -- ... | case2 lsb = ⊥-elim ( proj2 (fp38 lsb) tyw ) fp04 : {tx ty : Ordinal} → & (* (& (L \ * tx)) ∩ * (& (L \ * ty))) ≡ & (L \ * (& (* tx ∪ * ty))) - fp04 {tx} {ty} = cong (&) ( ==→o≡ record { eq→ = fp05 ; eq← = fp09 } ) where + fp04 {tx} {ty} = ? where -- cong (&) ( ==→o≡ record { eq→ = fp05 ; eq← = fp09 } ) where fp05 : {x : Ordinal} → odef (* (& (L \ * tx)) ∩ * (& (L \ * ty))) x → odef (L \ * (& (* tx ∪ * ty))) x - fp05 {x} lt with subst₂ (λ j k → odef (j ∩ k) x ) *iso *iso lt - ... | ⟪ ⟪ Lx , ¬tx ⟫ , ⟪ Ly , ¬ty ⟫ ⟫ = subst (λ k → odef (L \ k) x) (sym *iso) ⟪ Lx , fp06 ⟫ where - fp06 : ¬ odef (* tx ∪ * ty) x - fp06 (case1 tx) = ¬tx tx - fp06 (case2 ty) = ¬ty ty + fp05 {x} lt = ? -- with subst₂ (λ j k → odef (j ∩ k) x ) ? ? lt + -- ... | ⟪ ⟪ Lx , ¬tx ⟫ , ⟪ Ly , ¬ty ⟫ ⟫ = subst (λ k → odef (L \ k) x) ? ⟪ Lx , fp06 ⟫ where + -- fp06 : ¬ odef (* tx ∪ * ty) x + -- fp06 (case1 tx) = ¬tx tx + -- fp06 (case2 ty) = ¬ty ty fp09 : {x : Ordinal} → odef (L \ * (& (* tx ∪ * ty))) x → odef (* (& (L \ * tx)) ∩ * (& (L \ * ty))) x - fp09 {x} lt with subst (λ k → odef (L \ k) x) (*iso) lt - ... | ⟪ Lx , ¬tx∨ty ⟫ = subst₂ (λ j k → odef (j ∩ k) x ) (sym *iso) (sym *iso) + fp09 {x} lt with subst (λ k → odef (L \ k) x) ? lt + ... | ⟪ Lx , ¬tx∨ty ⟫ = subst₂ (λ j k → odef (j ∩ k) x ) ? ? ⟪ ⟪ Lx , ( λ tx → ¬tx∨ty (case1 tx)) ⟫ , ⟪ Lx , ( λ ty → ¬tx∨ty (case2 ty)) ⟫ ⟫ fp11 : Subbase (* X) (& (L \ * (& ((* (SB.i (fp02 tx ux)) ∪ * (SB.i (fp02 ty uy))))))) fp11 = subst (λ k → Subbase (* X) k ) fp04 ( g∩ (SB.sb (fp02 tx ux)) (SB.sb (fp02 ty uy )) ) @@ -568,7 +597,7 @@ sb : SB (Compact.finCover compact (OOX CX) cov) sb = fp02 fp01 (Compact.isFinite compact (OOX CX) cov) no-finite-cover : ¬ ( (* (Compact.finCover compact (OOX CX) cov)) covers L ) - no-finite-cover fcovers = ⊥-elim ( o<¬≡ (cong (&) (sym (==→o≡ f22))) f25 ) where + no-finite-cover fcovers = ? where -- ⊥-elim ( o<¬≡ (cong (&) (sym (==→o≡ f22))) f25 ) where f23 : (L \ * (SB.i sb)) ⊆ ( L \ Union (* (Compact.finCover compact (OOX CX) cov))) f23 = SB.t⊆i sb f22 : (L \ Union (* (Compact.finCover compact (OOX CX) cov))) =h= od∅ @@ -581,7 +610,7 @@ & (L \ Union (* (Compact.finCover compact (OOX CX) cov))) ∎ ) where open o≤-Reasoning O -- if we have no cover, we can consruct NC intersection : NC CX fip 0<X - intersection with ODC.p∨¬p O (NC CX fip 0<X) + intersection with p∨¬p (NC CX fip 0<X) ... | case1 nc = nc ... | case2 ¬nc = ⊥-elim ( no-cover record { cover = λ Lx → & (L \ coverf Lx) ; P∋cover = fp22 ; isCover = fp23 } ) where coverSet : {x : Ordinal} → odef L x → HOD @@ -590,23 +619,23 @@ fp17 : {x : Ordinal} → (Lx : odef L x ) → ¬ ( coverSet Lx =h= od∅ ) fp17 {x} Lx eq = ⊥-elim (¬nc record { x = x ; yx = fp19 } ) where fp19 : {y : Ordinal} → odef (* X) y → odef (* y) x - fp19 {y} Xy with ∨L\X {L} {* y} {x} Lx - ... | case1 yx = yx - ... | case2 lyx = ⊥-elim ( ¬x<0 {y} ( eq→ eq fp20 )) where - fp20 : odef (* X) y ∧ odef (L \ * y) x - fp20 = ⟪ Xy , lyx ⟫ + fp19 {y} Xy = ? -- with ∨L\X {L} {* y} {x} Lx + -- ... | case1 yx = yx + -- ... | case2 lyx = ⊥-elim ( ¬x<0 {y} ( eq→ eq fp20 )) where + -- fp20 : odef (* X) y ∧ odef (L \ * y) x + -- fp20 = ⟪ Xy , lyx ⟫ coverf : {x : Ordinal} → (Lx : odef L x ) → HOD - coverf Lx = ODC.minimal O (coverSet Lx) (fp17 Lx) + coverf Lx = minimal (coverSet Lx) (fp17 Lx) fp22 : {x : Ordinal} (lt : odef L x) → odef (* (OX CX)) (& (L \ coverf lt)) - fp22 {x} Lx = subst (λ k → odef k (& (L \ coverf Lx ))) (sym *iso) record { z = _ ; az = fp25 ; x=ψz = fp24 } where + fp22 {x} Lx = subst (λ k → odef k (& (L \ coverf Lx ))) ? record { z = _ ; az = fp25 ; x=ψz = fp24 } where fp24 : & (L \ coverf Lx) ≡ & (L \ * (& (coverf Lx))) - fp24 = cong (λ k → & ( L \ k )) (sym *iso) + fp24 = cong (λ k → & ( L \ k )) ? fp25 : odef (* X) (& (coverf Lx)) - fp25 = proj1 ( ODC.x∋minimal O (coverSet Lx) (fp17 Lx) ) + fp25 = proj1 ( x∋minimal (coverSet Lx) (fp17 Lx) ) fp23 : {x : Ordinal} (lt : odef L x) → odef (* (& (L \ coverf lt))) x - fp23 {x} Lx = subst (λ k → odef k x) (sym *iso) ⟪ Lx , fp26 ⟫ where + fp23 {x} Lx = subst (λ k → odef k x) ? ⟪ Lx , fp26 ⟫ where fp26 : ¬ odef (coverf Lx) x - fp26 = subst (λ k → ¬ odef k x ) *iso (proj2 (proj2 ( ODC.x∋minimal O (coverSet Lx) (fp17 Lx) )) ) + fp26 = subst (λ k → ¬ odef k x ) ? (proj2 (proj2 ( x∋minimal (coverSet Lx) (fp17 Lx) )) ) limit : {X : Ordinal} (CX : * X ⊆ CS top) (fip : {x : Ordinal} → Subbase (* X) x → o∅ o< x) → Ordinal limit {X} CX fip with trio< X o∅ ... | tri< a ¬b ¬c = ⊥-elim ( ¬x<0 a ) @@ -647,7 +676,7 @@ f1 : {p q : HOD} → Power P ∋ q → NF ∋ p → p ⊆ q → NF ∋ q f1 {p} {q} Pq Np p⊆q = record { u = Neighbor.u Np ; ou = Neighbor.ou Np ; ux = Neighbor.ux Np ; v⊆P = Pq _ ; u⊆v = f11 } where f11 : * (Neighbor.u Np) ⊆ * (& q) - f11 {x} ux = subst (λ k → odef k x ) (sym *iso) ( p⊆q (subst (λ k → odef k x) *iso (Neighbor.u⊆v Np ux)) ) + f11 {x} ux = subst (λ k → odef k x ) ? ( p⊆q (subst (λ k → odef k x) ? (Neighbor.u⊆v Np ux)) ) f2 : {p q : HOD} → NF ∋ p → NF ∋ q → Power P ∋ (p ∩ q) → NF ∋ (p ∩ q) f2 {p} {q} Np Nq Ppq = record { u = upq ; ou = ou ; ux = ux ; v⊆P = Ppq _ ; u⊆v = f20 } where upq : Ordinal @@ -655,16 +684,16 @@ ou : odef (OS TP) upq ou = o∩ TP (subst (λ k → odef (OS TP) k) (sym &iso) (Neighbor.ou Np)) (subst (λ k → odef (OS TP) k) (sym &iso) (Neighbor.ou Nq)) ux : odef (* upq) x - ux = subst ( λ k → odef k x ) (sym *iso) ⟪ Neighbor.ux Np , Neighbor.ux Nq ⟫ + ux = subst ( λ k → odef k x ) ? ⟪ Neighbor.ux Np , Neighbor.ux Nq ⟫ f20 : * upq ⊆ * (& (p ∩ q)) - f20 = subst₂ (λ j k → j ⊆ k ) (sym *iso) (sym *iso) ( λ {x} pq - → ⟪ subst (λ k → odef k x) *iso (Neighbor.u⊆v Np (proj1 pq)) , subst (λ k → odef k x) *iso (Neighbor.u⊆v Nq (proj2 pq)) ⟫ ) + f20 = subst₂ (λ j k → j ⊆ k ) ? ? ( λ {x} pq + → ⟪ subst (λ k → odef k x) ? (Neighbor.u⊆v Np (proj1 pq)) , subst (λ k → odef k x) ? (Neighbor.u⊆v Nq (proj2 pq)) ⟫ ) CAP : (P : HOD) {p q : HOD } → Power P ∋ p → Power P ∋ q → Power P ∋ (p ∩ q) -CAP P {p} {q} Pp Pq x pqx with subst (λ k → odef k x ) *iso pqx -... | ⟪ px , qx ⟫ = Pp _ (subst (λ k → odef k x) (sym *iso) px ) +CAP P {p} {q} Pp Pq x pqx with subst (λ k → odef k x ) ? pqx +... | ⟪ px , qx ⟫ = Pp _ (subst (λ k → odef k x) ? px ) NEG : (P : HOD) {p : HOD } → Power P ∋ p → Power P ∋ (P \ p ) -NEG P {p} Pp x vx with subst (λ k → odef k x) *iso vx +NEG P {p} Pp x vx with subst (λ k → odef k x) ? vx ... | ⟪ Px , npx ⟫ = Px