changeset 1239:5223f0b40d91

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 12 Mar 2023 11:58:55 +0900
parents 01fe64d3a17a
children fbe072447243
files src/Tychonoff.agda src/filter.agda src/generic-filter.agda
diffstat 3 files changed, 34 insertions(+), 92 deletions(-) [+]
line wrap: on
line diff
--- a/src/Tychonoff.agda	Thu Mar 09 12:31:32 2023 +0900
+++ b/src/Tychonoff.agda	Sun Mar 12 11:58:55 2023 +0900
@@ -172,7 +172,7 @@
           fp00 b _ b<X (g∩ {y} {z} sy sz ) = g∩ (fp00 _ _ b<X sy) (fp00 _ _ b<X sz)
      --
      -- then we have maximum ultra filter ( Zorn lemma )
-     --    to debug this file, commet out to include maaximum filter
+     --    to debug this file, commet out the maximum filter and open import
      --    otherwise the check requires a minute
      --
      maxf : {X : Ordinal} → o∅ o< X → (CSX : * X ⊆ CS TP) → (fp : fip {X} CSX) → MaximumFilter (λ x → x) (F CSX fp)
--- a/src/filter.agda	Thu Mar 09 12:31:32 2023 +0900
+++ b/src/filter.agda	Sun Mar 12 11:58:55 2023 +0900
@@ -151,14 +151,6 @@
         lemma : (p : HOD) → p ⊆ P   →  filter F ∋ (p ∪ (P \ p))
         lemma p p⊆P = subst (λ k → filter F ∋ k ) (==→o≡ (p+1-p=1 {p} p⊆P)) f∋P 
 
-record Dense  {L P : HOD } (LP : L ⊆ Power P)  : Set (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) → (dense-f lt) ⊆ p  
-
 record Ideal   {L P : HOD } (LP : L ⊆ Power P) : Set (suc n) where
    field
        ideal : HOD   
@@ -176,11 +168,6 @@
 
 open import Relation.Binary.Definitions
 
-record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (suc n) where
-    field
-       genf : Filter {L} {P} LP
-       generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Filter.filter genf ) ≡ od∅ )
-
 record MaximumFilter {L P : HOD} (LP : L ⊆ Power P) (F : Filter {L} {P} LP) : Set (suc n) where
     field
        mf : Filter {L} {P} LP
--- a/src/generic-filter.agda	Thu Mar 09 12:31:32 2023 +0900
+++ b/src/generic-filter.agda	Sun Mar 12 11:58:55 2023 +0900
@@ -74,15 +74,15 @@
 
 ----
 --   a(n) ∈ M
---   ∃ q ∈ L ⊆ Power P → q ∈ a(n) ∧ q ⊆ p(n)    
+--   ∃ q ∈ L ⊆ Power P → q ∈ a(n) ∧ p(n) ⊆ q
 --
 PGHOD :  (i : Nat) (L : HOD) (C : CountableModel ) → (p : Ordinal) → HOD
 PGHOD i L C p = record { od = record { def = λ x  →
-       odef L x ∧ odef (* (ctl→ C i)) x  ∧  ( (y : Ordinal ) → odef (* x) y →  odef (* p) y ) }
+       odef L x ∧ odef (* (ctl→ C i)) x  ∧  ( (y : Ordinal ) → odef (* p) y →  odef (* x) y ) }
    ; odmax = odmax L  ; <odmax = λ {y} lt → <odmax L (proj1 lt) }  
 
 ---
---   p(n+1) = if ({q | q ∈ a(n) ∧ q ⊆ p(n))} != ∅ then q otherwise p(n)
+--   p(n+1) = if ({q | q ∈ a(n) ∧ p(n) ⊆ q)} != ∅ then q otherwise p(n)
 --  
 find-p :  (L : HOD ) (C : CountableModel )  (i : Nat) → (x : Ordinal) → Ordinal
 find-p L C Zero x = x
@@ -91,12 +91,12 @@
 ... | no not  = & (ODC.minimal O ( PGHOD i L C (find-p L C i x)) (λ eq → not (=od∅→≡o∅ eq)))  -- axiom of choice
 
 ---
--- G = { r ∈ L ⊆ Power P | ∃ n → p(n) ⊆ r }
+-- G = { r ∈ L ⊆ Power P | ∃ n → r ⊆ p(n) }
 --
 record PDN  (L p : HOD ) (C : CountableModel )  (x : Ordinal) : Set n where
    field
        gr : Nat
-       pn<gr : (y : Ordinal) → odef (* (find-p L C gr (& p))) y → odef (* x) y 
+       pn<gr : (y : Ordinal) → odef (* x) y → odef (* (find-p L C gr (& p))) y 
        x∈PP  : odef L x
 
 open PDN
@@ -130,7 +130,7 @@
 p-monotonic1 :  (L p : HOD ) (C : CountableModel  ) → {n : Nat} → (* (find-p L C (Suc n) (& p))) ⊆ (* (find-p L C n (& p)))
 p-monotonic1 L p C {n} {x} with is-o∅ (& (PGHOD n L C (find-p L C n (& p))))
 ... | yes y =  refl-⊆ {* (find-p L C n (& p))}
-... | no not = λ  lt →   proj2 (proj2 fmin∈PGHOD) _ lt   where
+... | no not = ? where -- λ  lt →   proj2 (proj2 fmin∈PGHOD) _ ?   where
     fmin : HOD
     fmin = ODC.minimal O (PGHOD n L C (find-p L C n (& p))) (λ eq → not (=od∅→≡o∅ eq))
     fmin∈PGHOD : PGHOD n L C (find-p L C n (& p)) ∋ fmin
@@ -144,85 +144,40 @@
 ... | tri≈ ¬a refl ¬c = λ x → x
 ... | tri> ¬a ¬b c = ⊥-elim ( nat-≤> n≤m c )
 
+record Dense  {L P : HOD } (LP : L ⊆ Power P)  : Set (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) → (dense-f lt) ⊆ p  
+
+record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (suc n) where
+    field
+       genf : Filter {L} {P} LP
+       generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Replace (Filter.filter genf) (λ x → P \ x )) ≡ od∅ )
+    rgen : HOD
+    rgen = Replace (Filter.filter genf) (λ x → P \ x )
+
 P-GenericFilter : (P L p0 : HOD ) → (LP : L ⊆ Power P) → L ∋ p0 → (C : CountableModel ) → GenericFilter {L} {P} LP ( ctl-M C )
 P-GenericFilter P L p0 L⊆PP Lp0 C = record {
-      genf = record { filter = PDHOD L p0 C ; f⊆L =  f⊆PL ; filter1 = λ L∋q PD∋p p⊆q → f1 L∋q PD∋p p⊆q ; filter2 = f2 }
-    ; generic = fdense
+      genf = record { filter = Replace (PDHOD L p0 C) (λ x → P \ x)  ; f⊆L =  ? ; filter1 = ? ; filter2 = ? }
+    ; generic = ?
    } where
         f⊆PL :  PDHOD L p0 C ⊆ L 
         f⊆PL lt = x∈PP lt  
         f1 : {p q : HOD} → L ∋  q → PDHOD L p0 C ∋ p → p ⊆ q → PDHOD L p0 C ∋ q
-        f1 {p} {q} L∋q PD∋p p⊆q =  record { gr = gr PD∋p ;  pn<gr = f04 ; x∈PP = L∋q } where
-           f04 : (y : Ordinal) → odef (* (find-p L C (gr PD∋p) (& p0))) y → odef (* (& q)) y
-           f04 y lt1 = subst₂ (λ j k → odef j k ) (sym *iso) &iso (p⊆q (subst₂ (λ j k → odef k j ) (sym &iso) *iso ( pn<gr PD∋p y lt1 )))
-               -- odef (* (find-p P C (gr PD∋p) (& p0))) y → odef (* (& q)) y
-        f2 : {p q : HOD} → PDHOD L p0 C ∋ p → PDHOD L p0 C ∋ q → L ∋ (p ∩ q) → PDHOD L p0 C ∋ (p ∩ q)
+        f1 {p} {q} L∋q PD∋p p⊆q =  ?
+        f2 : {p q : HOD} → ? ∋ p → ? ∋ q → L ∋ (p ∩ q) → ? ∋ (p ∩ q)
         f2 {p} {q} PD∋p PD∋q L∋pq with <-cmp (gr PD∋q) (gr PD∋p)
-        ... | tri< a ¬b ¬c = record { gr = gr PD∋p ;  pn<gr = λ y lt → subst (λ k → odef k y ) (sym *iso) (f3 y lt ) ; x∈PP = L∋pq } where
-            f3 : (y : Ordinal) → odef (* (find-p L C (gr PD∋p) (& p0))) y → odef (p ∩ q) y
-            f3 y lt = ⟪ subst (λ k → odef k y) *iso (pn<gr PD∋p y lt) , subst (λ k → odef k y) *iso (pn<gr PD∋q y (f5 lt)) ⟫ where
-               f5 : odef (* (find-p L C (gr PD∋p) (& p0))) y → odef (* (find-p L C (gr PD∋q) (& p0))) y
-               f5 lt = subst (λ k → odef (* (find-p L C (gr PD∋q) (& p0))) k ) &iso ( (p-monotonic L p0 C {gr PD∋q} {gr PD∋p} (<to≤ a))
-                   (subst (λ k → odef (* (find-p L C (gr PD∋p) (& p0))) k ) (sym &iso) lt) )
-        ... | tri≈ ¬a refl ¬c = record { gr = gr PD∋p ;  pn<gr =  λ y lt → subst (λ k → odef k y ) (sym *iso) (f4 y lt) ; x∈PP = L∋pq } where
-            f4 : (y : Ordinal) → odef (* (find-p L C (gr PD∋p) (& p0))) y → odef (p ∩ q) y
-            f4 y lt = ⟪ subst (λ k → odef k y) *iso (pn<gr PD∋p y lt) , subst (λ k → odef k y) *iso (pn<gr PD∋q y lt) ⟫ 
-        ... | tri> ¬a ¬b c = record { gr = gr PD∋q ;  pn<gr =  λ y lt → subst (λ k → odef k y ) (sym *iso) (f3 y lt) ; x∈PP = L∋pq } where 
-            f3 : (y : Ordinal) → odef (* (find-p L C (gr PD∋q) (& p0))) y → odef (p ∩ q) y
-            f3 y lt = ⟪ subst (λ k → odef k y) *iso (pn<gr PD∋p y (f5 lt)), subst (λ k → odef k y) *iso (pn<gr PD∋q y lt) ⟫ where
-               f5 : odef (* (find-p L C (gr PD∋q) (& p0))) y → odef (* (find-p L C (gr PD∋p) (& p0))) y
-               f5 lt = subst (λ k → odef (* (find-p L C (gr PD∋p) (& p0))) k ) &iso ( (p-monotonic L p0 C {gr PD∋p} {gr PD∋q} (<to≤ c))
-                   (subst (λ k → odef (* (find-p L C (gr PD∋q) (& p0))) k ) (sym &iso) lt) )
-        fdense : (D : Dense L⊆PP ) → (ctl-M C ) ∋ Dense.dense D  → ¬ (filter.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
+        ... | tri< a ¬b ¬c = ?
+        ... | tri≈ ¬a eq ¬c = ?
+        ... | tri> ¬a ¬b c = ? 
+        gf : HOD
+        gf  = Replace (Replace (PDHOD L p0 C) (λ x → P \ x)) (_\_ P)
+        fdense : (D : Dense {L} {P} L⊆PP ) → (ctl-M C ) ∋ Dense.dense D  → ¬ (Dense.dense D ∩ gf ) ≡ od∅
+        fdense D MD eq0  = ? where
            open Dense
-           fd09 : (i : Nat ) → 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))) )
-           ... | yes _ = fd09 i
-           ... | no not = fd17 where
-              fd19 =  ODC.minimal O ( PGHOD i L C (find-p L C i (& p0))) (λ eq → not (=od∅→≡o∅ eq))  
-              fd18 : PGHOD i L C (find-p L C i (& p0)) ∋ fd19
-              fd18 = ODC.x∋minimal O (PGHOD i L C (find-p L C i (& p0))) (λ eq → not (=od∅→≡o∅ eq))
-              fd17 :  odef L ( & (ODC.minimal O ( PGHOD i L C (find-p L C i (& p0))) (λ eq → not (=od∅→≡o∅ eq)))  )
-              fd17 = proj1 fd18 
-           an :  Nat
-           an = ctl← C (& (dense D)) MD  
-           pn : Ordinal
-           pn = find-p L C an (& p0)
-           pn+1 : Ordinal
-           pn+1 = find-p L C (Suc an) (& p0)
-           d=an : dense D ≡ * (ctl→ C an) 
-           d=an = begin dense D ≡⟨ sym *iso ⟩
-                    * ( & (dense D)) ≡⟨ cong (*) (sym (ctl-iso→  C MD )) ⟩
-                    * (ctl→ C an) ∎  where open ≡-Reasoning
-           fd07 : odef (dense D) pn+1
-           fd07 with is-o∅ ( & ( PGHOD an L C (find-p L C an (& p0))) )
-           ... | yes y = ⊥-elim ( ¬x<0 ( _==_.eq→ fd10 ⟪ fd13 , ⟪ fd14 , fd15 ⟫ ⟫ ) ) where
-              fd12 : L ∋ * (find-p L C an (& p0))
-              fd12 = subst (λ k → odef L k) (sym &iso) (fd09 an )
-              fd11 : Ordinal
-              fd11 = & ( dense-f D fd12 )
-              fd13 : L ∋ ( dense-f D fd12 )
-              fd13 = (d⊆P D) (  dense-d D fd12 )
-              fd14 : (* (ctl→ C an)) ∋ ( dense-f D fd12 )
-              fd14 = subst (λ k → odef k (& ( dense-f D fd12 ) )) d=an (  dense-d D fd12 ) 
-              fd15 :  (y : Ordinal) → odef (* (& (dense-f D fd12))) y → odef (* (find-p L C an (& p0))) y
-              fd15 y lt = subst (λ k → odef  (* (find-p L C an (& p0)))  k ) &iso ( (dense-p D  fd12 ) fd16  ) where
-                  fd16 : odef (dense-f D fd12) (& ( * y))
-                  fd16 = subst₂ (λ j k → odef j k ) (*iso) (sym &iso) lt
-              fd10 :  PGHOD an L C (find-p L C an (& p0)) =h= od∅
-              fd10 = ≡o∅→=od∅ y
-           ... | no not = fd27 where
-              fd29 =  ODC.minimal O ( PGHOD an L C (find-p L C an (& p0))) (λ eq → not (=od∅→≡o∅ eq))
-              fd28 : PGHOD an L C (find-p L C an (& p0)) ∋ fd29
-              fd28 = ODC.x∋minimal O (PGHOD an L C (find-p L C an (& p0))) (λ eq → not (=od∅→≡o∅ eq))
-              fd27 :  odef (dense D) (& fd29)
-              fd27 = subst (λ k → odef k (& fd29)) (sym d=an) (proj1 (proj2 fd28)) 
-           fd03 : odef (PDHOD L p0 C) pn+1
-           fd03 = record { gr = Suc an ; pn<gr = λ y lt → lt ; x∈PP = fd09 (Suc an)} 
-           fd01 : (dense D ∩ PDHOD L p0 C) ∋ (* pn+1)
-           fd01 = ⟪ subst (λ k → odef (dense D)  k ) (sym &iso) fd07 , subst (λ k → odef  (PDHOD L p0 C) k) (sym &iso) fd03 ⟫  
 
 open GenericFilter
 open Filter
@@ -236,7 +191,7 @@
 lemma232 : (P L p : HOD ) (C : CountableModel ) 
     →  (LP : L ⊆ Power P ) →  (Lp0 : L ∋ p  )
     →  ( {q : HOD} → (Lq : L ∋ q ) → NonAtomic L q Lq )
-    →  ¬ ( (ctl-M C) ∋ filter ( genf ( P-GenericFilter P L p LP Lp0  C )) )
+    →  ¬ ( (ctl-M C) ∋  rgen ( P-GenericFilter P L p LP Lp0  C )) 
 lemma232 P L p C LP Lp0 NA MG = {!!} where
     D : HOD  -- P - G
     D = ?