changeset 494:45b19d35dc07

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 09 Apr 2022 08:30:33 +0900
parents 71436ccbc804
children 4203ba14fd53
files src/zorn.agda
diffstat 1 files changed, 21 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Sat Apr 09 07:39:52 2022 +0900
+++ b/src/zorn.agda	Sat Apr 09 08:30:33 2022 +0900
@@ -48,33 +48,34 @@
 open Element
 
 IsPartialOrderSet : ( A : HOD ) →  (_<_ : (x y : HOD) → Set n )  → Set (suc n)
-IsPartialOrderSet A _<_ = IsStrictPartialOrder _<A_ _≡A_ where
-   _<A_ : (x y : Element A ) → Set n
-   x <A y = elm x < elm y
+IsPartialOrderSet A _<_ = IsPartialOrder _≡A_ _≤A_  where
+   _≤A_ : (x y : Element A ) → Set (suc n)
+   x ≤A y = (elm x ≡ elm y) ∨ (elm x < elm y)
    _≡A_ : (x y : Element A ) → Set (suc n)
    x ≡A y = elm x ≡ elm y
 
 open _==_
 open _⊆_
 
+toA : { A B  : HOD } → B ⊆ A → (x : Element B) → Element A
+toA B⊆A x = record { elm = elm x ; is-elm = incl B⊆A (is-elm x) }
+
 ⊆-IsPartialOrderSet : { A B  : HOD } → B ⊆ A →  {_<_ : (x y : HOD) → Set n }  → IsPartialOrderSet A _<_ → IsPartialOrderSet B _<_
 ⊆-IsPartialOrderSet {A} {B} B⊆A {_<_} PA = record {
-       isEquivalence = record { refl = refl1 ; sym = {!!} ; trans = {!!} } ; irrefl = {!!} ; trans = {!!} ; <-resp-≈ = {!!} 
+       isPreorder =  record { isEquivalence = record { refl = refl ; sym = sym ; trans = trans } ; reflexive = λ eq → case1 eq ; trans = λ {x} {y} {z} → trans1 {x} {y} {z} }
+     ; antisym = λ {x} {y} → anti {x} {y}
    } where
-       _<B_ : (x y : Element B ) → Set n
-       x <B y = elm x < elm y
-       _≡B_ : (x y : Element B ) → Set (suc n)
-       x ≡B y = elm x ≡ elm y
-       _≤B_ : (x y : Element B ) → Set (suc n)
-       x ≤B y = (elm x ≡ elm y) ∨ (elm x < elm y)
-       refl1 : Reflexive  _≤B_ 
-       refl1  = case1 refl -- IsEquivalence.refl ( IsStrictPartialOrder.isEquivalence PA ) 
-       -- refl1 {case2 lt} = ?
+   _≤B_ : (x y : Element B ) → Set (suc n)
+   x ≤B y = (elm x ≡ elm y) ∨ (elm x < elm y)
+   trans1 : {x y z : Element B} → x ≤B y → y ≤B z → x ≤B z 
+   trans1 {x} {y} {z} x<y y<z  = IsPreorder.trans (IsPartialOrder.isPreorder PA) {toA B⊆A x} {toA B⊆A y} {toA B⊆A z} x<y y<z 
+   anti : {x y : Element B} → x ≤B y →  y ≤B x  → elm x ≡ elm y
+   anti {x} {y} x<y y<x = IsPartialOrder.antisym PA {toA B⊆A x} {toA B⊆A y} x<y y<x
 
 IsTotalOrderSet : ( A : HOD ) →  (_<_ : (x y : HOD) → Set n )  → Set (suc n)
-IsTotalOrderSet A _<_ = IsStrictTotalOrder _<A_ _≡A_ where
-   _<A_ : (x y : Element A ) → Set n
-   x <A y = elm x < elm y
+IsTotalOrderSet A _<_ = IsTotalOrder  _≡A_ _≤A_ where
+   _≤A_ : (x y : Element A ) → Set (suc n)
+   x ≤A y = (elm x ≡ elm y) ∨ (elm x < elm y)
    _≡A_ : (x y : Element A ) → Set (suc n)
    x ≡A y = elm x ≡ elm y
 
@@ -85,7 +86,7 @@
    field
       sup : HOD
       A∋maximal : A ∋ sup
-      x≤sup : {x : HOD} → B ∋ x → (x ≡ sup ) ∨ (x < sup )   -- B is Total, use positive
+      x<sup : {x : HOD} → B ∋ x → (x ≡ sup ) ∨ (x < sup )   -- B is Total, use positive
 
 record Maximal ( A : HOD ) (_<_ : (x y : HOD) → Set n ) : Set (suc n) where
    field
@@ -143,7 +144,7 @@
      B⊆A : (z : ZChain A (& A) _<_ ) → B z ⊆ A
      B⊆A z = record { incl = λ {x} bx → subst (λ k → odef A k ) (sym (BX.is-fb bx)) (ZChain.A∋fb z (BX.bx bx) (BX.bx<y bx) ) }
      PO-B : (z : ZChain A (& A) _<_ ) → IsPartialOrderSet (B z) _<_
-     PO-B z = subst₂ (λ j k → IsStrictPartialOrder j k ) {!!} {!!} {!!} where
+     PO-B z = subst₂ (λ j k → IsPartialOrder j k ) {!!} {!!} {!!} where
            _<B_ = {!!}
            _≡B_ = {!!}
         -- a b = {!!} -- PO record { elm = elm a ; is-elm = incl ( B⊆A z) (is-elm a) }  record { elm = elm b ; is-elm = incl ( B⊆A z) (is-elm b) }  
@@ -173,7 +174,7 @@
          z03 : & (SUP.sup sp) o< osuc (& A)
          z03 = ordtrans (c<→o< (SUP.A∋maximal sp)) <-osuc
          z02 :  (x : HOD) → B z ∋ x → SUP.sup sp < x → ⊥
-         z02 x xe s<x = z01 (incl (B⊆A z) xe) (SUP.A∋maximal sp) (SUP.x≤sup sp xe) s<x 
+         z02 x xe s<x = z01 (incl (B⊆A z) xe) (SUP.A∋maximal sp) (SUP.x<sup sp xe) s<x 
      ind :  HasMaximal =h= od∅
          → (x : Ordinal) → ((y : Ordinal) → y o< x →  ZChain A y _<_ )
          →  ZChain A x _<_
@@ -187,7 +188,7 @@
           z04 :  {!!} -- (sup : HOD) (as : A ∋ sup) → & sup o< osuc x → sup < ZChain.fb zc1 as
           z04 sup as s<x with trio< (& sup) x
           ... | tri≈ ¬a b ¬c = ⊥-elim (¬Ax (subst (λ k → odef A k) (trans b (sym &iso)) as) )  
-          ... | tri< a ¬b ¬c  = {!!} -- ZChain.¬x≤sup zc1 _ as ( subst (λ k → & sup o< k ) (sym (Oprev.oprev=x op)) a )
+          ... | tri< a ¬b ¬c  = {!!} -- ZChain.¬x<sup zc1 _ as ( subst (λ k → & sup o< k ) (sym (Oprev.oprev=x op)) a )
           ... | tri> ¬a ¬b c with  osuc-≡< s<x
           ... | case1 eq = ⊥-elim (¬Ax (subst (λ k → odef A k) (trans eq (sym &iso)) as) )  
           ... | case2 lt = ⊥-elim (¬a lt )