changeset 18:627a79e61116

fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 16 May 2019 10:55:34 +0900
parents 6a668c6086a5
children 47995eb521d4
files constructible-set.agda zf.agda
diffstat 2 files changed, 31 insertions(+), 49 deletions(-) [+]
line wrap: on
line diff
--- a/constructible-set.agda	Tue May 14 13:52:19 2019 +0900
+++ b/constructible-set.agda	Thu May 16 10:55:34 2019 +0900
@@ -122,55 +122,37 @@
 
 -- X' = { x ∈ X |  ψ  x } ∪ X , Mα = ( ∪ (β < α) Mβ ) '
 
-data Constructible ( α : Ordinal  )  :  Set (suc n) where
-    fsub : ( ψ : Ordinal  → Set n ) → Constructible  α
-    xself : Ordinal → Constructible  α
-
 record ConstructibleSet  : Set (suc n) where
   field
     α : Ordinal
-    constructible : Constructible α
+    constructible : Ordinal  → Set n 
 
 open ConstructibleSet
 
-data _c∋_  : {α α' : Ordinal  }  →
-        Constructible  α → Constructible   α' → Set n where
-    c> :  {α α' : Ordinal }
-        (ta : Constructible  α ) ( tx : Constructible   α' ) → α' o< α →  ta c∋ tx
-    xself-fsub  :  {α : Ordinal  } 
-         (ta : Ordinal ) ( ψ : Ordinal  → Set n ) → _c∋_  {α} {α} (xself ta ) ( fsub ψ)  
-    fsub-fsub :  {α : Ordinal   } 
-          ( ψ : Ordinal   → Set n ) ( ψ₁ : Ordinal   → Set n ) →
-         ( ∀ ( x :  Ordinal  ) → ψ x →  ψ₁ x ) →  _c∋_  {α} {α} ( fsub ψ ) ( fsub ψ₁) 
-
-_∋_  : (ConstructibleSet ) → (ConstructibleSet  ) → Set n 
-a ∋ x  = constructible a c∋ constructible x
+_∋_  : (ConstructibleSet ) → (ConstructibleSet  ) → Set n
+a ∋ x  =  (α a ≡ α x)  ∨ ( α x o< α a )  
 
 -- transitiveness : (a b c : ConstructibleSet ) → a ∋ b → b ∋ c → a ∋ c
 -- transitiveness  a b c a∋b b∋c with constructible a c∋ constructible b | constructible b c∋ constructible c
 -- ... | t1 | t2 = {!!}
 
-data _c≈_  :  {α α' : Ordinal}  →
-        Constructible  α → Constructible   α' → Set n where
-    crefl :  {α : Ordinal  } → _c≈_  {α} {α} (xself α ) (xself α )
-    feq :  {lv : Nat} {α : Ordinal }
-          → ( ψ : Ordinal  → Set n ) ( ψ₁ : Ordinal → Set n ) 
-          → (∀ ( x :  Ordinal ) → ψ x  ⇔ ψ₁ x ) → _c≈_    {α} {α} ( fsub ψ ) ( fsub ψ₁)
-
-_≈_  : (ConstructibleSet ) → (ConstructibleSet  ) → Set n 
-a ≈ x  = constructible a c≈ constructible x
-
-ConstructibleSet→ZF : ZF {suc n} 
+ConstructibleSet→ZF : ZF {suc n} {suc n}
 ConstructibleSet→ZF   = record { 
     ZFSet = ConstructibleSet 
-    ; _∋_ = _∋_
-    ; _≈_ = _≈_ 
-    ; ∅  = record {  α = record {lv = Zero ; ord = Φ } ; constructible = xself ( record {lv = Zero ; ord = Φ }) }
-    ; _×_ = {!!}
-    ; Union = {!!}
+    ; _∋_ = λ a b → Lift (suc n) ( a ∋ b )
+    ; _≈_ = _≡_ 
+    ; ∅  = record {α = record { lv = Zero ; ord = Φ } ; constructible = λ x → Lift n ⊥ }
+    ; _,_ = _,_
+    ; Union = Union
     ; Power = {!!}
-    ; Select = {!!}
+    ; Select = Select
     ; Replace = {!!}
     ; infinite = {!!}
     ; isZF = {!!}
- }
+ } where
+    Select : (X : ConstructibleSet) → (ConstructibleSet → Set (suc n)) → ConstructibleSet
+    Select = {!!}
+    _,_ : ConstructibleSet → ConstructibleSet → ConstructibleSet
+    a , b  = Select {!!} {!!}
+    Union : ConstructibleSet → ConstructibleSet
+    Union a = {!!}
--- a/zf.agda	Tue May 14 13:52:19 2019 +0900
+++ b/zf.agda	Thu May 16 10:55:34 2019 +0900
@@ -44,17 +44,17 @@
      (_∋_ : ( A x : ZFSet  ) → Set m)
      (_≈_ : Rel ZFSet m)
      (∅  : ZFSet)
-     (_×_ : ( A B : ZFSet  ) → ZFSet)
+     (_,_ : ( A B : ZFSet  ) → ZFSet)
      (Union : ( A : ZFSet  ) → ZFSet)
      (Power : ( A : ZFSet  ) → ZFSet)
-     (Select : ( ZFSet → Set m ) → ZFSet )
-     (Replace : ( ZFSet → ZFSet ) → ZFSet )
+     (Select : ZFSet → ( ZFSet → Set m ) → ZFSet )
+     (Replace : ZFSet → ( ZFSet → ZFSet ) → ZFSet )
      (infinite : ZFSet)
        : Set (suc (n ⊔ m)) where
   field
      isEquivalence : {A B : ZFSet} → IsEquivalence {n} {m} {ZFSet} _≈_ 
      -- ∀ x ∀ y ∃ z(x ∈ z ∧ y ∈ z)
-     pair : ( A B : ZFSet  ) →  ( (A × B)  ∋ A ) ∧ ( (A × B)  ∋ B  )
+     pair : ( A B : ZFSet  ) →  ( (A , B)  ∋ A ) ∧ ( (A , B)  ∋ B  )
      -- ∀ X ∃ A∀ t(t ∈ A ⇔ ∃ x ∈ X(t  ∈ x))
      union→ : ( X x y : ZFSet  ) → X ∋ x  → x ∋ y → Union X  ∋ y
      union← : ( X x y : ZFSet  ) → Union X  ∋ y → X ∋ x  → x ∋ y 
@@ -63,9 +63,9 @@
   _⊆_ : ( A B : ZFSet  ) → ∀{ x : ZFSet } → ∀{ A∋x : Set m } → Set m
   _⊆_ A B {x} {A∋x} = B ∋ x
   _∩_ : ( A B : ZFSet  ) → ZFSet
-  A ∩ B = Select (  λ x → ( A ∋ x ) ∧ ( B ∋ x )  )
+  A ∩ B = Select (A , B) (  λ x → ( A ∋ x ) ∧ ( B ∋ x )  )
   _∪_ : ( A B : ZFSet  ) → ZFSet
-  A ∪ B = Select (  λ x → ( A ∋ x ) ∨ ( B ∋ x )  )
+  A ∪ B = Select (A , B) (  λ x → ( A ∋ x ) ∨ ( B ∋ x )  )
   infixr  200 _∈_
   infixr  230 _∩_ _∪_
   infixr  220 _⊆_ 
@@ -81,13 +81,13 @@
      regularity : ∀( x : ZFSet  ) → ¬ (x ≈ ∅) → (  minimul x ∈ x ∧  ( minimul x  ∩ x  ≈ ∅ ) )
      -- infinity : ∃ A ( ∅ ∈ A ∧ ∀ x ∈ A ( x ∪ { x } ∈ A ) )
      infinity∅ :  ∅ ∈ infinite
-     infinity :  ∀( x : ZFSet  ) → x ∈ infinite →  ( x ∪ Select (  λ y → x ≈ y )) ∈ infinite 
-     selection : { ψ : ZFSet → Set m } → ∀ ( y : ZFSet  ) →  ( y  ∈  Select ψ )  → ψ y
+     infinity :  ∀( X x : ZFSet  ) → x ∈ infinite →  ( x ∪ Select X (  λ y → x ≈ y )) ∈ infinite 
+     selection : { ψ : ZFSet → Set m } → ∀ ( X y : ZFSet  ) →  ( y  ∈  Select X ψ )  → ψ y
      -- replacement : ∀ x ∀ y ∀ z ( ( ψ ( x , y ) ∧ ψ ( x , z ) ) → y = z ) → ∀ X ∃ A ∀ y ( y ∈ A ↔ ∃ x ∈ X ψ ( x , y ) )
-     replacement : {ψ : ZFSet → ZFSet} → ∀ ( x : ZFSet  ) →  ( ψ x ∈  Replace ψ )  
+     replacement : {ψ : ZFSet → ZFSet} → ∀ ( X x : ZFSet  ) →  ( ψ x ∈  Replace X ψ )  
 
 record ZF {n m : Level } : Set (suc (n ⊔ m)) where
-  infixr  210 _×_
+  infixr  210 _,_
   infixl  200 _∋_ 
   infixr  220 _≈_
   field
@@ -96,13 +96,13 @@
      _≈_ : ( A B : ZFSet  ) → Set m
   -- ZF Set constructor
      ∅  : ZFSet
-     _×_ : ( A B : ZFSet  ) → ZFSet
+     _,_ : ( A B : ZFSet  ) → ZFSet
      Union : ( A : ZFSet  ) → ZFSet
      Power : ( A : ZFSet  ) → ZFSet
-     Select : ( ZFSet → Set m ) → ZFSet
-     Replace : ( ZFSet → ZFSet ) → ZFSet
+     Select : ZFSet → ( ZFSet → Set m ) → ZFSet
+     Replace : ZFSet → ( ZFSet → ZFSet ) → ZFSet
      infinite : ZFSet
-     isZF : IsZF ZFSet _∋_ _≈_ ∅ _×_ Union Power Select Replace infinite 
+     isZF : IsZF ZFSet _∋_ _≈_ ∅ _,_ Union Power Select Replace infinite 
 
 module zf-exapmle {n m : Level } ( zf : ZF {m} {n} ) where