changeset 464:5acf6483a9e3

Zorn lemma start
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 22 Mar 2022 07:31:46 +0900
parents 433866b43992
children aba3d15ad45c
files src/ODC.agda src/generic-filter.agda
diffstat 2 files changed, 51 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/src/ODC.agda	Sun Mar 20 17:03:08 2022 +0900
+++ b/src/ODC.agda	Tue Mar 22 07:31:46 2022 +0900
@@ -106,6 +106,52 @@
 OrdP  x y | tri≈ ¬a refl ¬c = no ( o<¬≡ refl )
 OrdP  x y | tri> ¬a ¬b c = yes c
 
+record SUP ( A B : HOD ) (_<_ : (x y : HOD) → Set n ) : Set (suc n) where
+   field
+      sup : HOD
+      A∋maximal : A ∋ sup
+      tri : {a b : HOD} → B ∋ a → B ∋ b → (a < b) ∨ (a ≡ b) ∨ (b < a )
+      x≤sup : (x : HOD) → (b : B ∋ x ) → (x ≡ sup ) ∨ (x < sup )
+
+record Maximal ( A : HOD ) (_<_ : (x y : HOD) → Set n ) : Set (suc n) where
+   field
+      maximal : HOD
+      A∋maximal : HOD
+      ¬maximal<x : (x : HOD) → (b : A ∋ x ) → ¬ maximal < x
+
+record ZChain ( A : HOD ) (x : Ordinal)  (_<_ : (x y : HOD) → Set n ) : Set (suc n) where
+   field
+      a : HOD
+      a<A :  A ∋ a 
+      x<a :  {y : HOD} → A ∋ y → & y o< & a →  y < a
+
+record ZPrev ( A : HOD ) (x : Ordinal)  : Set (suc n) where
+   field
+      prev : Ordinal
+      A∋p : odef A prev
+      p<x : prev o< x
+
+find-prev : ( A : HOD ) (x : Ordinal) → o∅ o< x → ZPrev A x
+find-prev = {!!}
+
+Zorn-lemma : { A : HOD } → { _<_ : (x y : HOD) → Set n }
+    → o∅ o< & A 
+    → ( (x y z : HOD) → x < y → y < z → x < z )
+    → ( ( B : HOD) → (B⊆A : B ⊆ A) → SUP A B  _<_  )
+    → Maximal A _<_ 
+Zorn-lemma {A} {_<_} 0<A ztrans SUP = {!!} where
+     HasGreater : Ordinal → HOD
+     HasGreater m = record { od = record { def = λ x → odef A x ∧ (* m < * x) } ; odmax = & A ; <odmax = {!!} }
+     ind :  (x : Ordinal) → ((y : Ordinal) → y o< x →  ZChain A y _<_ )
+         →  ZChain A x _<_
+     ind x prev = {!!} where
+        zlemma01 : {!!}
+        zlemma01 with is-o∅ (& (HasGreater x))
+        ... | no _ = {!!}
+        ... | yes _ = {!!}
+     zchain : (x : Ordinal) → ZChain A x _<_
+     zchain x = TransFinite ind x
+
 open import zfc
 
 HOD→ZFC : ZFC
--- a/src/generic-filter.agda	Sun Mar 20 17:03:08 2022 +0900
+++ b/src/generic-filter.agda	Tue Mar 22 07:31:46 2022 +0900
@@ -81,7 +81,7 @@
    ; odmax = odmax L  ; <odmax = λ {y} lt → <odmax L (proj1 lt) }  
 
 ---
---   p(n+1) = if (f n) != ∅ then (f n) otherwise p(n)
+--   p(n+1) = if ({q | q ∈ a(n) ∧ q ⊆ p(n))} != ∅ then q otherwise p(n)
 --  
 find-p :  (L : HOD ) (C : CountableModel )  (i : Nat) → (x : Ordinal) → Ordinal
 find-p L C Zero x = x
@@ -151,12 +151,6 @@
    } where
         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 )
-        Pp0 : p0 ∈ Power P
-        Pp0 = incl L⊆PP Lp0 
-        PGHOD∈PL :  (i : Nat) → (x : Ordinal) →  PGHOD i L C x ⊆ Power P
-        PGHOD∈PL i x = record { incl = λ {x} p → incl  L⊆PP (proj1 p) }
         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
@@ -182,14 +176,6 @@
         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
-           PP∋D : dense D ⊆ Power P
-           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 )
            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))) )
@@ -206,8 +192,8 @@
            pn = find-p L C an (& p0)
            pn+1 : Ordinal
            pn+1 = find-p L C (Suc an) (& p0)
-           fd26 : dense D ≡ * (ctl→ C an) 
-           fd26 = begin dense D ≡⟨ sym *iso ⟩
+           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
@@ -220,7 +206,7 @@
               fd13 : L ∋ ( dense-f D fd12 )
               fd13 = incl (d⊆P D) (  dense-d D fd12 )
               fd14 : (* (ctl→ C an)) ∋ ( dense-f D fd12 )
-              fd14 = subst (λ k → odef k (& ( dense-f D fd12 ) )) fd26 (  dense-d 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 ( incl (dense-p D  fd12 ) fd16  ) where
                   fd16 : odef (dense-f D fd12) (& ( * y))
@@ -232,7 +218,7 @@
               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 fd26) (proj1 (proj2 fd28)) 
+              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)