# HG changeset patch # User Shinji KONO # Date 1688261737 -32400 # Node ID 52853b81df80555045dfdcb84df588f1235d9be0 # Parent ea470857db440b55f737dc8f0bfc00814dc8dded ... diff -r ea470857db44 -r 52853b81df80 src/cardinal.agda --- a/src/cardinal.agda Sun Jul 02 01:43:36 2023 +0900 +++ b/src/cardinal.agda Sun Jul 02 10:35:37 2023 +0900 @@ -42,27 +42,27 @@ open HOD -record OrdBijection (A B : Ordinal ) : Set n where - field - fun← : (x : Ordinal ) → odef (* A) x → Ordinal - fun→ : (x : Ordinal ) → odef (* B) x → Ordinal - funB : (x : Ordinal ) → ( lt : odef (* A) x ) → odef (* B) ( fun← x lt ) - funA : (x : Ordinal ) → ( lt : odef (* B) x ) → odef (* A) ( fun→ x lt ) - fiso← : (x : Ordinal ) → ( lt : odef (* B) x ) → fun← ( fun→ x lt ) ( funA x lt ) ≡ x - fiso→ : (x : Ordinal ) → ( lt : odef (* A) x ) → fun→ ( fun← x lt ) ( funB x lt ) ≡ x - -ordbij-refl : { a b : Ordinal } → a ≡ b → OrdBijection a b -ordbij-refl {a} refl = record { - fun← = λ x _ → x - ; fun→ = λ x _ → x - ; funB = λ x lt → lt - ; funA = λ x lt → lt - ; fiso← = λ x lt → refl - ; fiso→ = λ x lt → refl - } +-- record HODBijection (A B : HOD ) : Set n where +-- field +-- fun← : (x : Ordinal ) → odef A x → Ordinal +-- fun→ : (x : Ordinal ) → odef B x → Ordinal +-- funB : (x : Ordinal ) → ( lt : odef A x ) → odef B ( fun← x lt ) +-- funA : (x : Ordinal ) → ( lt : odef B x ) → odef A ( fun→ x lt ) +-- fiso← : (x : Ordinal ) → ( lt : odef B x ) → fun← ( fun→ x lt ) ( funA x lt ) ≡ x +-- fiso→ : (x : Ordinal ) → ( lt : odef A x ) → fun→ ( fun← x lt ) ( funB x lt ) ≡ x +-- +-- rrdbij-refl : { a b : HOD } → a ≡ b → HODBijection a b +-- rrdbij-refl {a} refl = record { +-- fun← = λ x _ → x +-- ; fun→ = λ x _ → x +-- ; funB = λ x lt → lt +-- ; funA = λ x lt → lt +-- ; fiso← = λ x lt → refl +-- ; fiso→ = λ x lt → refl +-- } open Injection -open OrdBijection +open HODBijection record IsImage (a b : Ordinal) (iab : Injection a b ) (x : Ordinal ) : Set n where field @@ -96,7 +96,7 @@ Image⊆b {a} {b} iab {x} record { y = y ; ay = ay ; x=fy = x=fy } = subst (λ k → odef (* b) k) (sym x=fy) (iB iab y ay) _=c=_ : ( A B : HOD ) → Set n -A =c= B = OrdBijection ( & A ) ( & B ) +A =c= B = HODBijection A B c=→≡ : {A B : HOD} → A =c= B → (A ≡ ?) ∧ (B ≡ ?) c=→≡ = ? @@ -126,17 +126,41 @@ Injection-∙ {a} {b} {c} f g = record { i→ = λ x ax → i→ g (i→ f x ax) (iB f x ax) ; iB = λ x ax → iB g (i→ f x ax) (iB f x ax) ; inject = λ x y ix iy eq → inject f x y ix iy (inject g (i→ f x ix) (i→ f y iy) (iB f x ix) (iB f y iy) eq) } +Exclusive : (A C : HOD) → Set n +Exclusive A C = ({x : Ordinal} → odef A x → ¬ odef C x) ∧ ({x : Ordinal} → odef C x → ¬ odef A x) -Bernstein : {a b : Ordinal } → Injection a b → Injection b a → OrdBijection a b +bi-∪ : {A B C D : HOD } → (ab : HODBijection A B) → (cd : HODBijection C D ) + → HODBijection (A ∪ C) (B ∪ D) +bi-∪ {A} {B} {C} {D} ab cd = record { + fun← = fa + ; fun→ = fb + ; funB = fa-isb + ; funA = fb-isa + ; fiso← = faiso + ; fiso→ = fbiso + } where + fa : (x : Ordinal) → odef (A ∪ C) x → Ordinal + fa x (case1 a) = fun← ab x a + fa x (case2 c) = fun← cd x c + fb : (x : Ordinal) → odef (B ∪ D) x → Ordinal + fb x (case1 b) = fun→ ab x b + fb x (case2 d) = fun→ cd x d + fa-isb : (x : Ordinal) (lt : odef (A ∪ C) x) → odef (B ∪ D) (fa x lt) + fa-isb x (case1 a) = case1 (funB ab x a) + fa-isb x (case2 c) = case2 (funB cd x c) + fb-isa : (x : Ordinal) (lt : odef (B ∪ D) x) → odef (A ∪ C) (fb x lt) + fb-isa x (case1 b) = case1 (funA ab x b) + fb-isa x (case2 d) = case2 (funA cd x d) + faiso : (x : Ordinal) (lt : odef (B ∪ D) x) → fa (fb x lt) (fb-isa x lt) ≡ x + faiso x (case1 b) = fiso← ab x b + faiso x (case2 d) = fiso← cd x d + fbiso : (x : Ordinal) (lt : odef (A ∪ C) x) → fb (fa x lt) (fa-isb x lt) ≡ x + fbiso x (case1 b) = fiso→ ab x b + fbiso x (case2 d) = fiso→ cd x d + +Bernstein : {a b : Ordinal } → Injection a b → Injection b a → HODBijection (* a) (* b) Bernstein {a} {b} (f @ record { i→ = fab ; iB = b∋fab ; inject = fab-inject }) ( g @ record { i→ = fba ; iB = a∋fba ; inject = fba-inject }) - = record { - fun← = λ x lt → h lt (cc0 x) - ; fun→ = λ x lt → h⁻¹ lt (cc1 x) - ; funB = λ x lt → be74 x lt (cc0 x) - ; funA = λ x lt → be75 x lt (cc1 x) - ; fiso← = λ x lt → be72 x lt (cc1 x) - ; fiso→ = λ x lt → be73 x lt (cc0 x) - } + = subst₂ (λ j k → HODBijection j k ) (sym a=UC∨a-UC) (sym b=fUC∨b-fUC) (bi-∪ bi-UC bi-fUC) where gf : Injection a a gf = record { i→ = λ x ax → fba (fab x ax) (b∋fab x ax) ; iB = λ x ax → a∋fba _ (b∋fab x ax) @@ -157,6 +181,35 @@ a-UC = record { od = record { def = λ x → odef (* a) x ∧ (¬ gfImage x) } ; odmax = & (* a) ;