Mercurial > hg > Members > kono > Proof > ZF-in-agda
view cardinal.agda @ 424:cc7909f86841
remvoe TransFinifte1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 01 Aug 2020 23:37:10 +0900 |
parents | 44a484f17f26 |
children | f7d66c84bc26 |
line wrap: on
line source
open import Level open import Ordinals module cardinal {n : Level } (O : Ordinals {n}) where open import zf open import logic import OD import ODC import OPair open import Data.Nat renaming ( zero to Zero ; suc to Suc ; ℕ to Nat ; _⊔_ to _n⊔_ ) open import Relation.Binary.PropositionalEquality open import Data.Nat.Properties open import Data.Empty open import Relation.Nullary open import Relation.Binary open import Relation.Binary.Core open inOrdinal O open OD O open OD.OD open OPair O open ODAxiom odAxiom import OrdUtil import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal open Ordinals.IsNext isNext open OrdUtil O open ODUtil O open _∧_ open _∨_ open Bool open _==_ open HOD -- _⊗_ : (A B : HOD) → HOD -- A ⊗ B = Union ( Replace B (λ b → Replace A (λ a → < a , b > ) )) Func : OD Func = record { def = λ x → def ZFProduct x ∧ ( (a b c : Ordinal) → odef (* x) (& < * a , * b >) ∧ odef (* x) (& < * a , * c >) → b ≡ c ) } 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 (& (Replace A (λ x → < x , f x > ))) Func∋f = {!!} FuncP∋f : {A B x : HOD} → ( f : HOD → HOD ) → ( (x : HOD ) → A ∋ x → B ∋ f x ) → odef (FuncP A B) (& (Replace A (λ x → < x , f x > ))) FuncP∋f = {!!} -- Func→f : {A B f x : HOD} → def Func (& f) → (x : HOD ) → A ∋ x → ( HOD ∧ ((y : HOD ) → B ∋ y )) -- Func→f = {!!} -- Func₁ : {A B f : HOD} → def Func (& f) → {!!} -- Func₁ = {!!} -- Cod : {A B f : HOD} → def Func (& f) → {!!} -- Cod = {!!} -- 1-1 : {A B f : HOD} → def Func (& f) → {!!} -- 1-1 = {!!} -- onto : {A B f : HOD} → def Func (& f) → {!!} -- onto = {!!} record Bijection (A B : Ordinal ) : Set n where field fun→ : Ordinal → Ordinal fun← : Ordinal → Ordinal fun→inA : (x : Ordinal) → odef (* A) ( fun→ x ) fun←inB : (x : Ordinal) → odef (* B) ( fun← x ) fiso→ : (x : Ordinal ) → odef (* B) x → fun→ ( fun← x ) ≡ x fiso← : (x : Ordinal ) → odef (* A) x → fun← ( fun→ x ) ≡ x Card : OD Card = record { def = λ x → (a : Ordinal) → a o< x → ¬ Bijection a x }