changeset 1282:dc5aaf39f27d

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 06 Apr 2023 15:32:29 +0900
parents 437e48221ed5
children f4dac8be0a01
files src/BAlgebra.agda
diffstat 1 files changed, 21 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/BAlgebra.agda	Thu Apr 06 14:04:35 2023 +0900
+++ b/src/BAlgebra.agda	Thu Apr 06 15:32:29 2023 +0900
@@ -137,7 +137,7 @@
        +-assoc : {a b c : L } → (a + ( b + c )) == ((a + b) + c)
        x-assoc : {a b c : L } → (a x ( b x c )) == ((a x b) x c)
        +-sym : {a b : L } → (a + b) == (b + a)
-       -sym : {a b : L } → (a x b)  == (b x a)
+       x-sym : {a b : L } → (a x b)  == (b x a)
        +-aab : {a b : L } → (a + ( a x b )) == a
        x-aab : {a b : L } → (a x ( a + b )) == a
        +-dist : {a b c : L } → (a + ( b x c )) == (( a + b ) x ( a + c ))
@@ -171,18 +171,19 @@
   ; _+_ = λ x y → ⟦ hod x ∪ hod y , ba00 x y ⟧ ; _x_ = λ x y → ⟦ hod x ∩ hod y , (λ lt → x⊆P x (proj1 lt))  ⟧ 
    ; isBooleanAlgebra = record {
        +-assoc = λ {a} {b} {c} → ==→o≡ record { eq→ = ba01 a b c ; eq← = ba02 a b c  }
-     ; x-assoc = λ {a} {b} {c} → ==→o≡ record { eq→ = λ lt → ⟪ ⟪ proj1 lt  , proj1 (proj2 lt) ⟫ , proj2 (proj2 lt)  ⟫ 
-                                              ; eq← = λ lt → ⟪ proj1 (proj1 lt) , ⟪ proj2 (proj1 lt)  , proj2 lt ⟫ ⟫ } 
-     ; +-sym = ?
-     ; -sym = λ {a} {b} → ==→o≡ record { eq→ = λ lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq← = λ lt → ⟪ proj2 lt , proj1 lt ⟫  }
+     ; x-assoc = λ {a} {b} {c} → ==→o≡ 
+        record { eq→ = λ lt → ⟪ ⟪ proj1 lt  , proj1 (proj2 lt) ⟫ , proj2 (proj2 lt)  ⟫ 
+               ; eq← = λ lt → ⟪ proj1 (proj1 lt) , ⟪ proj2 (proj1 lt)  , proj2 lt ⟫ ⟫ } 
+     ; +-sym = λ {a} {b} → ==→o≡ record { eq→ = λ {x} lt → ba05 {hod a} {hod b} lt  ; eq← = ba05 {hod b} {hod a} }
+     ; x-sym = λ {a} {b} → ==→o≡ record { eq→ = λ lt → ⟪ proj2 lt , proj1 lt ⟫ ; eq← = λ lt → ⟪ proj2 lt , proj1 lt ⟫  }
      ; +-aab = λ {a} {b} → ==→o≡ record { eq→ = ba03 a b ; eq← = case1  }
      ; x-aab = λ {a} {b} → ==→o≡ record { eq→ = proj1 ; eq← = λ ax →  ⟪ ax , case1 ax ⟫ }
      ; +-dist = dist-ord2
      ; x-dist = dist-ord
      ; a+0 = λ {a} → ==→o≡ record { eq→ = ba04 (hod a) ; eq← = case1 }
      ; ax1 = λ {a} → ==→o≡ record { eq→ = proj1 ; eq← = λ ax → ⟪ ax , x⊆P a ax ⟫ }
-     ; a+-a1 = λ {a} → ==→o≡ record { eq→ = ? ; eq← = ? }
-     ; ax-a0 =  λ {a} → ==→o≡ record { eq→ = ? ; eq← = λ lt → ⊥-elim (¬x<0 lt) }
+     ; a+-a1 = λ {a} → ==→o≡ record { eq→ = ba06 a ; eq← = ba07 a }
+     ; ax-a0 =  λ {a} → ==→o≡ record { eq→ = ba08 a ; eq← = λ lt → ⊥-elim (¬x<0 lt) }
        } } where
      ba00 : (x y : PowerP P ) →  (hod x ∪ hod y) ⊆ P
      ba00 x y (case1 px) = x⊆P x px
@@ -204,3 +205,16 @@
      ba04 : (a : HOD) →  {x : Ordinal} → odef a x ∨ odef od∅ x → odef a x
      ba04 a (case1 ax) = ax
      ba04 a (case2 x) = ⊥-elim (¬x<0 x)
+     ba05 : {a b : HOD} {x : Ordinal} →  odef a x ∨ odef b x → odef b x ∨ odef a x
+     ba05 (case1 x) = case2 x
+     ba05 (case2 x) = case1 x
+     ba06 : (a : PowerP P ) → { x : Ordinal} → odef (hod a) x ∨ odef (P \ hod a) x → OD.def (od P) x
+     ba06 a {x} (case1 ax) = x⊆P a ax
+     ba06 a {x} (case2 nax) = proj1 nax
+     ba07 : (a : PowerP P ) → { x : Ordinal} → OD.def (od P) x → odef (hod a) x ∨ odef (P \ hod a) x 
+     ba07 a {x} px with ODC.∋-p O (hod a) (* x)
+     ... | yes y = case1 (subst (λ k → odef (hod a) k) &iso y)
+     ... | no n = case2 ⟪ px , subst (λ k → ¬ odef (hod a) k) &iso n ⟫
+     ba08 : (a : PowerP P) → {x : Ordinal} → OD.def (od (hod a ∩ (P \ hod a))) x → OD.def (od od∅) x
+     ba08 a {x} ⟪ ax , ⟪ px , nax ⟫ ⟫ = ⊥-elim ( nax ax )
+