changeset 450:b27d92694ed5

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 14 Mar 2022 17:51:16 +0900
parents be685f338fdc
children 31f0a5a745a5
files src/BAlgbra.agda src/OD.agda src/filter.agda src/generic-filter.agda src/ordinal.agda
diffstat 5 files changed, 67 insertions(+), 51 deletions(-) [+]
line wrap: on
line diff
--- a/src/BAlgbra.agda	Sun Mar 13 19:22:12 2022 +0900
+++ b/src/BAlgbra.agda	Mon Mar 14 17:51:16 2022 +0900
@@ -37,6 +37,9 @@
 --A ∩ B = record { od = record { def = λ x → odef A x ∧ odef B x } ;
 --    odmax = omin (odmax A) (odmax B) ; <odmax = λ y → min1 (<odmax A (proj1 y)) (<odmax B (proj2 y)) }
 
+∩-comm : { A B : HOD } → (A ∩ B) ≡ (B ∩ A)
+∩-comm {A} {B} = ==→o≡ record { eq← = λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq→ =  λ {x} lt → ⟪ proj2 lt , proj1 lt ⟫ }
+
 _∪_ : ( A B : HOD  ) → HOD
 A ∪ B = record { od = record { def = λ x → odef A x ∨ odef B x } ;
     odmax = omax (odmax A) (odmax B) ; <odmax = lemma } where
--- a/src/OD.agda	Sun Mar 13 19:22:12 2022 +0900
+++ b/src/OD.agda	Mon Mar 14 17:51:16 2022 +0900
@@ -216,7 +216,7 @@
 ∅< : { x y : HOD  } → odef x (& y ) → ¬ (  od x  == od od∅  )
 ∅<  {x} {y} d eq with eq→ (==-trans eq (==-sym ∅0) ) d
 ∅<  {x} {y} d eq | lift ()
-       
+
 ∅6 : { x : HOD  }  → ¬ ( x ∋ x )    --  no Russel paradox
 ∅6  {x} x∋x = o<¬≡ refl ( c<→o<  {x} {x} x∋x )
 
--- a/src/filter.agda	Sun Mar 13 19:22:12 2022 +0900
+++ b/src/filter.agda	Mon Mar 14 17:51:16 2022 +0900
@@ -124,9 +124,9 @@
    field
        dense : HOD
        d⊆P :  dense ⊆ Power P 
-       dense-f : HOD → HOD
-       dense-d :  { p : HOD} → p ⊆ P → dense ∋ dense-f p  
-       dense-p :  { p : HOD} → p ⊆ P → p ⊆ (dense-f p) 
+       dense-f : {p : HOD} → p ⊆ P → HOD
+       dense-d :  { p : HOD} → (lt : p ⊆ P) → dense ∋ dense-f lt
+       dense-p :  { p : HOD} → (lt : p ⊆ P) → p ⊆ (dense-f lt) 
 
 record Ideal  ( L : HOD  ) : Set (suc n) where
    field
@@ -168,15 +168,15 @@
    field
        dense : L → Set n
        d⊆P :  PL dense 
-       dense-f : L → L 
-       dense-d :  { p : L} → PL (λ x → p ⊆ x ) → dense ( dense-f p  )
-       dense-p :  { p : L} → PL (λ x → p ⊆ x ) → p ⊆ (dense-f p) 
+       dense-f : {p : L}  → PL (λ x → p ⊆ x ) → L 
+       dense-d :  { p : L} → (lt : PL (λ x → p ⊆ x )) → dense ( dense-f lt  )
+       dense-p :  { p : L} → (lt : PL (λ x → p ⊆ x )) → p ⊆ (dense-f lt) 
 
 Dense-is-F : {L : HOD} → (f : Dense L ) → F-Dense HOD (λ p → (x : HOD) → p x → x ⊆ L ) _⊆_ _∩_
 Dense-is-F {L} f = record {
        dense =  λ x → Lift (suc n) ((dense f) ∋ x)
     ;  d⊆P = λ x f∋x →  power→⊆ _ _ (incl ( d⊆P f  ) (lower f∋x ))
-    ;  dense-f = λ x → dense-f f x
+    ;  dense-f = λ {p} lt → dense-f f (lt _ record { incl = λ x → x} ) 
     ;  dense-d = λ {p} d → lift ( dense-d f (d p refl-⊆ ) )
     ;  dense-p = λ {p} d → dense-p f (d p refl-⊆) 
   } where open Dense
--- a/src/generic-filter.agda	Sun Mar 13 19:22:12 2022 +0900
+++ b/src/generic-filter.agda	Mon Mar 14 17:51:16 2022 +0900
@@ -68,7 +68,6 @@
 -- find-p contains ∃ x : Ordinal → x o< & M → ∀ r ∈ M → ∈ Ord x
 -- 
 
-
 -- we expect  P ∈ * ctl-M ∧ G  ⊆ Power P  , ¬ G ∈ * ctl-M, 
 
 open CountableModel 
@@ -92,7 +91,7 @@
 ... | no not  = & (ODC.minimal O ( PGHOD i P C (find-p P C i x)) (λ eq → not (=od∅→≡o∅ eq)))  -- axiom of choice
 
 ---
--- G = { r ∈ Power P | ∃ n → p(n) ⊆ q }
+-- G = { r ∈ Power P | ∃ n → p(n) ⊆ r }
 --
 record PDN  (P p : HOD ) (C : CountableModel P)  (x : Ordinal) : Set n where
    field
@@ -168,7 +167,6 @@
                f5 : odef (* (find-p P C (gr PD∋p) (& p0))) y → odef (* (find-p P C (gr PD∋q) (& p0))) y
                f5 lt = subst (λ k → odef (* (find-p P C (gr PD∋q) (& p0))) k ) &iso ( incl (p-monotonic P p0 C {gr PD∋p} {gr PD∋q} (<to≤ a))
                    (subst (λ k → odef (* (find-p P C (gr PD∋p) (& p0))) k ) (sym &iso) lt) )
---    subst (λ k → odef k y) *iso (pn<gr PD∋q y (subst (λ k → odef _ k ) &iso (incl (p-monotonic _ _ C a ) (subst (λ k → odef _ k) &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 = ODC.power-∩ O (x∈PP PD∋p) (x∈PP PD∋q)   }  where
             f4 : (y : Ordinal) → odef (* (find-p P 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) ⟫ 
@@ -181,39 +179,68 @@
         fdense : (D : Dense P ) → ¬ (filter.Dense.dense D ∩ PDHOD P p0 C) ≡ od∅
         fdense D eq0  = ⊥-elim (  ∅< {Dense.dense D ∩ PDHOD P p0 C} fd01 (≡od∅→=od∅ eq0 )) where
            open Dense
+           p0⊆P : p0 ⊆ P
+           p0⊆P = ODC.power→⊆ O _ _ Pp0
            fd : HOD
-           fd = dense-f D p0
+           fd = dense-f D p0⊆P
            PP∋D : dense D ⊆ Power P
            PP∋D = d⊆P D
            fd00 : PDHOD P p0 C ∋ p0
            fd00 = record { gr = 0 ; pn<gr = λ y lt → lt ; x∈PP = Pp0 }
-           fd02 : dense D ∋ dense-f D p0 
-           fd02 = dense-d D (ODC.power→⊆ O _ _ Pp0 )
-           fd04 : dense-f D p0 ⊆ P
+           fd02 : dense D ∋ dense-f D p0⊆P
+           fd02 = dense-d D p0⊆P
+           fd04 : dense-f D p0⊆P ⊆ P
            fd04 = ODC.power→⊆ O _ _ ( incl PP∋D fd02 )
-           fd03 : PDHOD P p0 C  ∋ dense-f D p0 
-           fd03 = f1 {p0} {dense-f D p0} fd04 fd00 ( dense-p D (ODC.power→⊆ O _ _ Pp0 ) )
+           fd03 : PDHOD P p0 C  ∋ dense-f D p0⊆P
+           fd03 = f1 {p0} {dense-f D p0⊆P} fd04 fd00 ( dense-p D (ODC.power→⊆ O _ _ Pp0 ) )
            fd01 : (dense D ∩ PDHOD P p0 C) ∋ fd
            fd01 = ⟪ fd02 , fd03 ⟫ 
 
-
-
-
 open GenericFilter
 open Filter
 
-record Incompatible  (P : HOD ) : Set (suc (suc n)) where
+record Incompatible  (P p : HOD ) (PP∋p : p  ⊆ P ) : Set (suc (suc n)) where
    field
-      q : {p : HOD } → Power P ∋ p → HOD 
-      r : {p : HOD } → Power P ∋ p → HOD 
-      incompatible : { p : HOD } →  (P∋p : Power P ∋ p)  →  Power P ∋ q P∋p  →  Power P ∋ r P∋p
-          → ( p ⊆ q P∋p)   ∧ ( p ⊆ r P∋p)  
-          → ∀ ( s : HOD ) →  Power P ∋ s → ¬ (( q P∋p  ⊆ s  ) ∧ ( r P∋p  ⊆ s ))
+      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 ))
 
 lemma725 : (P p : HOD ) (C : CountableModel P) 
-    →  * (ctl-M C) ∋ Power P
-    →  Incompatible P → ¬ ( * (ctl-M C) ∋ filter ( genf ( P-GenericFilter P p {!!} C )))
-lemma725 = {!!}
+    →  (pp0 : 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 pp0 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 pp0 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 PP∋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 Incompatible.incompatible (I p p⊆P) x PP∋x
+    ... | case1 q = Incompatible.q (I p p⊆P) 
+    ... | case2 r = Incompatible.r (I p p⊆P) 
+    df-d : {x : HOD} → (lt : x ⊆ P) → D ∋ df lt
+    df-d = {!!}
+    df-p : {x : HOD} → (lt : x ⊆ P) → x ⊆ df lt
+    df-p = {!!}
+    D-Dense : Dense P
+    D-Dense = record {
+           dense = D
+       ;   d⊆P = record { incl = λ {x} lt → proj1 lt }
+       ;   dense-f = df
+       ;   dense-d = df-d
+       ;   dense-p = df-p
+     }
+    D∩G=∅ : ( D ∩ G ) =h= od∅ 
+    D∩G=∅ = {!!}
+    D∩G≠∅ : ¬ (( D ∩ G ) =h= od∅ )
+    D∩G≠∅ eq = generic (P-GenericFilter P p PP∋p C) D-Dense ( ==→o≡ eq )
 
 open import PFOD O
 
@@ -222,11 +249,11 @@
 -- ω→2 : HOD
 -- ω→2 = Power infinite
 
-lemma725-1 :   Incompatible HODω2
+lemma725-1 :  (p : HOD) → (PP∋p : p  ⊆ HODω2 ) → Incompatible HODω2 p PP∋p
 lemma725-1 = {!!}
 
 lemma726 :  (C : CountableModel HODω2) 
-    →  Union ( Replace HODω2 (λ p → filter ( genf ( P-GenericFilter HODω2 p {!!} C )))) =h= ω→2
+    →  Union ( Replace' (Power HODω2) (λ p lt → filter ( genf ( P-GenericFilter HODω2 p lt C )))) =h= ω→2 -- HODω2 ∋ p
 lemma726 = {!!}
 
 --
--- a/src/ordinal.agda	Sun Mar 13 19:22:12 2022 +0900
+++ b/src/ordinal.agda	Mon Mar 14 17:51:16 2022 +0900
@@ -200,26 +200,6 @@
       lemma y lt | case1 refl = proj1 ( TransFinite1 lx ox ) 
       lemma y lt | case2 lt1 = proj2 ( TransFinite1 lx ox ) y lt1
 
---  record CountableOrdinal {n : Level} : Set (suc (suc n)) where
---     field
---         ctl→ : Nat → Ordinal {suc n}
---         ctl← : Ordinal → Nat
---         ctl-iso→ : { x : Ordinal } → ctl→ (ctl← x ) ≡ x
---         ctl-iso← : { x : Nat }  → ctl← (ctl→ x ) ≡ x
---  
---  is-C-Ordinal : {n : Level} → CountableOrdinal {n}
---  is-C-Ordinal {n} = record {
---         ctl→ = {!!} 
---      ;  ctl← = λ x → TransFinite {n} (λ lx lt → Zero ) ctl01 x
---      ;  ctl-iso→ = {!!}
---      ;  ctl-iso← = {!!}
---    } where
---        ctl01 : (lx : Nat) (x : OrdinalD lx) → ((y : Ordinal) → y o< ordinal lx (OSuc lx x) → Nat) → Nat
---        ctl01 Zero (Φ Zero) prev = Zero 
---        ctl01 Zero (OSuc Zero x) prev = Suc ( prev (ordinal Zero x) (ordtrans <-osuc <-osuc )) 
---        ctl01 (Suc lx) (Φ (Suc lx)) prev = Suc ( prev (ordinal lx {!!}) {!!})
---        ctl01 (Suc lx) (OSuc (Suc lx) x) prev = Suc ( prev (ordinal (Suc lx) x) (ordtrans <-osuc <-osuc ))
-
 open import Ordinals 
 
 C-Ordinal : {n : Level} →  Ordinals {suc n} 
@@ -280,3 +260,9 @@
         caseOSuc lx ox prev = lt (ordinal lx (OSuc lx ox)) prev 
 
 
+-- H-Ordinal : {n : Level} → Ordinals {suc n} →  Ordinals {suc n}  →  Ordinals {suc n} 
+-- H-Ordinal {n} O1 O2 = record {
+--      Ordinal = Ordinals.Ordinal O1 ∧ Ordinals.Ordinal O2 
+--   }
+-- We may have an oridinal as proper subset  of an ordinal
+--   then the internal ordinal become a set in the outer ordinal