changeset 156:3e7475fb28db

differeent Union approach
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 11 Jul 2019 20:00:30 +0900
parents 53371f91ce63
children afc030b7c8d0
files HOD.agda
diffstat 1 files changed, 15 insertions(+), 22 deletions(-) [+]
line wrap: on
line diff
--- a/HOD.agda	Thu Jul 11 07:32:28 2019 +0900
+++ b/HOD.agda	Thu Jul 11 20:00:30 2019 +0900
@@ -262,15 +262,15 @@
  } where
     ZFSet = OD {suc n}
     Select : (X : OD {suc n} ) → ((x : OD {suc n} ) → Set (suc n) ) → OD {suc n}
-    Select X ψ = record { def = λ x →  ( def X  x ∧  ψ ( ord→od x )) }
+    Select X ψ = record { def = λ x →  ( def X x ∧ ψ ( ord→od x )) }
     Replace : OD {suc n} → (OD {suc n} → OD {suc n} ) → OD {suc n}
     Replace X ψ = record { def = λ x → (x o< sup-o ( λ x → od→ord (ψ (ord→od x )))) ∧ def (in-codomain X ψ) x }
     _,_ : OD {suc n} → OD {suc n} → OD {suc n}
     x , y = Ord (omax (od→ord x) (od→ord y))
     _∩_ : ( A B : ZFSet  ) → ZFSet
     A ∩ B = record { def = λ x → def A x ∧ def B x } 
-    Union : OD {suc n} → OD {suc n}
-    Union U = record { def = λ y  → def U (osuc y) }
+    Union : OD {suc n} → OD {suc n}  
+    Union U = record { def = λ x → ¬ (∀ (u : Ordinal ) → ¬ ((def U u) ∧ (def (ord→od u) x)))  }
     _∈_ : ( A B : ZFSet  ) → Set (suc n)
     A ∈ B = B ∋ A
     _⊆_ : ( A B : ZFSet  ) → ∀{ x : ZFSet } →  Set (suc n)
@@ -325,28 +325,21 @@
 
          Union-o : (X : Ordinal {suc n}) → OD {suc n}
          Union-o X = record { def = λ y → osuc y o< X }
-         union-ou : {X z : OD {suc n}} → (U>z : Union X ∋ z ) → OD {suc n}
-         union-ou {X} {z} U>z = Ord ( osuc ( od→ord z ) )
-         ord-union→ :  (x : Ordinal) (z u : OD) → (Ord x ∋ u) ∧ (u ∋ z) → Union-o x ∋ z
-         ord-union→ x z u plt with trio< ( od→ord u ) ( osuc ( od→ord z ))
-         ord-union→ x z u plt | tri< a ¬b ¬c with osuc-< a (c<→o< (proj2 plt))
-         ord-union→ x z u plt | tri< a ¬b ¬c | ()
-         ord-union→ x z u plt | tri≈ ¬a b ¬c  = subst ( λ k → k o< x ) b (proj1 plt)
-         ord-union→ x z u plt | tri> ¬a ¬b c = otrans (proj1 plt) c
-         -- ord-union← :  (x : Ordinal) (z : OD) (X∋z : Union-o x ∋ z)
-         --         → (Ord x ∋  union-ou {Ord x} {z} X∋z ) ∧ (union-ou {Ord x} {z} X∋z ∋ z )
-         -- ord-union← x z X∋z = record { proj1 = lemma ; proj2 = <-osuc } where
-         --     lemma : Ord x ∋ union-ou {Ord x} {z} X∋z
-         --     lemma = {!!} -- def-subst {suc n} {_} {_} {Ord x} {_} X∋z refl (sym diso)
+
+--         union-ou : {X z : OD {suc n}} → (U>z : Union X ∋ z ) → OD {suc n}
+--         union-ou {X} {z} U>z = ord→od  ( osuc ( od→ord z ) )
+--         ord-union→ :  (x : Ordinal) (z u : OD) → (Ord x ∋ u) ∧ (u ∋ z) → Union-o x ∋ z
+--         ord-union→ x z u plt = {!!}
+--         ord-union← :  (x : Ordinal) (z : OD) (UX∋z : Union-o x ∋ z)
+--                 → (Ord x ∋  union-ou {Ord x} {z} {!!} ) ∧ (union-ou {Ord x} {z} {!!} ∋ z )
+--         ord-union← x z UX∋z = record { proj1 = lemma ; proj2 = {!!} } where
+--             lemma : Ord x ∋ union-ou {Ord x} {z} {!!}
+--             lemma = def-subst {suc n} {_} {_} {Ord x} {_} UX∋z refl (sym diso)
 
          union-u : {X z : OD {suc n}} → (U>z : Union X ∋ z ) → OD {suc n}
          union-u {X} {z} U>z = ord→od ( osuc ( od→ord z ) )
          union→ :  (X z u : OD) → (X ∋ u) ∧ (u ∋ z) → Union X ∋ z
-         union→ X z u xx with trio< ( od→ord u ) ( osuc ( od→ord z ))
-         union→ X z u xx | tri< a ¬b ¬c with  osuc-< a (c<→o< (proj2 xx))
-         union→ X z u xx | tri< a ¬b ¬c | ()
-         union→ X z u xx | tri≈ ¬a b ¬c =  def-subst {suc n} {_} {_} {X} {osuc (od→ord z)} (proj1 xx) refl b
-         union→ X z u xx | tri> ¬a ¬b c =  {!!}
+         union→ X z u xx = {!!}
 
          union← :  (X z : OD) (X∋z : Union X ∋ z) → (X ∋  union-u {X} {z} X∋z ) ∧ (union-u {X} {z} X∋z ∋ z )
          union← X z UX∋z = record { proj1 = lemma ; proj2 = lemma2 } where
@@ -490,7 +483,7 @@
               lemma : {y : Ordinal {suc n}} → def (Union (x , (x , x))) y ≡ osuc y o< osuc (osuc (od→ord x)) 
               lemma {y} = let open ≡-Reasoning in begin
                    def (Union (x , (x , x))) y  
-                ≡⟨⟩
+                ≡⟨ {!!} ⟩
                    def ( Ord ( omax (od→ord x) (od→ord (Ord (omax (od→ord x)  (od→ord x)  )) ))) ( osuc y )
                 ≡⟨⟩
                    osuc y o<  omax (od→ord x) (od→ord (Ord (omax (od→ord x)  (od→ord x)  )) )