changeset 1254:abd86d493c61

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 16 Mar 2023 11:56:17 +0900
parents 507f443c97ce
children afecaee48825
files src/generic-filter.agda
diffstat 1 files changed, 51 insertions(+), 30 deletions(-) [+]
line wrap: on
line diff
--- a/src/generic-filter.agda	Wed Mar 15 22:45:05 2023 +0900
+++ b/src/generic-filter.agda	Thu Mar 16 11:56:17 2023 +0900
@@ -167,13 +167,17 @@
 ... | tri≈ ¬a refl ¬c = λ x → x
 ... | tri> ¬a ¬b c = ⊥-elim ( nat-≤> n≤m c )
 
+record Expansion  (L : HOD) {p : HOD } (dense : HOD) (Lp : L ∋ p) : Set (Level.suc n) where
+   field
+       expansion : HOD
+       dense∋exp : dense ∋ expansion 
+       p⊆exp : p ⊆ expansion 
+
 record Dense  {L P : HOD } (LP : L ⊆ Power P)  : Set (Level.suc n) where
    field
        dense : HOD
        d⊆P :  dense ⊆ L
-       dense-f : {p : HOD} → L ∋ p  → HOD
-       dense-d :  { p : HOD} → (lt : L ∋ p) → dense ∋ dense-f lt
-       dense-p :  { p : HOD} → (lt : L ∋ p) → p ⊆ dense-f lt
+       has-expansion : {p : HOD} → (Lp : L ∋ p) → Expansion L dense Lp
 
 record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (Level.suc n) where
     field
@@ -181,9 +185,9 @@
     rgen : HOD
     rgen = Replace (Filter.filter genf) (λ x → P \ x )
     field
-       generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Replace (Filter.filter genf) (λ x → P \ x )) ≡ od∅ )
-       gfilter1 : {p q : HOD} → rgen ∋ p → q ⊆ p  → L ∋ ( P \ q) → rgen ∋ q
-       gfilter2 : {p q : HOD} → (rgen ∋ p ) ∧ (rgen ∋ q) → rgen ∋ (p ∪ q)
+       generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ rgen ) ≡ od∅ )
+       gideal1 : {p q : HOD} → rgen ∋ p → q ⊆ p  → L ∋ ( P \ q) → rgen ∋ q
+       gideal2 : {p q : HOD} → (rgen ∋ p ) ∧ (rgen ∋ q) → rgen ∋ (p ∪ q)
 
 P-GenericFilter : (P L p0 : HOD ) → (LP : L ⊆ Power P) → L ∋ p0
       → (CAP : {p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q ))  -- L is a Boolean Algebra
@@ -193,8 +197,8 @@
 P-GenericFilter P L p0 L⊆PP Lp0 CAP UNI NEG C = record {
       genf = record { filter = Replace (PDHOD L p0 C) (λ x → P \ x)  ; f⊆L =  gf01 ; filter1 = f1 ; filter2 = f2 }
     ; generic = λ D cd → subst (λ k → ¬ (Dense.dense D ∩ k) ≡ od∅ ) (sym gf00) (fdense D cd )
-    ; gfilter1 = gfilter1
-    ; gfilter2 = gfilter2
+    ; gideal1 = gideal1
+    ; gideal2 = gideal2
    } where
     GP =  Replace (PDHOD L p0 C) (λ x → P \ x)
     GPR = Replace GP (_\_ P) 
@@ -309,6 +313,7 @@
     fdense : (D : Dense {L} {P} L⊆PP ) → (ctl-M C ) ∋ Dense.dense D  → ¬ (Dense.dense D ∩ (PDHOD L p0 C)) ≡ od∅
     fdense D MD eq0  = ⊥-elim (  ∅< {Dense.dense D ∩ PDHOD L p0 C} fd01 (≡od∅→=od∅ eq0 )) where
        open Dense
+       open Expansion
        fd09 : (i : ℕ ) → odef L (find-p L C i (& p0))
        fd09 zero = Lp0
        fd09 (suc i) with is-o∅ ( & ( PGHOD i L C (find-p L C i (& p0))) )
@@ -334,13 +339,14 @@
        ... | yes y = ⊥-elim ( ¬x<0 ( _==_.eq→ fd10 fd21 ) ) where
           L∋pn : L ∋ * (find-p L C an (& p0))
           L∋pn = subst (λ k → odef L k) (sym &iso) (fd09 an )
-          L∋df : L ∋ ( dense-f D L∋pn )
-          L∋df = (d⊆P D) (  dense-d D L∋pn )
-          pn∋df : (* (ctl→ C an)) ∋ ( dense-f D L∋pn )
-          pn∋df = subst (λ k → odef k (& ( dense-f D L∋pn ) )) d=an (  dense-d D L∋pn ) 
-          pn⊆df : (y : Ordinal) → odef (* (find-p L C an (& p0))) y → odef (* (& (dense-f D L∋pn))) y
-          pn⊆df y py = subst (λ k → odef k y ) (sym *iso) (dense-p D L∋pn py)
-          fd21 : odef (PGHOD an L C (find-p L C an (& p0)) ) (& (dense-f D L∋pn))
+          exp = has-expansion D L∋pn
+          L∋df : L ∋ ( expansion exp )
+          L∋df = (d⊆P D) (dense∋exp exp)
+          pn∋df : (* (ctl→ C an)) ∋ ( expansion exp)
+          pn∋df = subst (λ k → odef k (& ( expansion exp))) d=an (dense∋exp exp )
+          pn⊆df : (y : Ordinal) → odef (* (find-p L C an (& p0))) y → odef (* (& (expansion exp))) y
+          pn⊆df y py = subst (λ k → odef k y ) (sym *iso) (p⊆exp exp py)
+          fd21 : odef (PGHOD an L C (find-p L C an (& p0)) ) (& (expansion exp))
           fd21 = ⟪ L∋df , ⟪ pn∋df , pn⊆df ⟫ ⟫
           fd10 :  PGHOD an L C (find-p L C an (& p0)) =h= od∅
           fd10 = ≡o∅→=od∅ y
@@ -380,8 +386,8 @@
            & (* zp) ≡⟨ cong (&) (sym (L\Lx=x (gpx→⊆P azp) )) ⟩
            & (P \ (P \ (* zp) )) ≡⟨ cong (λ k → & ( P \ k)) (subst₂ (λ j k → j ≡ k ) *iso *iso (cong (*) (sym x=ψzp)))  ⟩
            & (P \ p) ∎ ) azp
-    gfilter1 : {p q : HOD} → GPR ∋ p → q ⊆ p → L ∋  ( P \ q) → GPR ∋ q
-    gfilter1 {p} {q} record { z = np ; az = record { z = z ; az = pdz ; x=ψz = x=ψznp } ; x=ψz = x=ψz } q⊆p Lpq 
+    gideal1 : {p q : HOD} → GPR ∋ p → q ⊆ p → L ∋  ( P \ q) → GPR ∋ q
+    gideal1 {p} {q} record { z = np ; az = record { z = z ; az = pdz ; x=ψz = x=ψznp } ; x=ψz = x=ψz } q⊆p Lpq 
       = record { z = _ ; az = gf30 ; x=ψz = cong (&) fd42 } where
         gp =  record { z = np ; az = record { z = z ; az = pdz ; x=ψz = x=ψznp } ; x=ψz = x=ψz } 
         open ≡-Reasoning
@@ -403,8 +409,8 @@
         gf32 = proj1 (\-⊆ {P} {q} {p} q⊆P ) q⊆p 
         gf30 : GP ∋ (P \ q )
         gf30 = f1 Lpq (gpr→gp gp) gf32
-    gfilter2 : {p q : HOD} → (GPR ∋ p) ∧ (GPR ∋ q) → Replace GP (_\_ P) ∋ (p ∪ q)
-    gfilter2 {p} {q} ⟪ gp , gq ⟫ 
+    gideal2 : {p q : HOD} → (GPR ∋ p) ∧ (GPR ∋ q) → Replace GP (_\_ P) ∋ (p ∪ q)
+    gideal2 {p} {q} ⟪ gp , gq ⟫ 
        = record { z = _ ; az = gf31 ; x=ψz = cong (&) gf32  } where
         open ≡-Reasoning
         gf31 : GP ∋ ( (P \ p ) ∩ (P \ q ) )
@@ -439,7 +445,7 @@
       → ctl-M C ∋ L
       → ( {p : HOD} → (Lp : L ∋ p ) → NotCompatible L p Lp )
       →  ¬ ( ctl-M C ∋  rgen ( P-GenericFilter P L p0 LPP Lp0 CAP UNI NEG  C ))
-lemma232 P L p0 LPP Lp0 CAP UNI NEG C ML NC MF = ¬rgf∩D=0 record { eq→ = λ {x} rgf∩D → ⊥-elim( proj2 (proj2 rgf∩D) (proj1 rgf∩D)) 
+lemma232 P L p0 LPP Lp0 CAP UNI NEG C ML NC MF = ¬rgf∩D=0 record { eq→ = λ {x} rgf∩D → ⊥-elim( proj2 (proj1 rgf∩D) (proj2 rgf∩D)) 
         ; eq← = λ lt → ⊥-elim (¬x<0 lt) } where
     PG = P-GenericFilter P L p0 LPP Lp0 CAP UNI NEG  C 
     GF =  genf PG
@@ -449,19 +455,34 @@
     D = L \ rgf
     M∋DM : M ∋ (D ∩ M )
     M∋DM = is-model C D ?
+    M∋D : M ∋ D 
+    M∋D = ?
+    M∋G : M ∋ rgf
+    M∋G = MF
     D⊆PP : D ⊆ Power P
     D⊆PP {x} ⟪ Lx , ngx ⟫  = LPP Lx 
     DD : Dense {L} {P} LPP
-    Dense.dense DD = D
-    Dense.d⊆P DD ⟪ Lx , _ ⟫ = Lx
-    Dense.dense-f DD Lp = ll00 where
-        ll00 : HOD
-        ll00 with NotCompatible.¬compat (NC Lp)
-        ... | nc = ? 
-    Dense.dense-d DD = ?
-    Dense.dense-p DD = ?
-    ¬rgf∩D=0 : ¬ ( (rgf ∩ D) =h= od∅ )
-    ¬rgf∩D=0 = ?
+    DD = record { dense = D ; d⊆P = proj1 ; has-expansion = exp } where
+        exp : {p : HOD} → (Lp : L ∋ p) → Expansion L D Lp
+        exp {p} Lp = exp1 where
+            q : HOD
+            q = NotCompatible.q (NC Lp)
+            r : HOD
+            r = NotCompatible.r (NC Lp)
+            exp1 : Expansion L D Lp
+            exp1  with ODC.p∨¬p O (rgf ∋ q)
+            ... | case2 ngq = record { expansion = q  ; dense∋exp = ? ; p⊆exp = ? }  
+            ... | case1 gq with ODC.p∨¬p O (rgf ∋ r)
+            ... | case2 ngr = record { expansion = q  ; dense∋exp = ? ; p⊆exp = ? }  
+            ... | case1 gr = ⊥-elim ( ll02 ⟪ ? , ? ⟫ ) where
+                ll02 : ¬ ( (q ⊆ p) ∧ (r ⊆ p) )
+                ll02 = NotCompatible.¬compat (NC Lp) p 
+                ll03 : rgf ∋ p → rgf ∋ q → rgf ∋ (p ∪ q)
+                ll03 rp rq = gideal2 PG ⟪ rp , rq ⟫ 
+                ll04 : rgf ∋ p → q ⊆ p → rgf ∋ q
+                ll04 rp q⊆p = gideal1 PG rp q⊆p ?
+    ¬rgf∩D=0 : ¬ ( (D ∩ rgf ) =h= od∅ )
+    ¬rgf∩D=0 eq =  generic PG DD M∋D (==→o≡ eq)
 
 --
 -- P-Generic Filter defines a countable model D ⊂ C from P