Mercurial > hg > Members > kono > Proof > ZF-in-agda
diff cardinal.agda @ 420:53422a8ea836
bijection
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 31 Jul 2020 17:42:25 +0900 |
parents | f464e48e18cc |
children | cb067605fea0 |
line wrap: on
line diff
--- a/cardinal.agda Fri Jul 31 12:57:59 2020 +0900 +++ b/cardinal.agda Fri Jul 31 17:42:25 2020 +0900 @@ -26,37 +26,51 @@ open Bool open _==_ +open HOD + -- _⊗_ : (A B : HOD) → HOD -- A ⊗ B = Union ( Replace B (λ b → Replace A (λ a → < a , b > ) )) -Func : ( A B : HOD ) → OD -Func A B = record { def = λ x → (odef (Power (A ⊗ B)) x) +Func : OD +Func = record { def = λ x → def ZFProduct x ∧ ( (a b c : Ordinal) → odef (ord→od x) (od→ord < ord→od a , ord→od b >) ∧ odef (ord→od x) (od→ord < ord→od a , ord→od c >) → b ≡ c ) } -Func∋f : {A B x : HOD} → ( f : (x : HOD ) → A ∋ x → ( HOD ∧ ((y : HOD ) → B ∋ y ))) → (lt : A ∋ x ) → def (Func A B ) (od→ord < x , proj1 (f x lt) > ) +FuncP : ( A B : HOD ) → HOD +FuncP A B = record { od = record { def = λ x → odef (ZFP A B) x + ∧ ( (x : Ordinal ) (p q : odef (ZFP A B ) x ) → pi1 (proj1 p) ≡ pi1 (proj1 q) → pi2 (proj1 p) ≡ pi2 (proj1 q) ) } + ; odmax = odmax (ZFP A B) ; <odmax = λ lt → <odmax (ZFP A B) (proj1 lt) } + +Func∋f : {A B x : HOD} → ( f : HOD → HOD ) → ( (x : HOD ) → A ∋ x → B ∋ f x ) + → def Func (od→ord (Replace A (λ x → < x , f x > ))) Func∋f = {!!} -Func→f : {A B f x : HOD} → def ( Func A B) (od→ord f) → (x : HOD ) → A ∋ x → ( HOD ∧ ((y : HOD ) → B ∋ y )) +FuncP∋f : {A B x : HOD} → ( f : HOD → HOD ) → ( (x : HOD ) → A ∋ x → B ∋ f x ) + → odef (FuncP A B) (od→ord (Replace A (λ x → < x , f x > ))) +FuncP∋f = {!!} + +Func→f : {A B f x : HOD} → def Func (od→ord f) → (x : HOD ) → A ∋ x → ( HOD ∧ ((y : HOD ) → B ∋ y )) Func→f = {!!} -Func₁ : {A B f : HOD} → def ( Func A B) (od→ord f) → {!!} +Func₁ : {A B f : HOD} → def Func (od→ord f) → {!!} Func₁ = {!!} -Cod : {A B f : HOD} → def ( Func A B) (od→ord f) → {!!} +Cod : {A B f : HOD} → def Func (od→ord f) → {!!} Cod = {!!} -1-1 : {A B f : HOD} → def ( Func A B) (od→ord f) → {!!} +1-1 : {A B f : HOD} → def Func (od→ord f) → {!!} 1-1 = {!!} -onto : {A B f : HOD} → def ( Func A B) (od→ord f) → {!!} +onto : {A B f : HOD} → def Func (od→ord f) → {!!} onto = {!!} record Bijection (A B : Ordinal ) : Set n where field - bfun : Ordinal - bfun-isfun : def (Func (ord→od A) (ord→od B)) bfun - bfun-is1-1 : {!!} - bfun-isonto : {!!} + fun→ : Ordinal → Ordinal + fun← : Ordinal → Ordinal + fun→inA : (x : Ordinal) → odef (ord→od A) ( fun→ x ) + fun←inB : (x : Ordinal) → odef (ord→od B) ( fun← x ) + fiso→ : (x : Ordinal ) → odef (ord→od A) x → fun→ ( fun← x ) ≡ x + fiso← : (x : Ordinal ) → odef (ord→od B) x → fun← ( fun→ x ) ≡ x Card : OD Card = record { def = λ x → (a : Ordinal) → a o< x → ¬ Bijection a x }