Definition. We define idT to be ∀X : set, ObjX → HomXX(idX) of type prop.
In Proofgold the corresponding term root is 5b5295... and object id is 6e71b7...
Definition. We define compT to be ∀X Y Z : set, ∀f g : set, ObjX → ObjY → ObjZ → HomXYf → HomYZg → HomXZ(compXYZgf) of type prop.
In Proofgold the corresponding term root is fd3b02... and object id is b651ec...
Definition. We define idL to be ∀X Y : set, ∀f : set, ObjX → ObjY → HomXYf → compXXYf(idX) = f of type prop.
In Proofgold the corresponding term root is 8bf949... and object id is 274215...
Definition. We define idR to be ∀X Y : set, ∀f : set, ObjX → ObjY → HomXYf → compXYY(idY)f = f of type prop.
In Proofgold the corresponding term root is e0f11c... and object id is 9fe6a5...
Definition. We define compAssoc to be ∀X Y Z W : set, ∀f g h : set, ObjX → ObjY → ObjZ → ObjW → HomXYf → HomYZg → HomZWh → compXYW(compYZWhg)f = compXZWh(compXYZgf) of type prop.
In Proofgold the corresponding term root is 6fdbfa... and object id is 67897c...
MetaCatObjHomidcomp → MetaCatObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)
In Proofgold the corresponding term root is e74d2a... and proposition id is 6f34fb...
Proof: Proof not loaded.
End of Section MetaCatOp
Beginning of Section LimsCoLims
Variable Obj : set → prop
Variable Hom : set → set → set → prop
Variable id : set → set
Variable comp : set → set → set → set → set → set
Definition. We define monic to be λX Y f ⇒ ObjX ∧ ObjY ∧ HomXYf ∧ ∀Z : set, ObjZ → ∀g h : set, HomZXg → HomZXh → compZXYfg = compZXYfh → g = h of type set → set → set → prop.
In Proofgold the corresponding term root is bb42af... and object id is 4204ac...
Definition. We define terminal_p to be λY h ⇒ ObjY ∧ ∀X : set, ObjX → HomXY(hX) ∧ ∀h' : set, HomXYh' → h' = hX of type set → (set → set) → prop.
In Proofgold the corresponding term root is fdae77... and object id is fc25a5...
Definition. We define initial_p to be λY h ⇒ ObjY ∧ ∀X : set, ObjX → HomYX(hX) ∧ ∀h' : set, HomYXh' → h' = hX of type set → (set → set) → prop.
In Proofgold the corresponding term root is a7ed72... and object id is f206b9...
Definition. We define product_p to be λX Y Z pi0 pi1 pair ⇒ ObjX ∧ ObjY ∧ ObjZ ∧ HomZXpi0 ∧ HomZYpi1 ∧ ∀W : set, ObjW → ∀h k : set, HomWXh → HomWYk → HomWZ(pairWhk) ∧ compWZXpi0(pairWhk) = h ∧ compWZYpi1(pairWhk) = k ∧ ∀u : set, HomWZu → compWZXpi0u = h → compWZYpi1u = k → u = pairWhk of type set → set → set → set → set → (set → set → set → set) → prop.
In Proofgold the corresponding term root is 493d09... and object id is c575e7...
Definition. We define product_constr_p to be λprod pi0 pi1 pair ⇒ ∀X Y : set, ObjX → ObjY → product_pXY(prodXY)(pi0XY)(pi1XY)(pairXY) of type (set → set → set) → (set → set → set) → (set → set → set) → (set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is 8627a9... and object id is a34635...
Definition. We define coproduct_p to be λX Y Z i0 i1 comb ⇒ ObjX ∧ ObjY ∧ ObjZ ∧ HomXZi0 ∧ HomYZi1 ∧ ∀W : set, ObjW → ∀h k : set, HomXWh → HomYWk → HomZW(combWhk) ∧ compXZW(combWhk)i0 = h ∧ compYZW(combWhk)i1 = k ∧ ∀hk : set, HomZWhk → compXZWhki0 = h → compYZWhki1 = k → hk = combWhk of type set → set → set → set → set → (set → set → set → set) → prop.
In Proofgold the corresponding term root is 1aca76... and object id is 545d6c...
Definition. We define coproduct_constr_p to be λcoprod i0 i1 copair ⇒ ∀X Y : set, ObjX → ObjY → coproduct_pXY(coprodXY)(i0XY)(i1XY)(copairXY) of type (set → set → set) → (set → set → set) → (set → set → set) → (set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is 9283ca... and object id is a3944e...
Definition. We define equalizer_p to be λX Y f g Q q fac ⇒ ObjX ∧ ObjY ∧ HomXYf ∧ HomXYg ∧ ObjQ ∧ HomQXq ∧ compQXYfq = compQXYgq ∧ ∀W : set, ObjW → ∀h : set, HomWXh → compWXYfh = compWXYgh → HomWQ(facWh) ∧ compWQXq(facWh) = h ∧ ∀u : set, HomWQu → compWQXqu = h → u = facWh of type set → set → set → set → set → set → (set → set → set) → prop.
In Proofgold the corresponding term root is e54193... and object id is 067f6a...
Definition. We define equalizer_constr_p to be λquot canonmap fac ⇒ ∀X Y : set, ObjX → ObjY → ∀f g : set, HomXYf → HomXYg → equalizer_pXYfg(quotXYfg)(canonmapXYfg)(facXYfg) of type (set → set → set → set → set) → (set → set → set → set → set) → (set → set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is 57caf1... and object id is 1c082c...
Definition. We define coequalizer_p to be λX Y f g Q q fac ⇒ ObjX ∧ ObjY ∧ HomXYf ∧ HomXYg ∧ ObjQ ∧ HomYQq ∧ compXYQqf = compXYQqg ∧ ∀W : set, ObjW → ∀h : set, HomYWh → compXYWhf = compXYWhg → HomQW(facWh) ∧ compYQW(facWh)q = h ∧ ∀u : set, HomQWu → compYQWuq = h → u = facWh of type set → set → set → set → set → set → (set → set → set) → prop.
In Proofgold the corresponding term root is 7f834d... and object id is dfe3bc...
Definition. We define coequalizer_constr_p to be λquot canonmap fac ⇒ ∀X Y : set, ObjX → ObjY → ∀f g : set, HomXYf → HomXYg → coequalizer_pXYfg(quotXYfg)(canonmapXYfg)(facXYfg) of type (set → set → set → set → set) → (set → set → set → set → set) → (set → set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is 1d8fdb... and object id is bfc97c...
Definition. We define pullback_p to be λX Y Z f g P pi0 pi1 pair ⇒ ObjX ∧ ObjY ∧ ObjZ ∧ HomXZf ∧ HomYZg ∧ ObjP ∧ HomPXpi0 ∧ HomPYpi1 ∧ compPXZfpi0 = compPYZgpi1 ∧ ∀W : set, ObjW → ∀h : set, HomWXh → ∀k : set, HomWYk → compWXZfh = compWYZgk → HomWP(pairWhk) ∧ compWPXpi0(pairWhk) = h ∧ compWPYpi1(pairWhk) = k ∧ ∀u : set, HomWPu → compWPXpi0u = h → compWPYpi1u = k → u = pairWhk of type set → set → set → set → set → set → set → set → (set → set → set → set) → prop.
In Proofgold the corresponding term root is aa77e5... and object id is 86c867...
Definition. We define pullback_constr_p to be λpb pi0 pi1 pair ⇒ ∀X Y Z : set, ObjX → ObjY → ObjZ → ∀f g : set, HomXZf → HomYZg → pullback_pXYZfg(pbXYZfg)(pi0XYZfg)(pi1XYZfg)(pairXYZfg) of type (set → set → set → set → set → set) → (set → set → set → set → set → set) → (set → set → set → set → set → set) → (set → set → set → set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is c0b415... and object id is 39fb29...
Definition. We define pushout_p to be λX Y Z f g P i0 i1 copair ⇒ ObjX ∧ ObjY ∧ ObjZ ∧ HomZXf ∧ HomZYg ∧ ObjP ∧ HomXPi0 ∧ HomYPi1 ∧ compZXPi0f = compZYPi1g ∧ ∀W : set, ObjW → ∀h : set, HomXWh → ∀k : set, HomYWk → compZXWhf = compZYWkg → HomPW(copairWhk) ∧ compXPW(copairWhk)i0 = h ∧ compYPW(copairWhk)i1 = k ∧ ∀u : set, HomPWu → compXPWui0 = h → compYPWui1 = k → u = copairWhk of type set → set → set → set → set → set → set → set → (set → set → set → set) → prop.
In Proofgold the corresponding term root is a2ad18... and object id is 062995...
Definition. We define pushout_constr_p to be λpo i0 i1 copair ⇒ ∀X Y Z : set, ObjX → ObjY → ObjZ → ∀f g : set, HomZXf → HomZYg → pushout_pXYZfg(poXYZfg)(i0XYZfg)(i1XYZfg)(copairXYZfg) of type (set → set → set → set → set → set) → (set → set → set → set → set → set) → (set → set → set → set → set → set) → (set → set → set → set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is 6b9515... and object id is 455559...
Definition. We define exponent_p to be λprod pi0 pi1 pair X Y Z a lm ⇒ ObjX ∧ ObjY ∧ ObjZ ∧ Hom(prodZX)Ya ∧ ∀W : set, ObjW → ∀f : set, Hom(prodWX)Yf → HomWZ(lmWf) ∧ comp(prodWX)(prodZX)Ya(pairZX(prodWX)(comp(prodWX)WZ(lmWf)(pi0WX))(pi1WX)) = f ∧ ∀g : set, HomWZg → comp(prodWX)(prodZX)Ya(pairZX(prodWX)(comp(prodWX)WZg(pi0WX))(pi1WX)) = f → g = lmWf of type (set → set → set) → (set → set → set) → (set → set → set) → (set → set → set → set → set → set) → set → set → set → set → (set → set → set) → prop.
In Proofgold the corresponding term root is 7f9d1d... and object id is 900ac5...
Definition. We define product_exponent_constr_p to be λprod pi0 pi1 pair exp a lm ⇒ product_constr_pprodpi0pi1pair ∧ ∀X Y : set, ObjX → ObjY → exponent_pprodpi0pi1pairXY(expXY)(aXY)(lmXY) of type (set → set → set) → (set → set → set) → (set → set → set) → (set → set → set → set → set → set) → (set → set → set) → (set → set → set) → (set → set → set → set → set) → prop.
In Proofgold the corresponding term root is b618df... and object id is fbdca4...
Definition. We define subobject_classifier_p to be λone uniqa Omega tru ch constr_p ⇒ terminal_poneuniqa ∧ ObjOmega ∧ HomoneOmegatru ∧ ∀X Y : set, ∀m : set, monicXYm → HomYOmega(chXYm) ∧ pullback_poneYOmegatru(chXYm)X(uniqaX)m(constr_pXYm) of type set → (set → set) → set → set → (set → set → set → set) → (set → set → set → set → set → set → set) → prop.
In Proofgold the corresponding term root is 23398d... and object id is b2f9d5...
Definition. We define nno_p to be λone uniqa N zer suc rec ⇒ terminal_poneuniqa ∧ ObjN ∧ HomoneNzer ∧ HomNNsuc ∧ ∀X : set, ∀x : set, ∀f : set, ObjX → HomoneXx → HomXXf → HomNX(recXxf) ∧ componeNX(recXxf)zer = x ∧ compNNX(recXxf)suc = compNXXf(recXxf) ∧ ∀u : set, HomNXu → componeNXuzer = x → compNNXusuc = compNXXfu → u = recXxf of type set → (set → set) → set → set → set → (set → set → set → set) → prop.
In Proofgold the corresponding term root is 037a74... and object id is b05ec9...
∀X Y Z : set, ∀pi0 pi1 : set, ∀pair : set → set → set → set, product_pObjHomidcompXYZpi0pi1pair → coproduct_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)XYZpi0pi1pair
In Proofgold the corresponding term root is 38cf5b... and proposition id is 9dd4bb...
∀prod : set → set → set, ∀pi0 pi1 : set → set → set, ∀pair : set → set → set → set → set → set, product_constr_pObjHomidcompprodpi0pi1pair → coproduct_constr_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)prodpi0pi1pair
In Proofgold the corresponding term root is 5f1c74... and proposition id is 31c777...
∀X Y Z : set, ∀i0 i1 : set, ∀copair : set → set → set → set, coproduct_pObjHomidcompXYZi0i1copair → product_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)XYZi0i1copair
In Proofgold the corresponding term root is 84a847... and proposition id is df89e7...
∀coprod : set → set → set, ∀i0 i1 : set → set → set, ∀copair : set → set → set → set → set → set, coproduct_constr_pObjHomidcompcoprodi0i1copair → product_constr_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)coprodi0i1copair
In Proofgold the corresponding term root is 3e498f... and proposition id is 2bad67...
∀X Y : set, ∀f g : set, ∀Q : set, ∀q : set, ∀fac : set → set → set, equalizer_pObjHomidcompXYfgQqfac → coequalizer_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)YXfgQqfac
In Proofgold the corresponding term root is 6fb40a... and proposition id is 434dd4...
∀quot : set → set → set → set → set, ∀canonmap : set → set → set → set → set, ∀fac : set → set → set → set → set → set → set, equalizer_constr_pObjHomidcompquotcanonmapfac → coequalizer_constr_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)(λX Y f g ⇒ quotYXfg)(λX Y f g ⇒ canonmapYXfg)(λX Y f g ⇒ facYXfg)
In Proofgold the corresponding term root is ebf9a6... and proposition id is 71f1f9...
∀X Y : set, ∀f g : set, ∀Q : set, ∀q : set, ∀fac : set → set → set, coequalizer_pObjHomidcompXYfgQqfac → equalizer_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)YXfgQqfac
In Proofgold the corresponding term root is 23000b... and proposition id is ed80d2...
∀quot : set → set → set → set → set, ∀canonmap : set → set → set → set → set, ∀fac : set → set → set → set → set → set → set, coequalizer_constr_pObjHomidcompquotcanonmapfac → equalizer_constr_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)(λX Y f g ⇒ quotYXfg)(λX Y f g ⇒ canonmapYXfg)(λX Y f g ⇒ facYXfg)
In Proofgold the corresponding term root is 20c134... and proposition id is 466a77...
∀X Y Z : set, ∀f g : set, ∀P : set, ∀pi0 pi1 : set, ∀pair : set → set → set → set, pullback_pObjHomidcompXYZfgPpi0pi1pair → pushout_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)XYZfgPpi0pi1pair
In Proofgold the corresponding term root is a1e515... and proposition id is 038557...
∀pb : set → set → set → set → set → set, ∀pi0 pi1 : set → set → set → set → set → set, ∀pair : set → set → set → set → set → set → set → set → set, pullback_constr_pObjHomidcomppbpi0pi1pair → pushout_constr_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)pbpi0pi1pair
In Proofgold the corresponding term root is c883c5... and proposition id is 9b6aee...
∀X Y Z : set, ∀f g : set, ∀P : set, ∀i0 i1 : set, ∀copair : set → set → set → set, pushout_pObjHomidcompXYZfgPi0i1copair → pullback_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)XYZfgPi0i1copair
In Proofgold the corresponding term root is ce8d4a... and proposition id is 4e78ad...
∀po : set → set → set → set → set → set, ∀i0 i1 : set → set → set → set → set → set, ∀copair : set → set → set → set → set → set → set → set → set, pushout_constr_pObjHomidcomppoi0i1copair → pullback_constr_pObj(λX Y ⇒ HomYX)id(λX Y Z f g ⇒ compZYXgf)poi0i1copair
In Proofgold the corresponding term root is 340ba6... and proposition id is d2ca56...
MetaCatObjHomidcomp → ∀quot : set → set → set → set → set, ∀canonmap : set → set → set → set → set, ∀fac : set → set → set → set → set → set → set, equalizer_constr_pObjHomidcompquotcanonmapfac → ∀prod : set → set → set, ∀pi0 : set → set → set, ∀pi1 : set → set → set, ∀pair : set → set → set → set → set → set, product_constr_pObjHomidcompprodpi0pi1pair → pullback_constr_pObjHomidcomp(λX Y Z f g ⇒ quot(prodXY)Z(comp(prodXY)XZf(pi0XY))(comp(prodXY)YZg(pi1XY)))(λX Y Z f g ⇒ comp(quot(prodXY)Z(comp(prodXY)XZf(pi0XY))(comp(prodXY)YZg(pi1XY)))(prodXY)X(pi0XY)(canonmap(prodXY)Z(comp(prodXY)XZf(pi0XY))(comp(prodXY)YZg(pi1XY))))(λX Y Z f g ⇒ comp(quot(prodXY)Z(comp(prodXY)XZf(pi0XY))(comp(prodXY)YZg(pi1XY)))(prodXY)Y(pi1XY)(canonmap(prodXY)Z(comp(prodXY)XZf(pi0XY))(comp(prodXY)YZg(pi1XY))))(λX Y Z f g W h k ⇒ fac(prodXY)Z(comp(prodXY)XZf(pi0XY))(comp(prodXY)YZg(pi1XY))W(pairXYWhk))
In Proofgold the corresponding term root is 1c512a... and proposition id is 1abd16...
MetaCatObjHomidcomp → (∃quot : set → set → set → set → set, ∃canonmap : set → set → set → set → set, ∃fac : set → set → set → set → set → set → set, equalizer_constr_pObjHomidcompquotcanonmapfac) → (∃prod : set → set → set, ∃pi0 : set → set → set, ∃pi1 : set → set → set, ∃pair : set → set → set → set → set → set, product_constr_pObjHomidcompprodpi0pi1pair) → ∃pb : set → set → set → set → set → set, ∃pi0 : set → set → set → set → set → set, ∃pi1 : set → set → set → set → set → set, ∃pair : set → set → set → set → set → set → set → set → set, pullback_constr_pObjHomidcomppbpi0pi1pair
In Proofgold the corresponding term root is 9a59ec... and proposition id is ed2b0e...
MetaCatObjHomidcomp → (∃quot : set → set → set → set → set, ∃canonmap : set → set → set → set → set, ∃fac : set → set → set → set → set → set → set, coequalizer_constr_pObjHomidcompquotcanonmapfac) → (∃coprod : set → set → set, ∃i0 : set → set → set, ∃i1 : set → set → set, ∃copair : set → set → set → set → set → set, coproduct_constr_pObjHomidcompcoprodi0i1copair) → ∃po : set → set → set → set → set → set, ∃i0 : set → set → set → set → set → set, ∃i1 : set → set → set → set → set → set, ∃copair : set → set → set → set → set → set → set → set → set, pushout_constr_pObjHomidcomppoi0i1copair
In Proofgold the corresponding term root is 70eb6d... and proposition id is b0aadc...
Proof: Proof not loaded.
End of Section LimsCoLims3
Definition. We define SetHom to be λX Y f ⇒ f∈YX of type set → set → set → prop.
In Proofgold the corresponding term root is de8fdf... and object id is af2f63...
∀Obj : set → prop, (∀X, ObjX → ∀Y, ObjY → Obj(setsumXY)) → ∃coprod : set → set → set, ∃i0 i1 : set → set → set, ∃copair : set → set → set → set → set → set, coproduct_constr_pObjSetHom(λX ⇒ (λx ∈ X ⇒ x))(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))coprodi0i1copair
In Proofgold the corresponding term root is 7e8001... and proposition id is 3c078b...
∃coprod : set → set → set, ∃i0 i1 : set → set → set, ∃copair : set → set → set → set → set → set, coproduct_constr_p(λ_ ⇒ True)SetHom(λX ⇒ λx ∈ X ⇒ x)(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))coprodi0i1copair
In Proofgold the corresponding term root is 2c4f22... and proposition id is c28eaa...
∀Obj : set → prop, (∀X, ObjX → ∀Y, ObjY → Obj(setprodXY)) → ∃prod : set → set → set, ∃pi0 pi1 : set → set → set, ∃pair : set → set → set → set → set → set, product_constr_pObjSetHom(λX ⇒ (λx ∈ X ⇒ x))(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))prodpi0pi1pair
In Proofgold the corresponding term root is 2d427e... and proposition id is 21e789...
∃prod : set → set → set, ∃pi0 pi1 : set → set → set, ∃pair : set → set → set → set → set → set, product_constr_p(λ_ ⇒ True)SetHom(λX ⇒ (λx ∈ X ⇒ x))(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))prodpi0pi1pair
In Proofgold the corresponding term root is 8c56c9... and proposition id is 14d110...
∃coprod : set → set → set, ∃i0 i1 : set → set → set, ∃copair : set → set → set → set → set → set, coproduct_constr_p(λX ⇒ X∈UnivOfEmpty)SetHom(λX ⇒ λx ∈ X ⇒ x)(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))coprodi0i1copair
In Proofgold the corresponding term root is df899b... and proposition id is 5604f1...
∃coprod : set → set → set, ∃i0 i1 : set → set → set, ∃copair : set → set → set → set → set → set, coproduct_constr_p(λX ⇒ X∈UnivOf(UnivOfEmpty))SetHom(λX ⇒ (λx ∈ X ⇒ x))(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))coprodi0i1copair
In Proofgold the corresponding term root is 15e47c... and proposition id is 002eee...
∃prod : set → set → set, ∃pi0 pi1 : set → set → set, ∃pair : set → set → set → set → set → set, product_constr_p(λX ⇒ X∈UnivOfEmpty)SetHom(λX ⇒ (λx ∈ X ⇒ x))(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))prodpi0pi1pair
In Proofgold the corresponding term root is 2bef5b... and proposition id is 8ae2a3...
∃prod : set → set → set, ∃pi0 pi1 : set → set → set, ∃pair : set → set → set → set → set → set, product_constr_p(λX ⇒ X∈UnivOf(UnivOfEmpty))SetHom(λX ⇒ (λx ∈ X ⇒ x))(λX Y Z f g ⇒ (λx ∈ X ⇒ f(gx)))prodpi0pi1pair
In Proofgold the corresponding term root is 2285d1... and proposition id is 4281ba...
Proof: Proof not loaded.
Beginning of Section MetaFunctor
Variable Obj : set → prop
Variable Hom : set → set → set → prop
Variable id : set → set
Variable comp : set → set → set → set → set → set
Variable Obj' : set → prop
Variable Hom' : set → set → set → prop
Variable id' : set → set
Variable comp' : set → set → set → set → set → set
Variable F0 : set → set
Variable F1 : set → set → set → set
Definition. We define MetaFunctor to be (∀X, ObjX → Obj'(F0X)) ∧ (∀X Y f, ObjX → ObjY → HomXYf → Hom'(F0X)(F0Y)(F1XYf)) ∧ (∀X, ObjX → F1XX(idX) = id'(F0X)) ∧ (∀X Y Z f g, ObjX → ObjY → ObjZ → HomXYf → HomYZg → F1XZ(compXYZgf) = comp'(F0X)(F0Y)(F0Z)(F1YZg)(F1XYf)) of type prop.
In Proofgold the corresponding term root is f35b67... and object id is c80743...
In Proofgold the corresponding term root is 7ad5e2... and proposition id is 1eb285...
Proof: Proof not loaded.
End of Section CompFunctors
Beginning of Section MetaNatTrans
Variable Obj : set → prop
Variable Hom : set → set → set → prop
Variable id : set → set
Variable comp : set → set → set → set → set → set
Variable Obj' : set → prop
Variable Hom' : set → set → set → prop
Variable id' : set → set
Variable comp' : set → set → set → set → set → set
Variable F0 : set → set
Variable F1 : set → set → set → set
Variable G0 : set → set
Variable G1 : set → set → set → set
Variable eta : set → set
Definition. We define MetaNatTrans to be (∀X, ObjX → Hom'(F0X)(G0X)(etaX)) ∧ (∀X Y f, ObjX → ObjY → HomXYf → comp'(F0X)(G0X)(G0Y)(G1XYf)(etaX) = comp'(F0X)(F0Y)(G0Y)(etaY)(F1XYf)) of type prop.
In Proofgold the corresponding term root is cf0ad1... and object id is 08be86...
MetaNatTransObj'Hom'id'comp'Obj''Hom''id''comp''F0F1G0G1eta → MetaFunctorObjHomidcompObj'Hom'id'comp'H0H1 → MetaNatTransObjHomidcompObj''Hom''id''comp''(λX ⇒ F0(H0X))(λX Y f ⇒ F1(H0X)(H0Y)(H1XYf))(λX ⇒ G0(H0X))(λX Y f ⇒ G1(H0X)(H0Y)(H1XYf))(λX ⇒ eta(H0X))
In Proofgold the corresponding term root is b7392d... and proposition id is b8a6b7...
Proof: Proof not loaded.
End of Section CompNatTransFunctor
Beginning of Section MetaMonad
Variable Obj : set → prop
Variable Hom : set → set → set → prop
Variable id : set → set
Variable comp : set → set → set → set → set → set
Variable T0 : set → set
Variable T1 : set → set → set → set
Variable eta : set → set
Variable mu : set → set
Definition. We define MetaMonad to be (∀X, ObjX → comp(T0(T0(T0X)))(T0(T0X))(T0X)(muX)(T1(T0(T0X))(T0X)(muX)) = comp(T0(T0(T0X)))(T0(T0X))(T0X)(muX)(mu(T0X))) ∧ (∀X, ObjX → comp(T0X)(T0(T0X))(T0X)(muX)(eta(T0X)) = id(T0X)) ∧ (∀X, ObjX → comp(T0X)(T0(T0X))(T0X)(muX)(T1X(T0X)(etaX)) = id(T0X)) of type prop.
In Proofgold the corresponding term root is bb95d4... and object id is 7c9f95...
In Proofgold the corresponding term root is 84fe03... and proposition id is 80e837...
Proof: Proof not loaded.
End of Section MetaMonad
Beginning of Section MetaAdjunction
Variable Obj : set → prop
Variable Hom : set → set → set → prop
Variable id : set → set
Variable comp : set → set → set → set → set → set
Variable Obj' : set → prop
Variable Hom' : set → set → set → prop
Variable id' : set → set
Variable comp' : set → set → set → set → set → set
Variable F0 : set → set
Variable F1 : set → set → set → set
Variable G0 : set → set
Variable G1 : set → set → set → set
Variable eta : set → set
Variable eps : set → set
Definition. We define MetaAdjunction to be (∀X, ObjX → comp'(F0X)(F0(G0(F0X)))(F0X)(eps(F0X))(F1X(G0(F0X))(etaX)) = id'(F0X)) ∧ (∀Y, Obj'Y → comp(G0Y)(G0(F0(G0Y)))(G0Y)(G1(F0(G0Y))Y(epsY))(eta(G0Y)) = id(G0Y)) of type prop.
In Proofgold the corresponding term root is e8b6c4... and object id is bda632...
Definition. We define MetaAdjunction_strict to be MetaFunctor_strictObjHomidcompObj'Hom'id'comp'F0F1 ∧ MetaFunctorObj'Hom'id'comp'ObjHomidcompG0G1 ∧ MetaNatTransObjHomidcompObjHomidcomp(λX ⇒ X)(λX Y f ⇒ f)(λX ⇒ G0(F0X))(λX Y f ⇒ G1(F0X)(F0Y)(F1XYf))eta ∧ MetaNatTransObj'Hom'id'comp'Obj'Hom'id'comp'(λY ⇒ F0(G0Y))(λX Y g ⇒ F1(G0X)(G0Y)(G1XYg))(λY ⇒ Y)(λX Y g ⇒ g)eps ∧ MetaAdjunction of type prop.
In Proofgold the corresponding term root is c8ed7d... and object id is 3ab943...
MetaFunctor_strictObjHomidcompObj'Hom'id'comp'F0F1 → MetaFunctorObj'Hom'id'comp'ObjHomidcompG0G1 → MetaNatTransObjHomidcompObjHomidcomp(λX ⇒ X)(λX Y f ⇒ f)(λX ⇒ G0(F0X))(λX Y f ⇒ G1(F0X)(F0Y)(F1XYf))eta → MetaNatTransObj'Hom'id'comp'Obj'Hom'id'comp'(λY ⇒ F0(G0Y))(λX Y g ⇒ F1(G0X)(G0Y)(G1XYg))(λY ⇒ Y)(λX Y g ⇒ g)eps → MetaAdjunction → MetaAdjunction_strict
In Proofgold the corresponding term root is 712520... and proposition id is d6aa5e...
MetaAdjunction_strict → ∀p : prop, (MetaFunctor_strictObjHomidcompObj'Hom'id'comp'F0F1 → MetaFunctorObj'Hom'id'comp'ObjHomidcompG0G1 → MetaNatTransObjHomidcompObjHomidcomp(λX ⇒ X)(λX Y f ⇒ f)(λX ⇒ G0(F0X))(λX Y f ⇒ G1(F0X)(F0Y)(F1XYf))eta → MetaNatTransObj'Hom'id'comp'Obj'Hom'id'comp'(λY ⇒ F0(G0Y))(λX Y g ⇒ F1(G0X)(G0Y)(G1XYg))(λY ⇒ Y)(λX Y g ⇒ g)eps → MetaAdjunction → p) → p
In Proofgold the corresponding term root is 9a5dd9... and proposition id is 296719...
MetaFunctorObjHomidcompObj'Hom'id'comp'F0F1 → MetaFunctorObj'Hom'id'comp'ObjHomidcompG0G1 → MetaNatTransObjHomidcompObjHomidcomp(λX ⇒ X)(λX Y f ⇒ f)(λX ⇒ G0(F0X))(λX Y f ⇒ G1(F0X)(F0Y)(F1XYf))eta → MetaNatTransObj'Hom'id'comp'Obj'Hom'id'comp'(λY ⇒ F0(G0Y))(λX Y g ⇒ F1(G0X)(G0Y)(G1XYg))(λY ⇒ Y)(λX Y g ⇒ g)eps → MetaAdjunction → MetaMonadObjHomidcomp(λX ⇒ G0(F0X))(λX Y f ⇒ G1(F0X)(F0Y)(F1XYf))eta(λX ⇒ G1(F0(G0(F0X)))(F0X)(eps(F0X)))
In Proofgold the corresponding term root is 19ca69... and proposition id is db40a9...
(∀X Y f, ObjX → ObjY → HomXYf → f∈UYUX) → MetaFunctorObjHom(λX ⇒ lam_id(UX))(λX Y Z f g ⇒ (lam_comp(UX)fg))(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))U(λX Y f ⇒ f)
In Proofgold the corresponding term root is cb7abf... and proposition id is b606c5...
∀Obj : set → prop, ∀U : set → set, ∀Hom : set → set → set → prop, (∀X Y f, ObjX → ObjY → HomXYf → f∈UYUX) → (∀X, ObjX → HomXX(lam_id(UX))) → (∀X Y Z f g, ObjX → ObjY → ObjZ → HomXYf → HomYZg → HomXZ(lam_comp(UX)gf)) → MetaFunctor_strictObjHom(λX ⇒ lam_id(UX))(λX Y Z f g ⇒ (lam_comp(UX)fg))(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))U(λX Y f ⇒ f)
In Proofgold the corresponding term root is b158c7... and proposition id is ec1a3b...
Proof: Proof not loaded.
Definition. We define Hom_struct_e to be λX Y f ⇒ unpack_e_oX(λX' eX ⇒ unpack_e_oY(λY' eY ⇒ f∈Y'X' ∧ feX = eY)) of type set → set → set → prop.
In Proofgold the corresponding term root is d6f688... and object id is 0f5046...
Definition. We define Hom_struct_u to be λX Y f ⇒ unpack_u_oX(λX' uX ⇒ unpack_u_oY(λY' uY ⇒ f∈Y'X' ∧ ∀x ∈ X', f(uXx) = uY(fx))) of type set → set → set → prop.
In Proofgold the corresponding term root is 957911... and object id is 44b620...
Definition. We define Hom_struct_b to be λX Y f ⇒ unpack_b_oX(λX' opX ⇒ unpack_b_oY(λY' opY ⇒ f∈Y'X' ∧ ∀x y ∈ X', f(opXxy) = opY(fx)(fy))) of type set → set → set → prop.
In Proofgold the corresponding term root is e81578... and object id is 9b88c8...
Definition. We define Hom_struct_p to be λX Y f ⇒ unpack_p_oX(λX' pX ⇒ unpack_p_oY(λY' pY ⇒ f∈Y'X' ∧ ∀x ∈ X', pXx → pY(fx))) of type set → set → set → prop.
In Proofgold the corresponding term root is 5d0201... and object id is 8f474b...
Definition. We define Hom_struct_r to be λX Y f ⇒ unpack_r_oX(λX' rX ⇒ unpack_r_oY(λY' rY ⇒ f∈Y'X' ∧ ∀x y ∈ X', rXxy → rY(fx)(fy))) of type set → set → set → prop.
In Proofgold the corresponding term root is acf0f0... and object id is 3f6068...
Definition. We define Hom_struct_c to be λX Y f ⇒ unpack_c_oX(λX' CX ⇒ unpack_c_oY(λY' CY ⇒ f∈Y'X' ∧ ∀U : set → prop, (∀y, Uy → y∈Y') → CYU → CX(λx ⇒ x∈X' ∧ U(fx)))) of type set → set → set → prop.
In Proofgold the corresponding term root is 9dfc2a... and object id is 4ebd3f...
Definition. We define Hom_struct_b_b_e to be λX Y f ⇒ unpack_b_b_e_oX(λX' opX op2X eX ⇒ unpack_b_b_e_oY(λY' opY op2Y eY ⇒ f∈Y'X' ∧ (∀x y ∈ X', f(opXxy) = opY(fx)(fy)) ∧ (∀x y ∈ X', f(op2Xxy) = op2Y(fx)(fy)) ∧ feX = eY)) of type set → set → set → prop.
In Proofgold the corresponding term root is 070862... and object id is 26f87b...
Definition. We define Hom_struct_b_b_e_e to be λX Y f ⇒ unpack_b_b_e_e_oX(λX' opX op2X eX e2X ⇒ unpack_b_b_e_e_oY(λY' opY op2Y eY e2Y ⇒ f∈Y'X' ∧ (∀x y ∈ X', f(opXxy) = opY(fx)(fy)) ∧ (∀x y ∈ X', f(op2Xxy) = op2Y(fx)(fy)) ∧ feX = eY ∧ fe2X = e2Y)) of type set → set → set → prop.
In Proofgold the corresponding term root is a11d43... and object id is a8f5c0...
Definition. We define Hom_struct_b_b_r_e_e to be λX Y f ⇒ unpack_b_b_r_e_e_oX(λX' opX op2X rX eX e2X ⇒ unpack_b_b_r_e_e_oY(λY' opY op2Y rY eY e2Y ⇒ f∈Y'X' ∧ (∀x y ∈ X', f(opXxy) = opY(fx)(fy)) ∧ (∀x y ∈ X', f(op2Xxy) = op2Y(fx)(fy)) ∧ (∀x y ∈ X', rXxy → rY(fx)(fy)) ∧ feX = eY ∧ fe2X = e2Y)) of type set → set → set → prop.
In Proofgold the corresponding term root is d75651... and object id is a6f30d...
(∀X, ObjX → struct_eX) → MetaFunctorObjHom_struct_e(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is 7938f4... and proposition id is 0f4ef6...
(∀X, ObjX → struct_pX) → MetaFunctorObjHom_struct_p(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is 59e3f3... and proposition id is 57ba03...
(∀X, ObjX → struct_rX) → MetaFunctorObjHom_struct_r(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is 8faf0f... and proposition id is 45945b...
(∀X, ObjX → struct_uX) → MetaFunctorObjHom_struct_u(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is 6809a8... and proposition id is 6eadb3...
(∀X, ObjX → struct_bX) → MetaFunctorObjHom_struct_b(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is 5ef6db... and proposition id is 79957c...
(∀X, ObjX → struct_cX) → MetaFunctorObjHom_struct_c(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is c43bbf... and proposition id is 58a40d...
(∀X, ObjX → struct_b_b_eX) → MetaFunctorObjHom_struct_b_b_e(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is f8aa78... and proposition id is 9c6b91...
(∀X, ObjX → struct_b_b_e_eX) → MetaFunctorObjHom_struct_b_b_e_e(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is 45b449... and proposition id is 72690d...
(∀X, ObjX → struct_b_b_r_e_eX) → MetaFunctorObjHom_struct_b_b_r_e_e(λX ⇒ lam_id(X0))(λX Y Z g f ⇒ lam_comp(X0)gf)(λ_ ⇒ True)SetHom(λX ⇒ lam_idX)(λX Y Z f g ⇒ (lam_compXfg))(λX ⇒ X0)(λX Y f ⇒ f)
In Proofgold the corresponding term root is de2d15... and proposition id is 49006a...