changeset 447:364d738f871d

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 13 Mar 2022 14:44:24 +0900
parents eb4049abad70
children 81691a6b352b
files src/ODC.agda src/ODUtil.agda src/generic-filter.agda
diffstat 3 files changed, 24 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/src/ODC.agda	Sun Mar 13 08:05:15 2022 +0900
+++ b/src/ODC.agda	Sun Mar 13 14:44:24 2022 +0900
@@ -95,6 +95,11 @@
    t1 : {x : HOD }  → t ∋ x → ¬ ¬ (A ∋ x)
    t1 = power→ A t PA∋t
 
+power-∩ : { A x y : HOD } → Power A ∋ x → Power A ∋ y → Power A ∋ ( x ∩ y )
+power-∩ {A} {x} {y} ax ay = power← A (x ∩ y) p01  where
+   p01 :  {z : HOD} → (x ∩ y) ∋ z → A ∋ z
+   p01 {z} xyz = double-neg-eilm (  power→ A x ax (proj1 xyz ))
+
 OrdP : ( x : Ordinal  ) ( y : HOD  ) → Dec ( Ord x ∋ y )
 OrdP  x y with trio< x (& y)
 OrdP  x y | tri< a ¬b ¬c = no ¬c
--- a/src/ODUtil.agda	Sun Mar 13 08:05:15 2022 +0900
+++ b/src/ODUtil.agda	Sun Mar 13 14:44:24 2022 +0900
@@ -72,7 +72,6 @@
     ; proj2 = λ x⊆A lt → ⟪ incl x⊆A lt , lt ⟫
    } 
 
-
 ω<next-o∅ : {y : Ordinal} → infinite-d y → y o< next o∅
 ω<next-o∅ {y} lt = <odmax infinite lt
 
--- a/src/generic-filter.agda	Sun Mar 13 08:05:15 2022 +0900
+++ b/src/generic-filter.agda	Sun Mar 13 14:44:24 2022 +0900
@@ -85,17 +85,11 @@
 ---
 --   p(n+1) = if (f n) != ∅ then (f n) otherwise p(n)
 --  
-next-p :  (p : Ordinal) → (f : HOD → HOD) → Ordinal
-next-p p f with is-o∅  ( & (f (* p)))  
-next-p p f | yes y = p
-next-p p f | no not = & (ODC.minimal O (f (* p) ) (λ eq → not (=od∅→≡o∅ eq)))  -- axiom of choice
-
----
---  search on p(n)
---
 find-p :  (P : HOD ) (C : CountableModel P)  (i : Nat) → (x : Ordinal) → Ordinal
 find-p P C Zero x = x
-find-p P C (Suc i) x = find-p P C i ( next-p x (λ p → PGHOD i P C (& p) ))
+find-p P C (Suc i) x with is-o∅ ( & ( PGHOD i P C (find-p P C i x)) )
+... | yes y  = find-p P C i x
+... | 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 }
@@ -136,13 +130,19 @@
 open _⊆_
 
 p-monotonic1 :  (P p : HOD ) (C : CountableModel P ) → {n : Nat} → (* (find-p P C n (& p))) ⊆ (* (find-p P C (Suc n) (& p)))
-p-monotonic1 = {!!}
+p-monotonic1 P p C {n} with is-o∅ (& (PGHOD n P C (find-p P C n (& p))))
+... | yes y =   refl-⊆
+... | no not = record { incl = λ {x} lt → proj2 (proj2 fmin∈PGHOD) (& x) lt  } where
+    fmin : HOD
+    fmin = ODC.minimal O (PGHOD n P C (find-p P C n (& p))) (λ eq → not (=od∅→≡o∅ eq))
+    fmin∈PGHOD : PGHOD n P C (find-p P C n (& p)) ∋ fmin
+    fmin∈PGHOD = ODC.x∋minimal O (PGHOD n P C (find-p P C n (& p))) (λ eq → not (=od∅→≡o∅ eq))
 
 p-monotonic :  (P p : HOD ) (C : CountableModel P ) → {n m : Nat} → n ≤ m → (* (find-p P C n (& p))) ⊆ (* (find-p P C m (& p)))
 p-monotonic P p C {Zero} {Zero} n≤m = refl-⊆
 p-monotonic P p C {Zero} {Suc m} z≤n = trans-⊆ (p-monotonic P p C {Zero} {m} z≤n ) (p-monotonic1 P p C {m} )  
 p-monotonic P p C {Suc n} {Suc m} (s≤s n≤m) with <-cmp n m
-... | tri< a ¬b ¬c = trans-⊆ (p-monotonic P p C {Suc n} {m}  {!!} ) (p-monotonic1 P p C {m} )  
+... | tri< a ¬b ¬c = trans-⊆ (p-monotonic P p C {Suc n} {m} a) (p-monotonic1 P p C {m} )  
 ... | tri≈ ¬a refl ¬c = refl-⊆
 ... | tri> ¬a ¬b c = ⊥-elim ( nat-≤> n≤m c )
 
@@ -153,29 +153,22 @@
    } where
         PGHOD∈PL :  (i : Nat) → (x : Ordinal) →  PGHOD i P C x ⊆ Power P
         PGHOD∈PL i x = record { incl = λ {x} p → proj1 p }
-        find-p-⊆P :  (i : Nat) → (x y : Ordinal)  → odef (Power P) x → odef (* (find-p P C i x)) y → odef P y 
-        find-p-⊆P Zero x y Px Py = subst (λ k → odef P k ) &iso
-            ( incl (ODC.power→⊆ O P (* x) (d→∋ (Power P)  Px)) (x<y→∋ Py))
-        find-p-⊆P (Suc i) x y Px Py with is-o∅  ( & (PGHOD i P C (& (* x))))
-        ... | yes y1 = find-p-⊆P i x y Px Py
-        ... | no not = find-p-⊆P i (& fmin) y pg-01 Py where
-            fmin : HOD
-            fmin = ODC.minimal O (PGHOD i P C (& (* x))) (λ eq → not (=od∅→≡o∅ eq))
-            fmin∈PGHOD : PGHOD i P C (& (* x)) ∋ fmin
-            fmin∈PGHOD = ODC.x∋minimal O (PGHOD i P C (& (* x))) (λ eq → not (=od∅→≡o∅ eq))
-            pg-01 : Power P ∋ fmin 
-            pg-01 = incl (PGHOD∈PL i x ) (subst (λ k → PGHOD i P C k ∋ fmin ) &iso  fmin∈PGHOD )
         f⊆PL :  PDHOD P p0 C ⊆ Power P
         f⊆PL = record { incl = λ {x} lt →  x∈PP lt  }
         f1 : {p q : HOD} → q ⊆ P → PDHOD P p0 C ∋ p → p ⊆ q → PDHOD P p0 C ∋ q
         f1 {p} {q}  q⊆P PD∋p p⊆q =  record { gr = gr PD∋p ;  pn<gr = f04 ; x∈PP = power←  _ _ (incl q⊆P) } where
-           f03 : {x : Ordinal} → odef p x → odef q x
-           f03 {x} lt = subst (λ k → def (od q) k) &iso (incl p⊆q (subst (λ k → def (od p) k) (sym &iso) lt) )
            f04 : (y : Ordinal) → odef (* (find-p P 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 P p0 C ∋ p → PDHOD P p0 C ∋ q → PDHOD P p0 C ∋ (p ∩ q)
-        f2 {p} {q} PD∋p PD∋q = {!!}
+        f2 {p} {q} PD∋p PD∋q with <-cmp (gr PD∋p) (gr PD∋q)
+        ... | 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 = ODC.power-∩ O (x∈PP PD∋p) (x∈PP PD∋q)   }  where
+            f3 : (y : Ordinal) → odef (* (find-p P 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 ?) ⟫
+        ... | 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) ⟫ 
+        ... | tri> ¬a ¬b c = record { gr = gr PD∋q ;  pn<gr = {!!} ; x∈PP = ODC.power-∩ O (x∈PP PD∋p) (x∈PP PD∋q)   }