changeset 461:0e018784bed3

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 20 Mar 2022 11:41:48 +0900
parents d407cc8499fc
children 667c54e6fa1f
files src/filter.agda src/generic-filter.agda
diffstat 2 files changed, 68 insertions(+), 104 deletions(-) [+]
line wrap: on
line diff
--- a/src/filter.agda	Sat Mar 19 12:16:48 2022 +0900
+++ b/src/filter.agda	Sun Mar 20 11:41:48 2022 +0900
@@ -43,19 +43,19 @@
        filter  : HOD   
        f⊆L     : filter ⊆ L
        filter1 : { p q : HOD } →  L ∋ q → filter ∋ p →  p ⊆ q  → filter ∋ q
-       filter2 : { p q : HOD } → filter ∋ p →  filter ∋ q  → filter ∋ (p ∩ q)
+       filter2 : { p q : HOD } → filter ∋ p →  filter ∋ q  → L ∋ (p ∩ q) → filter ∋ (p ∩ q)
 
 open Filter
 
 record prime-filter { L P : HOD } {LP : L ⊆ Power P} (F : Filter LP) : Set (suc (suc n)) where
    field
        proper  : ¬ (filter F ∋ od∅)
-       prime   : {p q : HOD } → L ∋ p → L ∋ q  →  filter F ∋ (p ∪ q) → ( filter F ∋ p ) ∨ ( filter F ∋ q )
+       prime   : {p q : HOD } → L ∋ p → L ∋ q  → L ∋ (p ∪ q) →  filter F ∋ (p ∪ q) → ( filter F ∋ p ) ∨ ( filter F ∋ q )
 
 record ultra-filter { L P : HOD } {LP : L ⊆ Power P} (F : Filter LP) : Set (suc (suc n)) where
    field
        proper  : ¬ (filter F ∋ od∅)
-       ultra   : {p : HOD } → L ∋ p → ( filter F ∋ p ) ∨ (  filter F ∋ ( P \ p) )
+       ultra   : {p : HOD } → L ∋ p → L ∋  ( P \ p) → ( filter F ∋ p ) ∨ (  filter F ∋ ( P \ p) )
 
 open _⊆_
 
@@ -81,13 +81,16 @@
 --  ultra filter is prime
 --
 
-filter-lemma1 :  {P L : HOD} → (LP : L ⊆ Power P)  → (F : Filter LP)  → ultra-filter F  → prime-filter F 
-filter-lemma1 {P} {L} LP F u = record {
+filter-lemma1 :  {P L : HOD} → (LP : L ⊆ Power P)
+     → ({p : HOD} → L ∋ p → L ∋ (P \ p))
+     → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q ))
+     → (F : Filter LP) → ultra-filter F  → prime-filter F 
+filter-lemma1 {P} {L} LP NG IN F u = record {
          proper = ultra-filter.proper u
        ; prime = lemma3
     } where
-  lemma3 : {p q : HOD} → L ∋ p → L ∋ q  → filter F ∋ (p ∪ q) → ( filter F ∋ p ) ∨ ( filter F ∋ q )
-  lemma3 {p} {q} Lp Lq lt with ultra-filter.ultra u Lp 
+  lemma3 : {p q : HOD} → L ∋ p → L ∋ q  → L ∋ (p ∪ q) → filter F ∋ (p ∪ q) → ( filter F ∋ p ) ∨ ( filter F ∋ q )
+  lemma3 {p} {q} Lp Lq _ lt with ultra-filter.ultra u Lp (NG Lp)
   ... | case1 p∈P  = case1 p∈P 
   ... | case2 ¬p∈P = case2 (filter1 F {q ∩ (P \ p)} Lq lemma7 lemma8) where
     lemma5 : ((p ∪ q ) ∩ (P \ p)) =h=  (q ∩ (P \ p))
@@ -98,8 +101,10 @@
          lemma4 x lt with proj1 lt
          lemma4 x lt | case1 px = ⊥-elim ( proj2 (proj2 lt) px )
          lemma4 x lt | case2 qx = qx
+    lemma9 : L ∋ ((p ∪ q ) ∩ (P \ p))
+    lemma9 = subst (λ k → L ∋ k ) (sym (==→o≡ lemma5)) (IN Lq (NG Lp))
     lemma6 : filter F ∋ ((p ∪ q ) ∩ (P \ p))
-    lemma6 = filter2 F lt ¬p∈P
+    lemma6 = filter2 F lt ¬p∈P  lemma9
     lemma7 : filter F ∋ (q ∩ (P \ p))
     lemma7 =  subst (λ k → filter F ∋ k ) (==→o≡ lemma5 ) lemma6
     lemma8 : (q ∩ (P \ p)) ⊆ q
@@ -110,11 +115,12 @@
 --  if Filter contains L, prime filter is ultra
 --
 
-filter-lemma2 :  {P L : HOD} → (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p))
-         → (F : Filter LP)  → filter F ∋ P → prime-filter F → ultra-filter F
+filter-lemma2 :  {P L : HOD} → (LP : L ⊆ Power P)
+       → ({p : HOD} → L ∋ p → L ∋ ( P \ p))
+       → (F : Filter LP)  → filter F ∋ P → prime-filter F → ultra-filter F
 filter-lemma2 {P} {L} LP Lm F f∋P prime = record {
          proper = prime-filter.proper prime
-       ; ultra = λ {p}  L∋p → prime-filter.prime prime L∋p (Lm  L∋p) (lemma p (p⊆L  L∋p ))  
+       ; ultra = λ {p}  L∋p _ → prime-filter.prime prime L∋p (Lm  L∋p) (lemma10 L∋p (incl (f⊆L F) f∋P) ) (lemma p (p⊆L  L∋p ))  
    } where
         open _==_
         p⊆L : {p : HOD} → L ∋ p  → p ⊆ P
@@ -127,11 +133,13 @@
         eq← (p+1-p=1 {p} p⊆P) {x} ( case2 ¬p  ) = proj1 ¬p
         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 
+        lemma10 : {p : HOD} → L ∋ p → L ∋ P → L ∋ (p ∪ (P \ p))
+        lemma10 {p} L∋p lt = subst (λ k → L ∋ k ) (==→o≡ (p+1-p=1 {p} (p⊆L L∋p))) lt
 
 -----
 --
 --  if there is a filter , there is a ultra filter under the axiom of choise
---
+--        Zorn Lemma
 
 -- filter→ultra :  {P L : HOD} → (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p)) → (F : Filter LP)  → ultra-filter F
 -- filter→ultra {P} {L} LP Lm F = {!!}
@@ -160,8 +168,8 @@
 prime-ideal {L} {P} LP I {p} {q} =  ideal I ∋ ( p ∩ q) → ( ideal I ∋ p ) ∨ ( ideal I ∋ q )
 
 
-record GenericFilter {L P : HOD} (LP : L ⊆ Power P) : Set (suc n) where
+record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (suc n) where
     field
        genf : Filter LP
-       generic : (D : Dense LP ) → ¬ ( (Dense.dense D ∩ Filter.filter genf ) ≡ od∅ )
+       generic : (D : Dense LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Filter.filter genf ) ≡ od∅ )
 
--- a/src/generic-filter.agda	Sat Mar 19 12:16:48 2022 +0900
+++ b/src/generic-filter.agda	Sun Mar 20 11:41:48 2022 +0900
@@ -56,11 +56,11 @@
 
 record CountableModel : Set (suc (suc n)) where
    field
-       ctl-M : Ordinal
+       ctl-M : HOD
        ctl→ : Nat → Ordinal
-       ctl<M : (x : Nat) → odef (* ctl-M) (ctl→ x) 
-       ctl← : (x : Ordinal )→  odef (* ctl-M ) x → Nat
-       ctl-iso→ : { x : Ordinal } → (lt : odef (* ctl-M) x )  → ctl→ (ctl← x lt ) ≡ x 
+       ctl<M : (x : Nat) → odef (ctl-M) (ctl→ x) 
+       ctl← : (x : Ordinal )→  odef (ctl-M ) x → Nat
+       ctl-iso→ : { x : Ordinal } → (lt : odef (ctl-M) x )  → ctl→ (ctl← x lt ) ≡ x 
        ctl-iso← : { x : Nat }  →  ctl← (ctl→ x ) (ctl<M x)  ≡ x
 --
 -- almmost universe
@@ -144,12 +144,12 @@
 ... | tri≈ ¬a refl ¬c = refl-⊆
 ... | tri> ¬a ¬b c = ⊥-elim ( nat-≤> n≤m c )
 
-P-GenericFilter : (P L p0 : HOD ) → (LP : L ⊆ Power P) → L ∋ p0 → (C : CountableModel ) → GenericFilter LP
+P-GenericFilter : (P L p0 : HOD ) → (LP : L ⊆ Power P) → L ∋ p0 → (C : CountableModel ) → GenericFilter 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
    } where
-        f⊆PL :  PDHOD L p0 C ⊆ L -- Power P
+        f⊆PL :  PDHOD L p0 C ⊆ L 
         f⊆PL = record { incl = λ {x} lt → x∈PP lt  }
         Lq : {q : HOD} → L ∋ q → q ⊆ P
         Lq {q} lt = ODC.power→⊆ O P q ( incl L⊆PP lt )
@@ -162,118 +162,74 @@
            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 (incl 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 → PDHOD L p0 C ∋ (p ∩ q)
-        f2 {p} {q} PD∋p PD∋q 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 = {!!}  } where
+        f2 : {p q : HOD} → PDHOD L p0 C ∋ p → PDHOD L p0 C ∋ q → L ∋ (p ∩ q) → PDHOD L p0 C ∋ (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 ( incl (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 = {!!} } where
+        ... | 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 = {!!} } where --
+        ... | 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 ( incl (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 ) → ¬ (filter.Dense.dense D ∩ PDHOD L p0 C) ≡ od∅
-        fdense D eq0  = ⊥-elim (  ∅< {Dense.dense D ∩ PDHOD L p0 C} fd01 (≡od∅→=od∅ eq0 )) where
+        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
            open Dense
-           fd : HOD
-           fd = dense-f D Lp0
            PP∋D : dense D ⊆ Power P
-           PP∋D = {!!} 
-           fd00 : PDHOD P p0 C ∋ p0
-           fd00 = record { gr = 0 ; pn<gr = λ y lt → lt ; x∈PP = {!!}  }
+           PP∋D = trans-⊆ (d⊆P D) L⊆PP 
+           fd00 : PDHOD L p0 C ∋ p0
+           fd00 = record { gr = 0 ; pn<gr = λ y lt → lt ; x∈PP = Lp0 }
            fd02 : dense D ∋ dense-f D Lp0 
            fd02 = dense-d D Lp0
            fd04 : dense-f D Lp0 ⊆ P
            fd04 = ODC.power→⊆ O _ _ ( incl PP∋D fd02 )
-           fd03 : PDHOD L p0 C  ∋ dense-f D Lp0
-           fd03 = {!!}
-           fd01 : (dense D ∩ PDHOD L p0 C) ∋ fd
-           fd01 = ⟪ fd02 , fd03 ⟫ 
+           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)
+           fd07 : odef (dense D) pn+1
+           fd07 with is-o∅ ( & ( PGHOD an L C (find-p L C an (& p0))) )
+           ... | yes _ = {!!}
+           ... | no _ = {!!}
+           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 _ = {!!}
+           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
 
-record Incompatible  (P p : HOD ) (PP∋p : p  ⊆ P ) : Set (suc (suc n)) where
+record NonAtomic  (L a : HOD ) (L∋a : L ∋ a ) : Set (suc (suc n)) where
    field
-      q r : HOD
-      PP∋q : q ⊆ P 
-      PP∋r : r ⊆ P 
-      p⊆q :  p ⊆ q 
-      p⊆r :  p ⊆ r 
-      incompatible : ∀ ( s : HOD ) → s ⊆ P → (¬ ( q ⊆ s  )) ∨ (¬ ( r ⊆ s ))
+      b : HOD
+      0<b : ¬ o∅ ≡ & b
+      b<a : b ⊆ a
 
-lemma725 : (P p : HOD ) (C : CountableModel ) 
-    →  (PP∋p : Power P ∋ p )
-    →  * (ctl-M C) ∋ (Power P ∩  * (ctl-M C))                -- M is a Model of ZF
-    →  * (ctl-M C) ∋ {!!} -- ( (Power P ∩  * (ctl-M C))  \ filter ( genf ( P-GenericFilter P ? p ?  C ? )) )      -- M ∋ G and M is a Model of ZF 
-    →  ((p : HOD) → (PP∋p : p  ⊆ P ) → Incompatible P p PP∋p )
-    → ¬ ( * (ctl-M C) ∋ filter {!!} ) -- ( genf ( P-GenericFilter P ? ? p PP∋p C )))
-lemma725 P p C PP∋p M∋PM M∋D I M∋G = D∩G≠∅ D∩G=∅ where
-    G = filter ( genf ( P-GenericFilter P {!!} p {!!} {!!} C ))
-    M = * (ctl-M C)
-    D : HOD
-    D = Power P \ G
-    p⊆P : p ⊆ P
-    p⊆P =  ODC.power→⊆ O _ _ PP∋p
-    df : {x : HOD} → x ⊆ P → HOD
-    df {x} PP∋x with ODC.∋-p O G ( Incompatible.r (I x PP∋x) )
-    ... | yes y = Incompatible.q (I x PP∋x) 
-    ... | no n  = Incompatible.r (I x PP∋x) 
-    df¬⊆P : {x : HOD} → (lt : x ⊆ P) → df lt  ⊆ P 
-    df¬⊆P {x} PP∋x with ODC.∋-p O G ( Incompatible.r (I x PP∋x) )
-    ... | yes _ = Incompatible.PP∋q (I x PP∋x)
-    ... | no _  = Incompatible.PP∋r (I x PP∋x)
-    ¬G∋df : {x : HOD} → (lt : x ⊆ P) → ¬ G ∋ (df lt ) 
-    ¬G∋df {x} lt with ODC.∋-p O G ( Incompatible.r (I x lt ) )
-    ... | no n = n
-    ... | yes y with Incompatible.incompatible (I x lt ) (Incompatible.q (I x lt )) (Incompatible.PP∋q  (I x lt ))
-    ... | case1 ¬q⊆pn = λ _ → ¬q⊆pn refl-⊆
-    ... | case2 ¬r⊆pn = {!!}
-    df-d : {x : HOD} → (lt : x ⊆ P) → D ∋ df lt
-    df-d {x} lt = ⟪  power← P _ (incl (df¬⊆P lt)) , ¬G∋df lt ⟫
-    df-p : {x : HOD} → (lt : x ⊆ P) → x ⊆ df lt
-    df-p {x} lt with ODC.∋-p O G ( Incompatible.r (I x lt) )
-    ... | yes _ = Incompatible.p⊆q (I x lt) 
-    ... | no _ = Incompatible.p⊆r (I x lt) 
-    D-Dense : Dense {!!}
-    D-Dense = record {
-           dense = D
-       ;   d⊆P = record { incl = λ {x} lt → {!!} }
-       ;   dense-f = {!!}
-       ;   dense-d = {!!}
-       ;   dense-p = {!!}
-     }
-    D∩G=∅ : ( D ∩ G ) =h= od∅ 
-    D∩G=∅ = ≡od∅→=od∅ ([a-b]∩b=0 {Power P} {G})
-    D∩G≠∅ : ¬ (( D ∩ G ) =h= od∅ )
-    D∩G≠∅ eq = generic (P-GenericFilter P {!!} {!!} {!!} {!!} C) D-Dense ( ==→o≡ eq )
-
-open import PFOD O
-
--- HODω2 : HOD
--- 
--- ω→2 : HOD
--- ω→2 = Power infinite
-
-lemma725-1 :  (p : HOD) → (PP∋p : p  ⊆ HODω2 ) → Incompatible HODω2 p PP∋p
-lemma725-1 = {!!}
-
-lemma726 :  (C : CountableModel ) 
-    →  Union ( Replace' (Power (ω→2 \ HODω2)) (λ p lt → filter ( genf ( P-GenericFilter {!!} (ω→2 \ HODω2) p {!!}  {!!} C )))) =h= ω→2 -- HODω2 ∋ p
-lemma726 = {!!}
+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 )) )
+lemma232 P L p C LP Lp0 NA MG = {!!}
 
 --
 --   val x G = { val y G | ∃ p → G ∋ p → x ∋ < y , p > }
 --
 
-record valR (x : HOD) {P L : HOD} {LP : L ⊆ Power P} (G : GenericFilter LP) : Set (suc n) where
+record valR (x : HOD) {P L : HOD} {LP : L ⊆ Power P} (G : GenericFilter LP {!!} ) : Set (suc n) where
    field
      valx : HOD
 
@@ -284,7 +240,7 @@
      is-val : odef (* ox) ( & < * oy , * op >  )
 
 val : (x : HOD) {P L : HOD } {LP : L ⊆ Power P}
-    →  (G : GenericFilter LP)
+    →  (G : GenericFilter LP {!!} )
     →  HOD
 val x G = TransFinite {λ x → HOD } ind (& x) where
   ind : (x : Ordinal) → ((y : Ordinal) → y o< x → HOD) → HOD