Beginning of Section MetaCat
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Definition. We define idT to be ∀X : set, Obj XHom X X (id X) of type prop.
Definition. We define compT to be ∀X Y Z : set, ∀f g : set, Obj XObj YObj ZHom X Y fHom Y Z gHom X Z (comp X Y Z g f) of type prop.
Definition. We define idL to be ∀X Y : set, ∀f : set, Obj XObj YHom X Y fcomp X X Y f (id X) = f of type prop.
Definition. We define idR to be ∀X Y : set, ∀f : set, Obj XObj YHom X Y fcomp X Y Y (id Y) f = f of type prop.
Definition. We define compAssoc to be ∀X Y Z W : set, ∀f g h : set, Obj XObj YObj ZObj WHom X Y fHom Y Z gHom Z W hcomp X Y W (comp Y Z W h g) f = comp X Z W h (comp X Y Z g f) of type prop.
Definition. We define MetaCat to be (idTcompT)(idLidR)compAssoc of type prop.
Theorem. (MetaCat_I)
idTcompT(∀X Y : set, ∀f : set, Obj XObj YHom X Y fcomp X X Y f (id X) = f)(∀X Y : set, ∀f : set, Obj XObj YHom X Y fcomp X Y Y (id Y) f = f)(∀X Y Z W : set, ∀f g h : set, Obj XObj YObj ZObj WHom X Y fHom Y Z gHom Z W hcomp X Y W (comp Y Z W h g) f = comp X Z W h (comp X Y Z g f))MetaCat
Proof:
Proof not loaded.
Theorem. (MetaCat_E)
MetaCat∀p : prop, (idTcompT(∀X Y : set, ∀f : set, Obj XObj YHom X Y fcomp X X Y f (id X) = f)(∀X Y : set, ∀f : set, Obj XObj YHom X Y fcomp X Y Y (id Y) f = f)(∀X Y Z W : set, ∀f g h : set, Obj XObj YObj ZObj WHom X Y fHom Y Z gHom Z W hcomp X Y W (comp Y Z W h g) f = comp X Z W h (comp X Y Z g f))p)p
Proof:
Proof not loaded.
End of Section MetaCat
Beginning of Section MetaCatOp
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Theorem. (MetaCatOp)
MetaCat Obj Hom id compMetaCat Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f)
Proof:
Proof not loaded.
End of Section MetaCatOp
Beginning of Section LimsCoLims
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Definition. We define monic to be λX Y f ⇒ Obj XObj YHom X Y f∀Z : set, Obj Z∀g h : set, Hom Z X gHom Z X hcomp Z X Y f g = comp Z X Y f hg = h of type setsetsetprop.
Definition. We define terminal_p to be λY h ⇒ Obj Y∀X : set, Obj XHom X Y (h X)∀h' : set, Hom X Y h'h' = h X of type set(setset)prop.
Definition. We define initial_p to be λY h ⇒ Obj Y∀X : set, Obj XHom Y X (h X)∀h' : set, Hom Y X h'h' = h X of type set(setset)prop.
Definition. We define product_p to be λX Y Z pi0 pi1 pair ⇒ Obj XObj YObj ZHom Z X pi0Hom Z Y pi1∀W : set, Obj W∀h k : set, Hom W X hHom W Y kHom W Z (pair W h k)comp W Z X pi0 (pair W h k) = hcomp W Z Y pi1 (pair W h k) = k∀u : set, Hom W Z ucomp W Z X pi0 u = hcomp W Z Y pi1 u = ku = pair W h k of type setsetsetsetset(setsetsetset)prop.
Definition. We define product_constr_p to be λprod pi0 pi1 pair ⇒ ∀X Y : set, Obj XObj Yproduct_p X Y (prod X Y) (pi0 X Y) (pi1 X Y) (pair X Y) of type (setsetset)(setsetset)(setsetset)(setsetsetsetsetset)prop.
Definition. We define coproduct_p to be λX Y Z i0 i1 comb ⇒ Obj XObj YObj ZHom X Z i0Hom Y Z i1∀W : set, Obj W∀h k : set, Hom X W hHom Y W kHom Z W (comb W h k)comp X Z W (comb W h k) i0 = hcomp Y Z W (comb W h k) i1 = k∀hk : set, Hom Z W hkcomp X Z W hk i0 = hcomp Y Z W hk i1 = khk = comb W h k of type setsetsetsetset(setsetsetset)prop.
Definition. We define coproduct_constr_p to be λcoprod i0 i1 copair ⇒ ∀X Y : set, Obj XObj Ycoproduct_p X Y (coprod X Y) (i0 X Y) (i1 X Y) (copair X Y) of type (setsetset)(setsetset)(setsetset)(setsetsetsetsetset)prop.
Definition. We define equalizer_p to be λX Y f g Q q fac ⇒ Obj XObj YHom X Y fHom X Y gObj QHom Q X qcomp Q X Y f q = comp Q X Y g q∀W : set, Obj W∀h : set, Hom W X hcomp W X Y f h = comp W X Y g hHom W Q (fac W h)comp W Q X q (fac W h) = h∀u : set, Hom W Q ucomp W Q X q u = hu = fac W h of type setsetsetsetsetset(setsetset)prop.
Definition. We define equalizer_constr_p to be λquot canonmap fac ⇒ ∀X Y : set, Obj XObj Y∀f g : set, Hom X Y fHom X Y gequalizer_p X Y f g (quot X Y f g) (canonmap X Y f g) (fac X Y f g) of type (setsetsetsetset)(setsetsetsetset)(setsetsetsetsetsetset)prop.
Definition. We define coequalizer_p to be λX Y f g Q q fac ⇒ Obj XObj YHom X Y fHom X Y gObj QHom Y Q qcomp X Y Q q f = comp X Y Q q g∀W : set, Obj W∀h : set, Hom Y W hcomp X Y W h f = comp X Y W h gHom Q W (fac W h)comp Y Q W (fac W h) q = h∀u : set, Hom Q W ucomp Y Q W u q = hu = fac W h of type setsetsetsetsetset(setsetset)prop.
Definition. We define coequalizer_constr_p to be λquot canonmap fac ⇒ ∀X Y : set, Obj XObj Y∀f g : set, Hom X Y fHom X Y gcoequalizer_p X Y f g (quot X Y f g) (canonmap X Y f g) (fac X Y f g) of type (setsetsetsetset)(setsetsetsetset)(setsetsetsetsetsetset)prop.
Definition. We define pullback_p to be λX Y Z f g P pi0 pi1 pair ⇒ Obj XObj YObj ZHom X Z fHom Y Z gObj PHom P X pi0Hom P Y pi1comp P X Z f pi0 = comp P Y Z g pi1∀W : set, Obj W∀h : set, Hom W X h∀k : set, Hom W Y kcomp W X Z f h = comp W Y Z g kHom W P (pair W h k)comp W P X pi0 (pair W h k) = hcomp W P Y pi1 (pair W h k) = k∀u : set, Hom W P ucomp W P X pi0 u = hcomp W P Y pi1 u = ku = pair W h k of type setsetsetsetsetsetsetset(setsetsetset)prop.
Definition. We define pullback_constr_p to be λpb pi0 pi1 pair ⇒ ∀X Y Z : set, Obj XObj YObj Z∀f g : set, Hom X Z fHom Y Z gpullback_p X Y Z f g (pb X Y Z f g) (pi0 X Y Z f g) (pi1 X Y Z f g) (pair X Y Z f g) of type (setsetsetsetsetset)(setsetsetsetsetset)(setsetsetsetsetset)(setsetsetsetsetsetsetsetset)prop.
Definition. We define pushout_p to be λX Y Z f g P i0 i1 copair ⇒ Obj XObj YObj ZHom Z X fHom Z Y gObj PHom X P i0Hom Y P i1comp Z X P i0 f = comp Z Y P i1 g∀W : set, Obj W∀h : set, Hom X W h∀k : set, Hom Y W kcomp Z X W h f = comp Z Y W k gHom P W (copair W h k)comp X P W (copair W h k) i0 = hcomp Y P W (copair W h k) i1 = k∀u : set, Hom P W ucomp X P W u i0 = hcomp Y P W u i1 = ku = copair W h k of type setsetsetsetsetsetsetset(setsetsetset)prop.
Definition. We define pushout_constr_p to be λpo i0 i1 copair ⇒ ∀X Y Z : set, Obj XObj YObj Z∀f g : set, Hom Z X fHom Z Y gpushout_p X Y Z f g (po X Y Z f g) (i0 X Y Z f g) (i1 X Y Z f g) (copair X Y Z f g) of type (setsetsetsetsetset)(setsetsetsetsetset)(setsetsetsetsetset)(setsetsetsetsetsetsetsetset)prop.
Definition. We define exponent_p to be λprod pi0 pi1 pair X Y Z a lm ⇒ Obj XObj YObj ZHom (prod Z X) Y a∀W : set, Obj W∀f : set, Hom (prod W X) Y fHom W Z (lm W f)comp (prod W X) (prod Z X) Y a (pair Z X (prod W X) (comp (prod W X) W Z (lm W f) (pi0 W X)) (pi1 W X)) = f∀g : set, Hom W Z gcomp (prod W X) (prod Z X) Y a (pair Z X (prod W X) (comp (prod W X) W Z g (pi0 W X)) (pi1 W X)) = fg = lm W f of type (setsetset)(setsetset)(setsetset)(setsetsetsetsetset)setsetsetset(setsetset)prop.
Definition. We define product_exponent_constr_p to be λprod pi0 pi1 pair exp a lm ⇒ product_constr_p prod pi0 pi1 pair∀X Y : set, Obj XObj Yexponent_p prod pi0 pi1 pair X Y (exp X Y) (a X Y) (lm X Y) of type (setsetset)(setsetset)(setsetset)(setsetsetsetsetset)(setsetset)(setsetset)(setsetsetsetset)prop.
Definition. We define subobject_classifier_p to be λone uniqa Omega tru ch constr_p ⇒ terminal_p one uniqaObj OmegaHom one Omega tru∀X Y : set, ∀m : set, monic X Y mHom Y Omega (ch X Y m)pullback_p one Y Omega tru (ch X Y m) X (uniqa X) m (constr_p X Y m) of type set(setset)setset(setsetsetset)(setsetsetsetsetsetset)prop.
Definition. We define nno_p to be λone uniqa N zer suc rec ⇒ terminal_p one uniqaObj NHom one N zerHom N N suc∀X : set, ∀x : set, ∀f : set, Obj XHom one X xHom X X fHom N X (rec X x f)comp one N X (rec X x f) zer = xcomp N N X (rec X x f) suc = comp N X X f (rec X x f)∀u : set, Hom N X ucomp one N X u zer = xcomp N N X u suc = comp N X X f uu = rec X x f of type set(setset)setsetset(setsetsetset)prop.
End of Section LimsCoLims
Beginning of Section LimsCoLims2
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Theorem. (product_coproduct_Op)
∀X Y Z : set, ∀pi0 pi1 : set, ∀pair : setsetsetset, product_p Obj Hom id comp X Y Z pi0 pi1 paircoproduct_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) X Y Z pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (product_coproduct_constr_Op)
∀prod : setsetset, ∀pi0 pi1 : setsetset, ∀pair : setsetsetsetsetset, product_constr_p Obj Hom id comp prod pi0 pi1 paircoproduct_constr_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) prod pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (coproduct_product_Op)
∀X Y Z : set, ∀i0 i1 : set, ∀copair : setsetsetset, coproduct_p Obj Hom id comp X Y Z i0 i1 copairproduct_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) X Y Z i0 i1 copair
Proof:
Proof not loaded.
Theorem. (coproduct_product_constr_Op)
∀coprod : setsetset, ∀i0 i1 : setsetset, ∀copair : setsetsetsetsetset, coproduct_constr_p Obj Hom id comp coprod i0 i1 copairproduct_constr_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) coprod i0 i1 copair
Proof:
Proof not loaded.
Theorem. (equalizer_coequalizer_Op)
∀X Y : set, ∀f g : set, ∀Q : set, ∀q : set, ∀fac : setsetset, equalizer_p Obj Hom id comp X Y f g Q q faccoequalizer_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) Y X f g Q q fac
Proof:
Proof not loaded.
Theorem. (equalizer_coequalizer_constr_Op)
∀quot : setsetsetsetset, ∀canonmap : setsetsetsetset, ∀fac : setsetsetsetsetsetset, equalizer_constr_p Obj Hom id comp quot canonmap faccoequalizer_constr_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) (λX Y f g ⇒ quot Y X f g) (λX Y f g ⇒ canonmap Y X f g) (λX Y f g ⇒ fac Y X f g)
Proof:
Proof not loaded.
Theorem. (coequalizer_equalizer_Op)
∀X Y : set, ∀f g : set, ∀Q : set, ∀q : set, ∀fac : setsetset, coequalizer_p Obj Hom id comp X Y f g Q q facequalizer_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) Y X f g Q q fac
Proof:
Proof not loaded.
Theorem. (coequalizer_equalizer_constr_Op)
∀quot : setsetsetsetset, ∀canonmap : setsetsetsetset, ∀fac : setsetsetsetsetsetset, coequalizer_constr_p Obj Hom id comp quot canonmap facequalizer_constr_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) (λX Y f g ⇒ quot Y X f g) (λX Y f g ⇒ canonmap Y X f g) (λX Y f g ⇒ fac Y X f g)
Proof:
Proof not loaded.
Theorem. (pullback_pushout_Op)
∀X Y Z : set, ∀f g : set, ∀P : set, ∀pi0 pi1 : set, ∀pair : setsetsetset, pullback_p Obj Hom id comp X Y Z f g P pi0 pi1 pairpushout_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) X Y Z f g P pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (pullback_pushout_constr_Op)
∀pb : setsetsetsetsetset, ∀pi0 pi1 : setsetsetsetsetset, ∀pair : setsetsetsetsetsetsetsetset, pullback_constr_p Obj Hom id comp pb pi0 pi1 pairpushout_constr_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) pb pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (pushout_pullback_Op)
∀X Y Z : set, ∀f g : set, ∀P : set, ∀i0 i1 : set, ∀copair : setsetsetset, pushout_p Obj Hom id comp X Y Z f g P i0 i1 copairpullback_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) X Y Z f g P i0 i1 copair
Proof:
Proof not loaded.
Theorem. (pushout_pullback_constr_Op)
∀po : setsetsetsetsetset, ∀i0 i1 : setsetsetsetsetset, ∀copair : setsetsetsetsetsetsetsetset, pushout_constr_p Obj Hom id comp po i0 i1 copairpullback_constr_p Obj (λX Y ⇒ Hom Y X) id (λX Y Z f g ⇒ comp Z Y X g f) po i0 i1 copair
Proof:
Proof not loaded.
Theorem. (product_equalizer_pullback_constr)
MetaCat Obj Hom id comp∀quot : setsetsetsetset, ∀canonmap : setsetsetsetset, ∀fac : setsetsetsetsetsetset, equalizer_constr_p Obj Hom id comp quot canonmap fac∀prod : setsetset, ∀pi0 : setsetset, ∀pi1 : setsetset, ∀pair : setsetsetsetsetset, product_constr_p Obj Hom id comp prod pi0 pi1 pairpullback_constr_p Obj Hom id comp (λX Y Z f g ⇒ quot (prod X Y) Z (comp (prod X Y) X Z f (pi0 X Y)) (comp (prod X Y) Y Z g (pi1 X Y))) (λX Y Z f g ⇒ comp (quot (prod X Y) Z (comp (prod X Y) X Z f (pi0 X Y)) (comp (prod X Y) Y Z g (pi1 X Y))) (prod X Y) X (pi0 X Y) (canonmap (prod X Y) Z (comp (prod X Y) X Z f (pi0 X Y)) (comp (prod X Y) Y Z g (pi1 X Y)))) (λX Y Z f g ⇒ comp (quot (prod X Y) Z (comp (prod X Y) X Z f (pi0 X Y)) (comp (prod X Y) Y Z g (pi1 X Y))) (prod X Y) Y (pi1 X Y) (canonmap (prod X Y) Z (comp (prod X Y) X Z f (pi0 X Y)) (comp (prod X Y) Y Z g (pi1 X Y)))) (λX Y Z f g W h k ⇒ fac (prod X Y) Z (comp (prod X Y) X Z f (pi0 X Y)) (comp (prod X Y) Y Z g (pi1 X Y)) W (pair X Y W h k))
Proof:
Proof not loaded.
Theorem. (product_equalizer_pullback_constr_ex)
MetaCat Obj Hom id comp(∃quot : setsetsetsetset, ∃canonmap : setsetsetsetset, ∃fac : setsetsetsetsetsetset, equalizer_constr_p Obj Hom id comp quot canonmap fac)(∃prod : setsetset, ∃pi0 : setsetset, ∃pi1 : setsetset, ∃pair : setsetsetsetsetset, product_constr_p Obj Hom id comp prod pi0 pi1 pair)∃pb : setsetsetsetsetset, ∃pi0 : setsetsetsetsetset, ∃pi1 : setsetsetsetsetset, ∃pair : setsetsetsetsetsetsetsetset, pullback_constr_p Obj Hom id comp pb pi0 pi1 pair
Proof:
Proof not loaded.
End of Section LimsCoLims2
Beginning of Section LimsCoLims3
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Theorem. (coproduct_coequalizer_pushout_constr_ex)
MetaCat Obj Hom id comp(∃quot : setsetsetsetset, ∃canonmap : setsetsetsetset, ∃fac : setsetsetsetsetsetset, coequalizer_constr_p Obj Hom id comp quot canonmap fac)(∃coprod : setsetset, ∃i0 : setsetset, ∃i1 : setsetset, ∃copair : setsetsetsetsetset, coproduct_constr_p Obj Hom id comp coprod i0 i1 copair)∃po : setsetsetsetsetset, ∃i0 : setsetsetsetsetset, ∃i1 : setsetsetsetsetset, ∃copair : setsetsetsetsetsetsetsetset, pushout_constr_p Obj Hom id comp po i0 i1 copair
Proof:
Proof not loaded.
End of Section LimsCoLims3
Definition. We define SetHom to be λX Y f ⇒ f YX of type setsetsetprop.
Theorem. (MetaCatSet_initial_gen)
∀Obj : setprop, Obj 0∃Y : set, ∃uniqa : setset, initial_p Obj SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatSet_initial)
∃Y : set, ∃uniqa : setset, initial_p (λ_ ⇒ True) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatSet_terminal_gen)
∀Obj : setprop, Obj 1∃Y : set, ∃uniqa : setset, terminal_p Obj SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatSet_terminal)
∃Y : set, ∃uniqa : setset, terminal_p (λ_ ⇒ True) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatSet_coproduct_gen)
∀Obj : setprop, (∀X, Obj X∀Y, Obj YObj (setsum X Y))∃coprod : setsetset, ∃i0 i1 : setsetset, ∃copair : setsetsetsetsetset, coproduct_constr_p Obj SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) coprod i0 i1 copair
Proof:
Proof not loaded.
Theorem. (MetaCatSet_coproduct)
∃coprod : setsetset, ∃i0 i1 : setsetset, ∃copair : setsetsetsetsetset, coproduct_constr_p (λ_ ⇒ True) SetHom (λX ⇒ λx ∈ Xx) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) coprod i0 i1 copair
Proof:
Proof not loaded.
Theorem. (MetaCatSet_product_gen)
∀Obj : setprop, (∀X, Obj X∀Y, Obj YObj (setprod X Y))∃prod : setsetset, ∃pi0 pi1 : setsetset, ∃pair : setsetsetsetsetset, product_constr_p Obj SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) prod pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (MetaCatSet_product)
∃prod : setsetset, ∃pi0 pi1 : setsetset, ∃pair : setsetsetsetsetset, product_constr_p (λ_ ⇒ True) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) prod pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (UnivOf_Subq_closed)
∀N, ∀XUnivOf N, ∀QX, Q UnivOf N
Proof:
Proof not loaded.
Definition. We define famunion_closed to be λU : set∀XU, ∀F : setset, (∀xX, F x U)famunion X F U of type setprop.
Theorem. (Union_Repl_famunion_closed)
∀U : set, Union_closed URepl_closed Ufamunion_closed U
Proof:
Proof not loaded.
Theorem. (ZF_closed_0)
∀U X, TransSet UZF_closed UX U0 U
Proof:
Proof not loaded.
Theorem. (ZF_Inj1_closed)
∀U, TransSet UZF_closed U∀XU, Inj1 X U
Proof:
Proof not loaded.
Theorem. (ZF_Inj0_closed)
∀U, TransSet UZF_closed U∀XU, Inj0 X U
Proof:
Proof not loaded.
Theorem. (ZF_setsum_closed)
∀U, TransSet UZF_closed U∀X YU, (X + Y) U
Proof:
Proof not loaded.
Theorem. (ZF_Sigma_closed)
∀U, TransSet UZF_closed U∀XU, ∀Y : setset, (∀xX, Y x U)(∑x ∈ X, Y x) U
Proof:
Proof not loaded.
Theorem. (ZF_setprod_closed)
∀U, TransSet UZF_closed U∀X YU, (XY) U
Proof:
Proof not loaded.
Theorem. (ZF_Pi_closed)
∀U, TransSet UZF_closed U∀XU, ∀Y : setset, (∀xX, Y x U)(∏x ∈ X, Y x) U
Proof:
Proof not loaded.
Theorem. (ZF_setexp_closed)
∀U, TransSet UZF_closed U∀X YU, (YX) U
Proof:
Proof not loaded.
Theorem. (MetaCatHFSet_initial)
∃Y : set, ∃uniqa : setset, initial_p (λX ⇒ X UnivOf Empty) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatSmallSet_initial)
∃Y : set, ∃uniqa : setset, initial_p (λX ⇒ X UnivOf (UnivOf Empty)) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatHFSet_terminal)
∃Y : set, ∃uniqa : setset, terminal_p (λX ⇒ X UnivOf Empty) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatSmallSet_terminal)
∃Y : set, ∃uniqa : setset, terminal_p (λX ⇒ X UnivOf (UnivOf Empty)) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) Y uniqa
Proof:
Proof not loaded.
Theorem. (MetaCatHFSet_coproduct)
∃coprod : setsetset, ∃i0 i1 : setsetset, ∃copair : setsetsetsetsetset, coproduct_constr_p (λX ⇒ X UnivOf Empty) SetHom (λX ⇒ λx ∈ Xx) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) coprod i0 i1 copair
Proof:
Proof not loaded.
Theorem. (MetaCatSmallSet_coproduct)
∃coprod : setsetset, ∃i0 i1 : setsetset, ∃copair : setsetsetsetsetset, coproduct_constr_p (λX ⇒ X UnivOf (UnivOf Empty)) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) coprod i0 i1 copair
Proof:
Proof not loaded.
Theorem. (MetaCatHFSet_product)
∃prod : setsetset, ∃pi0 pi1 : setsetset, ∃pair : setsetsetsetsetset, product_constr_p (λX ⇒ X UnivOf Empty) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) prod pi0 pi1 pair
Proof:
Proof not loaded.
Theorem. (MetaCatSmallSet_product)
∃prod : setsetset, ∃pi0 pi1 : setsetset, ∃pair : setsetsetsetsetset, product_constr_p (λX ⇒ X UnivOf (UnivOf Empty)) SetHom (λX ⇒ (λx ∈ Xx)) (λX Y Z f g ⇒ (λx ∈ Xf (g x))) prod pi0 pi1 pair
Proof:
Proof not loaded.
Beginning of Section MetaFunctor
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable Obj' : setprop
Variable Hom' : setsetsetprop
Variable id' : setset
Variable comp' : setsetsetsetsetset
Variable F0 : setset
Variable F1 : setsetsetset
Definition. We define MetaFunctor to be (∀X, Obj XObj' (F0 X))(∀X Y f, Obj XObj YHom X Y fHom' (F0 X) (F0 Y) (F1 X Y f))(∀X, Obj XF1 X X (id X) = id' (F0 X))(∀X Y Z f g, Obj XObj YObj ZHom X Y fHom Y Z gF1 X Z (comp X Y Z g f) = comp' (F0 X) (F0 Y) (F0 Z) (F1 Y Z g) (F1 X Y f)) of type prop.
Theorem. (MetaFunctorI)
(∀X, Obj XObj' (F0 X))(∀X Y f, Obj XObj YHom X Y fHom' (F0 X) (F0 Y) (F1 X Y f))(∀X, Obj XF1 X X (id X) = id' (F0 X))(∀X Y Z f g, Obj XObj YObj ZHom X Y fHom Y Z gF1 X Z (comp X Y Z g f) = comp' (F0 X) (F0 Y) (F0 Z) (F1 Y Z g) (F1 X Y f))MetaFunctor
Proof:
Proof not loaded.
Theorem. (MetaFunctorE)
MetaFunctor∀p : prop, ((∀X, Obj XObj' (F0 X))(∀X Y f, Obj XObj YHom X Y fHom' (F0 X) (F0 Y) (F1 X Y f))(∀X, Obj XF1 X X (id X) = id' (F0 X))(∀X Y Z f g, Obj XObj YObj ZHom X Y fHom Y Z gF1 X Z (comp X Y Z g f) = comp' (F0 X) (F0 Y) (F0 Z) (F1 Y Z g) (F1 X Y f))p)p
Proof:
Proof not loaded.
Definition. We define MetaFunctor_strict to be MetaCat Obj Hom id compMetaCat Obj' Hom' id' comp'MetaFunctor of type prop.
Theorem. (MetaFunctor_strict_I)
MetaCat Obj Hom id compMetaCat Obj' Hom' id' comp'MetaFunctorMetaFunctor_strict
Proof:
Proof not loaded.
Theorem. (MetaFunctor_strict_E)
MetaFunctor_strict∀p : prop, (MetaCat Obj Hom id compMetaCat Obj' Hom' id' comp'MetaFunctorp)p
Proof:
Proof not loaded.
End of Section MetaFunctor
Beginning of Section IdFunctor
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Theorem. (MetaCat_IdFunctor)
MetaFunctor Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_IdFunctor_strict)
MetaCat Obj Hom id compMetaFunctor_strict Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f)
Proof:
Proof not loaded.
End of Section IdFunctor
Beginning of Section CompFunctors
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable Obj' : setprop
Variable Hom' : setsetsetprop
Variable id' : setset
Variable comp' : setsetsetsetsetset
Variable Obj'' : setprop
Variable Hom'' : setsetsetprop
Variable id'' : setset
Variable comp'' : setsetsetsetsetset
Variable F0 : setset
Variable F1 : setsetsetset
Variable G0 : setset
Variable G1 : setsetsetset
Theorem. (MetaCat_CompFunctors)
MetaFunctor Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj' Hom' id' comp' Obj'' Hom'' id'' comp'' G0 G1MetaFunctor Obj Hom id comp Obj'' Hom'' id'' comp'' (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f))
Proof:
Proof not loaded.
Theorem. (MetaCat_CompFunctors_strict)
MetaFunctor_strict Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor_strict Obj' Hom' id' comp' Obj'' Hom'' id'' comp'' G0 G1MetaFunctor_strict Obj Hom id comp Obj'' Hom'' id'' comp'' (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f))
Proof:
Proof not loaded.
End of Section CompFunctors
Beginning of Section MetaNatTrans
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable Obj' : setprop
Variable Hom' : setsetsetprop
Variable id' : setset
Variable comp' : setsetsetsetsetset
Variable F0 : setset
Variable F1 : setsetsetset
Variable G0 : setset
Variable G1 : setsetsetset
Variable eta : setset
Definition. We define MetaNatTrans to be (∀X, Obj XHom' (F0 X) (G0 X) (eta X))(∀X Y f, Obj XObj YHom X Y fcomp' (F0 X) (G0 X) (G0 Y) (G1 X Y f) (eta X) = comp' (F0 X) (F0 Y) (G0 Y) (eta Y) (F1 X Y f)) of type prop.
Theorem. (MetaNatTransI)
(∀X, Obj XHom' (F0 X) (G0 X) (eta X))(∀X Y f, Obj XObj YHom X Y fcomp' (F0 X) (G0 X) (G0 Y) (G1 X Y f) (eta X) = comp' (F0 X) (F0 Y) (G0 Y) (eta Y) (F1 X Y f))MetaNatTrans
Proof:
Proof not loaded.
Theorem. (MetaNatTransE)
MetaNatTrans∀p : prop, ((∀X, Obj XHom' (F0 X) (G0 X) (eta X))(∀X Y f, Obj XObj YHom X Y fcomp' (F0 X) (G0 X) (G0 Y) (G1 X Y f) (eta X) = comp' (F0 X) (F0 Y) (G0 Y) (eta Y) (F1 X Y f))p)p
Proof:
Proof not loaded.
Definition. We define MetaNatTrans_strict to be MetaCat Obj Hom id compMetaCat Obj' Hom' id' comp'MetaFunctor Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj Hom id comp Obj' Hom' id' comp' G0 G1MetaNatTrans of type prop.
Theorem. (MetaNatTrans_strict_I)
MetaCat Obj Hom id compMetaCat Obj' Hom' id' comp'MetaFunctor Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj Hom id comp Obj' Hom' id' comp' G0 G1MetaNatTransMetaNatTrans_strict
Proof:
Proof not loaded.
Theorem. (MetaNatTrans_strict_E)
MetaNatTrans_strict∀p : prop, (MetaCat Obj Hom id compMetaCat Obj' Hom' id' comp'MetaFunctor Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj Hom id comp Obj' Hom' id' comp' G0 G1MetaNatTransp)p
Proof:
Proof not loaded.
End of Section MetaNatTrans
Beginning of Section CompFunctorNatTrans
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable Obj' : setprop
Variable Hom' : setsetsetprop
Variable id' : setset
Variable comp' : setsetsetsetsetset
Variable Obj'' : setprop
Variable Hom'' : setsetsetprop
Variable id'' : setset
Variable comp'' : setsetsetsetsetset
Variable F0 : setset
Variable F1 : setsetsetset
Variable G0 : setset
Variable G1 : setsetsetset
Variable H0 : setset
Variable H1 : setsetsetset
Variable eta : setset
Theorem. (MetaCat_CompFunctorNatTrans)
MetaFunctor Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj Hom id comp Obj' Hom' id' comp' G0 G1MetaNatTrans Obj Hom id comp Obj' Hom' id' comp' F0 F1 G0 G1 etaMetaFunctor Obj' Hom' id' comp' Obj'' Hom'' id'' comp'' H0 H1MetaNatTrans Obj Hom id comp Obj'' Hom'' id'' comp'' (λX ⇒ H0 (F0 X)) (λX Y f ⇒ H1 (F0 X) (F0 Y) (F1 X Y f)) (λX ⇒ H0 (G0 X)) (λX Y f ⇒ H1 (G0 X) (G0 Y) (G1 X Y f)) (λX ⇒ H1 (F0 X) (G0 X) (eta X))
Proof:
Proof not loaded.
End of Section CompFunctorNatTrans
Beginning of Section CompNatTransFunctor
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable Obj' : setprop
Variable Hom' : setsetsetprop
Variable id' : setset
Variable comp' : setsetsetsetsetset
Variable Obj'' : setprop
Variable Hom'' : setsetsetprop
Variable id'' : setset
Variable comp'' : setsetsetsetsetset
Variable F0 : setset
Variable F1 : setsetsetset
Variable G0 : setset
Variable G1 : setsetsetset
Variable H0 : setset
Variable H1 : setsetsetset
Variable eta : setset
Theorem. (MetaCat_CompNatTransFunctor)
MetaNatTrans Obj' Hom' id' comp' Obj'' Hom'' id'' comp'' F0 F1 G0 G1 etaMetaFunctor Obj Hom id comp Obj' Hom' id' comp' H0 H1MetaNatTrans Obj Hom id comp Obj'' Hom'' id'' comp'' (λX ⇒ F0 (H0 X)) (λX Y f ⇒ F1 (H0 X) (H0 Y) (H1 X Y f)) (λX ⇒ G0 (H0 X)) (λX Y f ⇒ G1 (H0 X) (H0 Y) (H1 X Y f)) (λX ⇒ eta (H0 X))
Proof:
Proof not loaded.
End of Section CompNatTransFunctor
Beginning of Section MetaMonad
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable T0 : setset
Variable T1 : setsetsetset
Variable eta : setset
Variable mu : setset
Definition. We define MetaMonad to be (∀X, Obj Xcomp (T0 (T0 (T0 X))) (T0 (T0 X)) (T0 X) (mu X) (T1 (T0 (T0 X)) (T0 X) (mu X)) = comp (T0 (T0 (T0 X))) (T0 (T0 X)) (T0 X) (mu X) (mu (T0 X)))(∀X, Obj Xcomp (T0 X) (T0 (T0 X)) (T0 X) (mu X) (eta (T0 X)) = id (T0 X))(∀X, Obj Xcomp (T0 X) (T0 (T0 X)) (T0 X) (mu X) (T1 X (T0 X) (eta X)) = id (T0 X)) of type prop.
Definition. We define MetaMonad_strict to be MetaNatTrans_strict Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) T0 T1 etaMetaNatTrans_strict Obj Hom id comp Obj Hom id comp (λX ⇒ T0 (T0 X)) (λX Y f ⇒ T1 (T0 X) (T0 Y) (T1 X Y f)) T0 T1 muMetaMonad of type prop.
Theorem. (MetaMonadI)
(∀X, Obj Xcomp (T0 (T0 (T0 X))) (T0 (T0 X)) (T0 X) (mu X) (T1 (T0 (T0 X)) (T0 X) (mu X)) = comp (T0 (T0 (T0 X))) (T0 (T0 X)) (T0 X) (mu X) (mu (T0 X)))(∀X, Obj Xcomp (T0 X) (T0 (T0 X)) (T0 X) (mu X) (eta (T0 X)) = id (T0 X))(∀X, Obj Xcomp (T0 X) (T0 (T0 X)) (T0 X) (mu X) (T1 X (T0 X) (eta X)) = id (T0 X))MetaMonad
Proof:
Proof not loaded.
Theorem. (MetaMonadE)
MetaMonad(∀p : prop, ((∀X, Obj Xcomp (T0 (T0 (T0 X))) (T0 (T0 X)) (T0 X) (mu X) (T1 (T0 (T0 X)) (T0 X) (mu X)) = comp (T0 (T0 (T0 X))) (T0 (T0 X)) (T0 X) (mu X) (mu (T0 X)))(∀X, Obj Xcomp (T0 X) (T0 (T0 X)) (T0 X) (mu X) (eta (T0 X)) = id (T0 X))(∀X, Obj Xcomp (T0 X) (T0 (T0 X)) (T0 X) (mu X) (T1 X (T0 X) (eta X)) = id (T0 X))p)p)
Proof:
Proof not loaded.
Theorem. (MetaMonad_strict_I)
MetaNatTrans_strict Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) T0 T1 etaMetaNatTrans_strict Obj Hom id comp Obj Hom id comp (λX ⇒ T0 (T0 X)) (λX Y f ⇒ T1 (T0 X) (T0 Y) (T1 X Y f)) T0 T1 muMetaMonadMetaMonad_strict
Proof:
Proof not loaded.
Theorem. (MetaMonad_strict_E)
MetaMonad_strict∀p : prop, (MetaNatTrans_strict Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) T0 T1 etaMetaNatTrans_strict Obj Hom id comp Obj Hom id comp (λX ⇒ T0 (T0 X)) (λX Y f ⇒ T1 (T0 X) (T0 Y) (T1 X Y f)) T0 T1 muMetaMonadp)p
Proof:
Proof not loaded.
End of Section MetaMonad
Beginning of Section MetaAdjunction
Variable Obj : setprop
Variable Hom : setsetsetprop
Variable id : setset
Variable comp : setsetsetsetsetset
Variable Obj' : setprop
Variable Hom' : setsetsetprop
Variable id' : setset
Variable comp' : setsetsetsetsetset
Variable F0 : setset
Variable F1 : setsetsetset
Variable G0 : setset
Variable G1 : setsetsetset
Variable eta : setset
Variable eps : setset
Definition. We define MetaAdjunction to be (∀X, Obj Xcomp' (F0 X) (F0 (G0 (F0 X))) (F0 X) (eps (F0 X)) (F1 X (G0 (F0 X)) (eta X)) = id' (F0 X))(∀Y, Obj' Ycomp (G0 Y) (G0 (F0 (G0 Y))) (G0 Y) (G1 (F0 (G0 Y)) Y (eps Y)) (eta (G0 Y)) = id (G0 Y)) of type prop.
Definition. We define MetaAdjunction_strict to be MetaFunctor_strict Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj' Hom' id' comp' Obj Hom id comp G0 G1MetaNatTrans Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f)) etaMetaNatTrans Obj' Hom' id' comp' Obj' Hom' id' comp' (λY ⇒ F0 (G0 Y)) (λX Y g ⇒ F1 (G0 X) (G0 Y) (G1 X Y g)) (λY ⇒ Y) (λX Y g ⇒ g) epsMetaAdjunction of type prop.
Theorem. (MetaAdjunctionI)
(∀X, Obj Xcomp' (F0 X) (F0 (G0 (F0 X))) (F0 X) (eps (F0 X)) (F1 X (G0 (F0 X)) (eta X)) = id' (F0 X))(∀Y, Obj' Ycomp (G0 Y) (G0 (F0 (G0 Y))) (G0 Y) (G1 (F0 (G0 Y)) Y (eps Y)) (eta (G0 Y)) = id (G0 Y))MetaAdjunction
Proof:
Proof not loaded.
Theorem. (MetaAdjunctionE)
MetaAdjunction∀p : prop, ((∀X, Obj Xcomp' (F0 X) (F0 (G0 (F0 X))) (F0 X) (eps (F0 X)) (F1 X (G0 (F0 X)) (eta X)) = id' (F0 X))(∀Y, Obj' Ycomp (G0 Y) (G0 (F0 (G0 Y))) (G0 Y) (G1 (F0 (G0 Y)) Y (eps Y)) (eta (G0 Y)) = id (G0 Y))p)p
Proof:
Proof not loaded.
Theorem. (MetaAdjunction_strict_I)
MetaFunctor_strict Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj' Hom' id' comp' Obj Hom id comp G0 G1MetaNatTrans Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f)) etaMetaNatTrans Obj' Hom' id' comp' Obj' Hom' id' comp' (λY ⇒ F0 (G0 Y)) (λX Y g ⇒ F1 (G0 X) (G0 Y) (G1 X Y g)) (λY ⇒ Y) (λX Y g ⇒ g) epsMetaAdjunctionMetaAdjunction_strict
Proof:
Proof not loaded.
Theorem. (MetaAdjunction_strict_E)
MetaAdjunction_strict∀p : prop, (MetaFunctor_strict Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj' Hom' id' comp' Obj Hom id comp G0 G1MetaNatTrans Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f)) etaMetaNatTrans Obj' Hom' id' comp' Obj' Hom' id' comp' (λY ⇒ F0 (G0 Y)) (λX Y g ⇒ F1 (G0 X) (G0 Y) (G1 X Y g)) (λY ⇒ Y) (λX Y g ⇒ g) epsMetaAdjunctionp)p
Proof:
Proof not loaded.
Theorem. (MetaAdjunctionMonad)
MetaFunctor Obj Hom id comp Obj' Hom' id' comp' F0 F1MetaFunctor Obj' Hom' id' comp' Obj Hom id comp G0 G1MetaNatTrans Obj Hom id comp Obj Hom id comp (λX ⇒ X) (λX Y f ⇒ f) (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f)) etaMetaNatTrans Obj' Hom' id' comp' Obj' Hom' id' comp' (λY ⇒ F0 (G0 Y)) (λX Y g ⇒ F1 (G0 X) (G0 Y) (G1 X Y g)) (λY ⇒ Y) (λX Y g ⇒ g) epsMetaAdjunctionMetaMonad Obj Hom id comp (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f)) eta (λX ⇒ G1 (F0 (G0 (F0 X))) (F0 X) (eps (F0 X)))
Proof:
Proof not loaded.
Theorem. (MetaAdjunctionMonad_strict)
MetaAdjunction_strictMetaMonad_strict Obj Hom id comp (λX ⇒ G0 (F0 X)) (λX Y f ⇒ G1 (F0 X) (F0 Y) (F1 X Y f)) eta (λX ⇒ G1 (F0 (G0 (F0 X))) (F0 X) (eps (F0 X)))
Proof:
Proof not loaded.
End of Section MetaAdjunction
Beginning of Section MetaCatConcrete
Variable Obj : setprop
Variable U : setset
Variable Hom : setsetsetprop
Theorem. (MetaCatConcrete)
(∀X Y f, Obj XObj YHom X Y ff U YU X)(∀X, Obj XHom X X (lam_id (U X)))(∀X Y Z f g, Obj XObj YObj ZHom X Y fHom Y Z gHom X Z (lam_comp (U X) g f))MetaCat Obj Hom (λX ⇒ lam_id (U X)) (λX Y Z g f ⇒ lam_comp (U X) g f)
Proof:
Proof not loaded.
Theorem. (MetaCatConcreteForgetful)
(∀X Y f, Obj XObj YHom X Y ff U YU X)MetaFunctor Obj Hom (λX ⇒ lam_id (U X)) (λX Y Z f g ⇒ (lam_comp (U X) f g)) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) U (λX Y f ⇒ f)
Proof:
Proof not loaded.
End of Section MetaCatConcrete
Theorem. (MetaCatSet)
MetaCat (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z g f ⇒ lam_comp X g f)
Proof:
Proof not loaded.
Theorem. (MetaCatHFSet)
MetaCat (λX ⇒ X UnivOf Empty) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g))
Proof:
Proof not loaded.
Theorem. (MetaCatSmallSet)
MetaCat (λX ⇒ X UnivOf (UnivOf Empty)) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g))
Proof:
Proof not loaded.
Theorem. (MetaCatConcreteForgetful_strict)
∀Obj : setprop, ∀U : setset, ∀Hom : setsetsetprop, (∀X Y f, Obj XObj YHom X Y ff U YU X)(∀X, Obj XHom X X (lam_id (U X)))(∀X Y Z f g, Obj XObj YObj ZHom X Y fHom Y Z gHom X Z (lam_comp (U X) g f))MetaFunctor_strict Obj Hom (λX ⇒ lam_id (U X)) (λX Y Z f g ⇒ (lam_comp (U X) f g)) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) U (λX Y f ⇒ f)
Proof:
Proof not loaded.
Definition. We define Hom_struct_e to be λX Y f ⇒ unpack_e_o X (λX' eX ⇒ unpack_e_o Y (λY' eY ⇒ f Y'X'f eX = eY)) of type setsetsetprop.
Definition. We define Hom_struct_u to be λX Y f ⇒ unpack_u_o X (λX' uX ⇒ unpack_u_o Y (λY' uY ⇒ f Y'X'∀xX', f (uX x) = uY (f x))) of type setsetsetprop.
Definition. We define Hom_struct_b to be λX Y f ⇒ unpack_b_o X (λX' opX ⇒ unpack_b_o Y (λY' opY ⇒ f Y'X'∀x yX', f (opX x y) = opY (f x) (f y))) of type setsetsetprop.
Definition. We define Hom_struct_p to be λX Y f ⇒ unpack_p_o X (λX' pX ⇒ unpack_p_o Y (λY' pY ⇒ f Y'X'∀xX', pX xpY (f x))) of type setsetsetprop.
Definition. We define Hom_struct_r to be λX Y f ⇒ unpack_r_o X (λX' rX ⇒ unpack_r_o Y (λY' rY ⇒ f Y'X'∀x yX', rX x yrY (f x) (f y))) of type setsetsetprop.
Definition. We define Hom_struct_c to be λX Y f ⇒ unpack_c_o X (λX' CX ⇒ unpack_c_o Y (λY' CY ⇒ f Y'X'∀U : setprop, (∀y, U yy Y')CY UCX (λx ⇒ x X'U (f x)))) of type setsetsetprop.
Definition. We define Hom_struct_b_b_e to be λX Y f ⇒ unpack_b_b_e_o X (λX' opX op2X eX ⇒ unpack_b_b_e_o Y (λY' opY op2Y eY ⇒ f Y'X'(∀x yX', f (opX x y) = opY (f x) (f y))(∀x yX', f (op2X x y) = op2Y (f x) (f y))f eX = eY)) of type setsetsetprop.
Definition. We define Hom_struct_b_b_e_e to be λX Y f ⇒ unpack_b_b_e_e_o X (λX' opX op2X eX e2X ⇒ unpack_b_b_e_e_o Y (λY' opY op2Y eY e2Y ⇒ f Y'X'(∀x yX', f (opX x y) = opY (f x) (f y))(∀x yX', f (op2X x y) = op2Y (f x) (f y))f eX = eYf e2X = e2Y)) of type setsetsetprop.
Definition. We define Hom_struct_b_b_r_e_e to be λX Y f ⇒ unpack_b_b_r_e_e_o X (λX' opX op2X rX eX e2X ⇒ unpack_b_b_r_e_e_o Y (λY' opY op2Y rY eY e2Y ⇒ f Y'X'(∀x yX', f (opX x y) = opY (f x) (f y))(∀x yX', f (op2X x y) = op2Y (f x) (f y))(∀x yX', rX x yrY (f x) (f y))f eX = eYf e2X = e2Y)) of type setsetsetprop.
Theorem. (Hom_struct_e_pack)
∀X Y eX eY f, (Hom_struct_e (pack_e X eX) (pack_e Y eY) f) = (f YXf eX = eY)
Proof:
Proof not loaded.
Theorem. (Hom_struct_u_pack)
∀X Y, ∀opX opY : setset, ∀f, (Hom_struct_u (pack_u X opX) (pack_u Y opY) f) = (f YX(∀xX, f (opX x) = opY (f x)))
Proof:
Proof not loaded.
Theorem. (Hom_struct_b_pack)
∀X Y, ∀opX opY : setsetset, ∀f, (Hom_struct_b (pack_b X opX) (pack_b Y opY) f) = (f YX(∀x yX, f (opX x y) = opY (f x) (f y)))
Proof:
Proof not loaded.
Theorem. (Hom_struct_p_pack)
∀X Y, ∀pX pY : setprop, ∀f, (Hom_struct_p (pack_p X pX) (pack_p Y pY) f) = (f YX(∀xX, pX xpY (f x)))
Proof:
Proof not loaded.
Theorem. (Hom_struct_r_pack)
∀X Y, ∀rX rY : setsetprop, ∀f, (Hom_struct_r (pack_r X rX) (pack_r Y rY) f) = (f YX(∀x yX, rX x yrY (f x) (f y)))
Proof:
Proof not loaded.
Theorem. (Hom_struct_c_pack)
∀X Y, ∀CX CY : (setprop)prop, ∀f, (Hom_struct_c (pack_c X CX) (pack_c Y CY) f) = (f YX(∀U : setprop, (∀y, U yy Y)CY UCX (λx ⇒ x XU (f x))))
Proof:
Proof not loaded.
Theorem. (Hom_struct_b_b_e_pack)
∀X Y, ∀opX op2X opY op2Y : setsetset, ∀eX eY f, (Hom_struct_b_b_e (pack_b_b_e X opX op2X eX) (pack_b_b_e Y opY op2Y eY) f) = (f YX(∀x yX, f (opX x y) = opY (f x) (f y))(∀x yX, f (op2X x y) = op2Y (f x) (f y))f eX = eY)
Proof:
Proof not loaded.
Theorem. (Hom_struct_b_b_e_e_pack)
∀X Y, ∀opX op2X opY op2Y : setsetset, ∀eX e2X eY e2Y f, (Hom_struct_b_b_e_e (pack_b_b_e_e X opX op2X eX e2X) (pack_b_b_e_e Y opY op2Y eY e2Y) f) = (f YX(∀x yX, f (opX x y) = opY (f x) (f y))(∀x yX, f (op2X x y) = op2Y (f x) (f y))f eX = eYf e2X = e2Y)
Proof:
Proof not loaded.
Theorem. (Hom_struct_b_b_r_e_e_pack)
∀X Y, ∀opX op2X opY op2Y : setsetset, ∀rX rY : setsetprop, ∀eX e2X eY e2Y f, (Hom_struct_b_b_r_e_e (pack_b_b_r_e_e X opX op2X rX eX e2X) (pack_b_b_r_e_e Y opY op2Y rY eY e2Y) f) = (f YX(∀x yX, f (opX x y) = opY (f x) (f y))(∀x yX, f (op2X x y) = op2Y (f x) (f y))(∀x yX, rX x yrY (f x) (f y))f eX = eYf e2X = e2Y)
Proof:
Proof not loaded.
Beginning of Section MetaCatStruct
Variable Obj : setprop
Theorem. (MetaCat_struct_e_gen)
(∀X, Obj Xstruct_e X)MetaCat Obj Hom_struct_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_e_Forgetful_gen)
(∀X, Obj Xstruct_e X)MetaFunctor Obj Hom_struct_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_p_gen)
(∀X, Obj Xstruct_p X)MetaCat Obj Hom_struct_p (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_p_Forgetful_gen)
(∀X, Obj Xstruct_p X)MetaFunctor Obj Hom_struct_p (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_r_gen)
(∀X, Obj Xstruct_r X)MetaCat Obj Hom_struct_r (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_r_Forgetful_gen)
(∀X, Obj Xstruct_r X)MetaFunctor Obj Hom_struct_r (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_u_gen)
(∀X, Obj Xstruct_u X)MetaCat Obj Hom_struct_u (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_u_Forgetful_gen)
(∀X, Obj Xstruct_u X)MetaFunctor Obj Hom_struct_u (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_gen)
(∀X, Obj Xstruct_b X)MetaCat Obj Hom_struct_b (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_Forgetful_gen)
(∀X, Obj Xstruct_b X)MetaFunctor Obj Hom_struct_b (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_c_gen)
(∀X, Obj Xstruct_c X)MetaCat Obj Hom_struct_c (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_c_Forgetful_gen)
(∀X, Obj Xstruct_c X)MetaFunctor Obj Hom_struct_c (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_b_e_gen)
(∀X, Obj Xstruct_b_b_e X)MetaCat Obj Hom_struct_b_b_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_b_e_Forgetful_gen)
(∀X, Obj Xstruct_b_b_e X)MetaFunctor Obj Hom_struct_b_b_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_b_e_e_gen)
(∀X, Obj Xstruct_b_b_e_e X)MetaCat Obj Hom_struct_b_b_e_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_b_e_e_Forgetful_gen)
(∀X, Obj Xstruct_b_b_e_e X)MetaFunctor Obj Hom_struct_b_b_e_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_b_r_e_e_gen)
(∀X, Obj Xstruct_b_b_r_e_e X)MetaCat Obj Hom_struct_b_b_r_e_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f)
Proof:
Proof not loaded.
Theorem. (MetaCat_struct_b_b_r_e_e_Forgetful_gen)
(∀X, Obj Xstruct_b_b_r_e_e X)MetaFunctor Obj Hom_struct_b_b_r_e_e (λX ⇒ lam_id (X 0)) (λX Y Z g f ⇒ lam_comp (X 0) g f) (λ_ ⇒ True) SetHom (λX ⇒ lam_id X) (λX Y Z f g ⇒ (lam_comp X f g)) (λX ⇒ X 0) (λX Y f ⇒ f)
Proof:
Proof not loaded.
End of Section MetaCatStruct