changeset 501:5a166a832472

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 12 Apr 2022 15:45:56 +0900
parents a97a1f1e27fa
children 3c03f5bf9e16
files src/zorn.agda
diffstat 1 files changed, 23 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Tue Apr 12 14:17:00 2022 +0900
+++ b/src/zorn.agda	Tue Apr 12 15:45:56 2022 +0900
@@ -124,41 +124,42 @@
 
 -- there is a y, & y > & x
 
-record Sup> {A : HOD} (x : Element A) : Set (suc n) where
+record OSup> (A : HOD) {x : Ordinal} (ax : A ∋ * x) : Set n where
    field
-      y : Element A
-      y>x : IChainSet x ∋ elm y → & (elm x) o< & (elm y)
+      y : Ordinal
+      icy : odef (IChainSet {A} (me ax)) y 
+      y>x : x o< y
 
 -- finite IChain
 
-record InFiniteIChain {A : HOD} (x : Element A) (z : Ordinal) : Set (suc n) where
+record InFiniteIChain (A : HOD) {x : Ordinal}  (ax : A ∋ * x) : Set n where
    field
-      ny : (y : Element A ) → & (elm y) o< z → Element A
-      y>x : {y : Element A} → (lt : & (elm y) o< z )→ IChainSet x ∋ elm y → elm y < elm (ny y lt )
+      chain<x : (y : Ordinal ) → odef (IChainSet {A} (me ax)) y →  y o< x
+      c-infinite : (y : Ordinal ) → (cy : odef (IChainSet {A} (me ax)) y  )
+          → OSup> (IChainSet {A} (me ax)) (d→∋ (IChainSet {A} (me ax)) cy)
+      
+record IsIFC (A : HOD) {x : Ordinal}  (ax : A ∋ * x) (y : Ordinal) : Set n where
+   field
+      icy : odef (IChainSet {A} (me ax)) y  
+      c-finite : ¬ OSup> (IChainSet {A} (me ax)) (d→∋ (IChainSet {A} (me ax)) icy)
       
 Zorn-lemma-case : { A : HOD } 
     → o∅ o< & A 
     → IsPartialOrderSet A 
-    → (x : Element A) → Sup> x ∨ Dec ( InFiniteIChain x (& A))
+    → (x : Element A) → OSup> A (d→∋ A (is-elm x)) ∨ Maximal A ∨ InFiniteIChain A (d→∋ A (is-elm x))
 Zorn-lemma-case {A}  0<A PO x = zc2 where
     Gtx : HOD
     Gtx = record { od = record { def = λ y → odef ( IChainSet x ) y ∧  ( & (elm x) o< y ) } ; odmax = & A
-        ; <odmax = λ lt → subst (λ k → k o< & A) &iso (c<→o< (subst (λ k → odef A k) (sym &iso) (proj1 (proj1 lt))))  }
-    zc2 :  Sup> x ∨ Dec (InFiniteIChain x (& A))
+        ; <odmax = λ lt → subst (λ k → k o< & A) &iso (c<→o< (d→∋  A (proj1 (proj1 lt))))  }
+    HG : HOD
+    HG = record { od = record { def = λ y → odef A y ∧ IsIFC A (d→∋ A (is-elm x) ) y } ; odmax = & A
+        ; <odmax = λ lt → subst (λ k → k o< & A) &iso (c<→o< (d→∋  A  (proj1 lt) ))  }
+    zc2 :  OSup> A (d→∋ A (is-elm x))  ∨ Maximal A ∨ InFiniteIChain A  (d→∋ A (is-elm x))
     zc2 with  is-o∅ (& Gtx)
-    ... | no not = case1 record { y = record { elm = ODC.minimal O Gtx (λ eq → not (=od∅→≡o∅ eq) ); is-elm = {!!} }  ; y>x = {!!} }
-    ... | yes nogt = case2 {!!} where
-        zc3 : {y : Element A} → IChainSet x ∋ elm y → ¬ (& (elm x) o< & (elm y))
-        zc3 = {!!}
-        zcind : (z : Ordinal ) → ((y : Ordinal) → y o< z → Dec (InFiniteIChain x y ) ) → Dec (InFiniteIChain x z)
-        zcind z prev with trio< (& A) z
-        ... | tri< a ¬b ¬c = {!!}
-        ... | tri≈ ¬a b ¬c = {!!}
-        ... | tri> ¬a ¬b c with ODC.∋-p O A (* z)
-        ... | no nota = {!!}
-        ... | yes az = {!!}
-        zc4 : Dec (InFiniteIChain x (& A))
-        zc4 = TransFinite zcind (& A)
+    ... | no nogt = case1 {!!}
+    ... | yes nogt with is-o∅ (& HG)
+    ... | no  nohg = case2 (case1 {!!} )
+    ... | yes  nohg = case2 (case2 {!!} )
 
 
 Zorn-lemma : { A : HOD }