# HG changeset patch # User Shinji KONO # Date 1595120563 -32400 # Node ID 17adeeee0c2a651852f1ab413d0d7a93eadda2e9 # Parent 30de2d9b93c16fe0bf0e4cd611f57789f69c59b2 fix Select and Replace diff -r 30de2d9b93c1 -r 17adeeee0c2a BAlgbra.agda --- a/BAlgbra.agda Sun Jul 19 03:24:39 2020 +0900 +++ b/BAlgbra.agda Sun Jul 19 10:02:43 2020 +0900 @@ -1,3 +1,4 @@ +{-# OPTIONS --allow-unsolved-metas #-} open import Level open import Ordinals module BAlgbra {n : Level } (O : Ordinals {n}) where @@ -55,13 +56,13 @@ lemma2 {x} (case2 B∋x) = subst (λ k → odef (Union (A , B)) k) diso ( IsZF.union→ isZF (A , B) (ord→od x) B (record { proj1 = case2 refl ; proj2 = subst (λ k → odef B k) (sym diso) B∋x})) -∩-Select : { A B : HOD } → Select A ( λ x → ( A ∋ x ) ∧ ( B ∋ x ) ) ≡ ( A ∩ B ) +∩-Select : { A B : HOD } → Select A ( λ x _ → ( A ∋ x ) ∧ ( B ∋ x ) ) ≡ ( A ∩ B ) ∩-Select {A} {B} = ==→o≡ ( record { eq→ = lemma1 ; eq← = lemma2 } ) where - lemma1 : {x : Ordinal} → odef (Select A (λ x₁ → (A ∋ x₁) ∧ (B ∋ x₁))) x → odef (A ∩ B) x - lemma1 {x} lt = record { proj1 = proj1 lt ; proj2 = subst (λ k → odef B k ) diso (proj2 (proj2 lt)) } - lemma2 : {x : Ordinal} → odef (A ∩ B) x → odef (Select A (λ x₁ → (A ∋ x₁) ∧ (B ∋ x₁))) x - lemma2 {x} lt = record { proj1 = proj1 lt ; proj2 = - record { proj1 = subst (λ k → odef A k) (sym diso) (proj1 lt) ; proj2 = subst (λ k → odef B k ) (sym diso) (proj2 lt) } } + lemma1 : {x : Ordinal} → odef (Select A (λ x₁ _ → (A ∋ x₁) ∧ (B ∋ x₁))) x → odef (A ∩ B) x + lemma1 {x} lt = record { proj1 = proj1 {!!} ; proj2 = subst (λ k → odef B k ) diso (proj2 (proj2 {!!} )) } + lemma2 : {x : Ordinal} → odef (A ∩ B) x → odef (Select A (λ x₁ _ → (A ∋ x₁) ∧ (B ∋ x₁))) x + lemma2 {x} lt = {!!} -- record { proj1 = proj1 lt ; proj2 = + -- record { proj1 = subst (λ k → odef A k) (sym diso) (proj1 lt) ; proj2 = subst (λ k → odef B k ) (sym diso) (proj2 lt) } } dist-ord : {p q r : HOD } → p ∩ ( q ∪ r ) ≡ ( p ∩ q ) ∪ ( p ∩ r ) dist-ord {p} {q} {r} = ==→o≡ ( record { eq→ = lemma1 ; eq← = lemma2 } ) where diff -r 30de2d9b93c1 -r 17adeeee0c2a LEMC.agda --- a/LEMC.agda Sun Jul 19 03:24:39 2020 +0900 +++ b/LEMC.agda Sun Jul 19 10:02:43 2020 +0900 @@ -40,12 +40,12 @@ ; _∋_ = _∋_ ; _≈_ = _=h=_ ; ∅ = od∅ - ; Select = Select + ; Select = ? ; isZFC = isZFC } where -- infixr 200 _∈_ -- infixr 230 _∩_ _∪_ - isZFC : IsZFC (HOD ) _∋_ _=h=_ od∅ Select + isZFC : IsZFC (HOD ) _∋_ _=h=_ od∅ ? isZFC = record { choice-func = λ A {X} not A∋X → a-choice (choice-func X not ); choice = λ A {X} A∋X not → is-in (choice-func X not) diff -r 30de2d9b93c1 -r 17adeeee0c2a OD.agda --- a/OD.agda Sun Jul 19 03:24:39 2020 +0900 +++ b/OD.agda Sun Jul 19 10:02:43 2020 +0900 @@ -260,8 +260,8 @@ -- open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ ) -- postulate f-extensionality : { n : Level} → Relation.Binary.PropositionalEquality.Extensionality n (suc n) -in-codomain : (X : HOD ) → ( ψ : HOD → HOD ) → OD -in-codomain X ψ = record { def = λ x → ¬ ( (y : Ordinal ) → ¬ ( odef X y ∧ ( x ≡ od→ord (ψ (ord→od y ))))) } +in-codomain : (X : HOD ) → ( ψ : (x : HOD ) → X ∋ x → HOD ) → OD +in-codomain X ψ = record { def = λ x → ¬ ( (y : Ordinal ) → ¬ ( (y ¬a ¬b c = {!!} _⊗_ : (A B : HOD) → HOD -A ⊗ B = Union ( Replace B (λ b → Replace A (λ a → < a , b > ) )) +A ⊗ B = Union ( Replace B (λ b _ → Replace A (λ a _ → < a , b > ) )) product→ : {A B a b : HOD} → A ∋ a → B ∋ b → ( A ⊗ B ) ∋ < a , b > product→ {A} {B} {a} {b} A∋a B∋b = {!!} diff -r 30de2d9b93c1 -r 17adeeee0c2a zf.agda --- a/zf.agda Sun Jul 19 03:24:39 2020 +0900 +++ b/zf.agda Sun Jul 19 10:02:43 2020 +0900 @@ -16,8 +16,8 @@ (_,_ : ( A B : ZFSet ) → ZFSet) (Union : ( A : ZFSet ) → ZFSet) (Power : ( A : ZFSet ) → ZFSet) - (Select : (X : ZFSet ) → ( ψ : (x : ZFSet ) → Set m ) → ZFSet ) - (Replace : ZFSet → ( ZFSet → ZFSet ) → ZFSet ) + (Select : (X : ZFSet ) → ( ψ : (x : ZFSet ) → (X ∋ x) → Set m ) → ZFSet ) + (Replace : (X : ZFSet) → ( (x : ZFSet ) → ( X ∋ x ) → ZFSet ) → ZFSet ) (infinite : ZFSet) : Set (suc (n ⊔ suc m)) where field @@ -33,7 +33,7 @@ _⊆_ : ( A B : ZFSet ) → ∀{ x : ZFSet } → Set m _⊆_ A B {x} = A ∋ x → B ∋ x _∩_ : ( A B : ZFSet ) → ZFSet - A ∩ B = Select A ( λ x → ( A ∋ x ) ∧ ( B ∋ x ) ) + A ∩ B = Select A ( λ x _ → ( A ∋ x ) ∧ ( B ∋ x ) ) _∪_ : ( A B : ZFSet ) → ZFSet A ∪ B = Union (A , B) {_} : ZFSet → ZFSet @@ -55,10 +55,10 @@ -- infinity : ∃ A ( ∅ ∈ A ∧ ∀ x ∈ A ( x ∪ { x } ∈ A ) ) infinity∅ : ∅ ∈ infinite infinity : ∀( x : ZFSet ) → x ∈ infinite → ( x ∪ { x }) ∈ infinite - selection : { ψ : ZFSet → Set m } → ∀ { X y : ZFSet } → ( ( y ∈ X ) ∧ ψ y ) ⇔ (y ∈ Select X ψ ) + selection : ∀ { X y : ZFSet } → { ψ : (x : ZFSet ) → X ∋ x → Set m } → ( y∈X : y ∈ X ) → ψ y y∈X ⇔ (y ∈ Select X ψ ) -- replacement : ∀ x ∀ y ∀ z ( ( ψ ( x , y ) ∧ ψ ( x , z ) ) → y = z ) → ∀ X ∃ A ∀ y ( y ∈ A ↔ ∃ x ∈ X ψ ( x , y ) ) - replacement← : {ψ : ZFSet → ZFSet} → ∀ ( X x : ZFSet ) → x ∈ X → ψ x ∈ Replace X ψ - replacement→ : {ψ : ZFSet → ZFSet} → ∀ ( X x : ZFSet ) → ( lt : x ∈ Replace X ψ ) → ¬ ( ∀ (y : ZFSet) → ¬ ( x ≈ ψ y ) ) + replacement← : ∀ ( X x : ZFSet ) → (x∈X : x ∈ X ) → {ψ : (x : ZFSet ) → x ∈ X → ZFSet} → ψ x x∈X ∈ Replace X ψ + replacement→ : ∀ ( X x : ZFSet ) → {ψ : (x : ZFSet ) → X ∋ x → ZFSet} → ( lt : x ∈ Replace X ψ ) → ¬ ( ∀ (y : ZFSet) → (X∋y : X ∋ y ) → ¬ ( x ≈ ψ y X∋y ) ) record ZF {n m : Level } : Set (suc (n ⊔ suc m)) where infixr 210 _,_ @@ -73,8 +73,8 @@ _,_ : ( A B : ZFSet ) → ZFSet Union : ( A : ZFSet ) → ZFSet Power : ( A : ZFSet ) → ZFSet - Select : (X : ZFSet ) → ( ψ : (x : ZFSet ) → Set m ) → ZFSet - Replace : ZFSet → ( ZFSet → ZFSet ) → ZFSet + Select : (X : ZFSet ) → ( ψ : (x : ZFSet ) → ( X ∋ x ) → Set m ) → ZFSet + Replace : (X : ZFSet ) → ( (x : ZFSet ) → ( X ∋ x ) → ZFSet ) → ZFSet infinite : ZFSet isZF : IsZF ZFSet _∋_ _≈_ ∅ _,_ Union Power Select Replace infinite