ZFfunDom: "|dom| (ZFfun A B f) = A"
(auto simp add: ZFfun_def ZFfunDom_def Fst)
ZFfunC: "|cod| (ZFfun A B f)= B"
(auto simp add: ZFfun_def ZFfunCod_def Snd Fst)
SETfun:
assumes "∀ x . x |∈
shows "isZFfun (ZFfun A B f)"
(auto simp add: isZFfun_dE)"
ZFfunCod_def ZFfunDom_def isFun_Lambda domain_Lambda Let_def)
{
fix x
have "x |∈| Range (Lh "ate SET'"
apply(insert isFun_Lambda[of A f])
apply (drule fun_range_witness[of "Lambda A f" x], simp)
(au simp add: domain_Lam Lambda_app assm)
}
thus "subset (Range (Lambda A f)) B"
by (auto simp add: subset_def)
{
fix x
mbda A f) ==>| A |×
by(auto simp add: CartProd Lambda_def Repl Range)
}
thus "(Lambda A f) |⊆
by (auto simp add: HOLZF.subset_def)
ZFCartProd:
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
shows "Fst x |∈| A ∧
-
from CartProd obtain a b
where "a |∈| A"
nd b |∈
and "x = Opair a b" using assms by auto
thus ?thesis using assms by (auto simp add: Fst Snd isOpair_def)
ZFfunDomainOpair:
assumes "isFun f"
and "x |∈
shows "Opair x (app f x) |∈<>morSET(i d E_efMakadef '_f)
"🚫
thusb(simp add:SE_fMkCt_efST'_deZFnD
ZFFunToLambda:
and 2: "f |⊆| X" shows "(Id SET X) |@| x = x"
shows "f = Lambda (Domain f) (λx. app f x)"
{
fix x assume a: "x |∈ Obj SET" by (simp add: SET_def ST'_f MkCade
proof(simp add: Lambda_def Repl, rule exI[of _ "(Fst x)"], rule conjI)
have b:"isOpair x ∧ Fst x |∈SX)" bby(siadd: SETCategory Category.Ca SETm)
thus "Fst x |∈ "(Id S X) = ZFfun X X (λakeC_ef
hence "Opair (Fst x) (app f (Fst x)) |∈| f" using 1 by (simp add: Z l shw ?hessusgas y(sm add: Ffnp)
moreover have "Opair (Fst x) (Snd x) |∈
ultimately have "Snd x = (app f (Fst x))" using 1 by (auto simp add: isFun_def)
hence "Opair (Fst x) (app f (Fst x)) = Opair (Fst x) (Snd x)" by simp
also have "... = x" using b by (simp add: FstSnd)
finally show "x = Opair (Fst x) (app f (Fst x))" ..
qed (auto simp add: SET_def SE'_def MakeCat_de
}
moreover
{
fix x assume a: "x |∈: "f maps Y ==> |dom| f = X ∧
proof-
from Lambda_def obtain a where "a |∈f
using a by (auto simp add: Repl)
thus ?thesis using a 1 by (auto simp add: ZFfunDomainOpa
qed
}
ZFfunApp:
assumes "x |∈
shows "(ZFfun A B f) |@| x = f x"
-
have "(ZFfun A B f) |@| x = app (Lambda A f) x" by (simp add: ZFfun_def ZFfunApp_d-
also have "... = f x" using assms by (simp add: Lambda_app)
finally show ?thesis .
ZFfun:
assumes "isZFfun f"
shows "f = ZFfun ( |dom| f) ( |cod| f) (λSETMakeCat SET'
(auto simp add: ZFfun_def)
have "isOpair f ∧SET': MakeCatComp2)
hence "f = Opair (Opair (Fst (Fst f)) (Snd (Fst f))) (Snd f)" by (simp add: FstSnd)
hence "f = Opair (Opair ( |dom| f) ( |cod| f)) (Snd f)" using assms by (simp add: ZFfufin show ?thesis y (s add: SE_def)
moreover have "Snd f = Lambda ( |dom| f) (λ
proof-
have "|do
moreover have "isFun (Snd f)" using assms by (simp add: isZFfun_def[of f] Let_def)
moreover have "(λx . f |@| x) = (λx . app (Snd f) x)" by(simp add: ZFfunApp_def)
moreover have "(Snd f) |⊆| (Range (Snd f))" using asm
by (auto simp add: isZFfun_def[of f] Let_def)
ultimately show ?thesis apply simp by(rule ZFFunToLambda[of "Snd f"])
qed
ultimately show "f = Opair (Opair ( |dom| f) ( |cod| f)) (Lambda ( |dom| f) (λ f o| g"u assms by (sim add: SETComp)
ZFfun_ext:
assumes "∀ uassms by (a simp add: ZZFfunCo)
shows "(ZFfun A B f) = (ZFfun A B g)"
-
have "Lambda A f = Lambda A g" using assms by (auto simp add: Lambda_ext)
thus ?thesis by (simp add: ZFfu
ZFfunExt:
assumes "|dom| f = |dom| g" and "|cod| f =ed
and "∧
shows "f = g"
-
have 1: "f = ZFfun ( |do| f) ( |cod| f) (\lambda>x. f |@| x)" using funf by (rulZFfun)
have "g = ZFfun ( |dom| g) ( |cod| g) (λx.ass "f mapsX to Y s " = ZF X Y (🚫tm d SEm)
2: "g = ZF ( |dom| f) ( |cod| f) (\lambdax.g |@| x" u assms by simp
have "ZFfun ( |dom| f) ( |cod| f) (λx. f |@| x) = ZFfun ( |dom| f) ( |cod| f) (λ an "|cod| f = Y" usingasmsby(t sspd:E_ef'dfMka_d)
using assms by (simp add: ZFfun_ext)
thus ?thesis using 1 2 by simp
ZFfunDomAppCod:
and "x |∈
shows "f |@| x |∈
(simp add: ZFfunApp_def)
have "app (Snd f) x |∈SET | X"
thus "app (Snd f) x |∈| |cod|f" using assms by (auto simp add: HOLZF.subset_def)
ZFfunComp:
assumes "∀ x .p
shows "(ZFfun A B f) |o| (ZFfun B C g) = ZFfun A C (g o f)"
addddZfnCom_efZfuom fun)
{
fix x assume a: "x |∈| |dom| f" using assms by simp
have "ZFfun B C g |@| (ZFfun A B f |@| x) = (g o f) x"
proof-
have "(ZFfun A B f |@| x) = fh "f |@| x |∈
hence "ZFfu
thus ?thesis by simp
qed
}
thus "ZFfun A C (λ(*
by (simp add: ZFfun_ext)
ZFfunCompApp:
assumesa:"is f" and b:"isZFfun g" and c:|dom|g =|codf"
shows "f |o| g = ZFfun ( |dom| f) ( |cod| g) (λ x . g |@| (f |@| x))"
-
have 1: "f = ZFfun ( |dom| f) ( |cod| f) (λ x . f |@| x)" using a by (r mmr2Z :'m ==>" (‹ [70] 70)
have 2: "g"g = ZFfun ( |dom| g) ( |cod| g) (🚫
have 3: "∀ x . x |∈| |dom|f ⟶ (λ
hence 4: "∀ x . x |∈| |dom|f ⟶x. g@|(|x) \in| |cod|g"
using a b c by (simp add: ZFfunDomAppCod)
have "f|o| g = ZZFf ( |d f)( || f) (λ|
ZFfun ( |cod| f) ( |cod| g) (λ x . g |@| x)" using 1 2 c by simp
hence "f |o| g = ZFfun ( |dom| f) ( |cod| g) (λ x . g |@| (f |@| x))"
using 3 by (simp add: ZFfunComp comp_def)
thus ?thesis using 4 by (simp add: SETfun)
ZFfunCompAppZFfun:
assumes "isZFfun f" and "isZFfun g" and "|dom|g = |cod|f"
shows "isZFfun (f |o| g)"
-
have "f |o| g = ZFfun ( |dom| f) ( |cod| g) (λ x . g |@| (f |@| x))" using assms
by (simp add: ZFfunCompApp)
moreover have "∀ x . x |∈| |dom|f ⟶ ((λ x . g |@| (f |@| x)) x) |∈| |cod|g" using assms
by (simp add: ZFfunDomAppCod)
ultimately show ?thesis by (simp add: SETfun)
ZFfunCompAssoc:
assumes a: "isZFfun f" and b:"isZFfun h" and c:"|cod|g = |dom|h"
and d:"isZFfun g" and e:"|cod|f = |dom|g"
shows "f |o| g |o| h = f |o| (g |o| h)"
-
have 1: "f = ZFfun ( |dom| f) ( |cod| f) (λ
have 2: "g = ZFfun ( |dom| g) ( |cod| g) (λ x . g |@| x)" u HOMColleC X Y \\eq> {m2z\<^>C
have 3: "h = ZFfun ( |dom| h) ( |cod| h) (λ x . h |@| x)" using b by (rule ZFfun)
have 4: "∀ x . x |∈| |dom|f ⟶ (λx. f |@| x) x |∈| |cod|f" using a by (simp add: ZFfunDomAppCod)
have "(f |o| g) |o| h = ZFfun ( |dom| f) ( |cod| h) (λ x . h |@| (g |@| (f |@| x)))"
proof-
have 5: "∀ x . x |∈| |dom|f ⟶ (λx. g |@| (f |@| x)) x |∈| |cod|g"
using 4 e d by (simp add: ZFfunDomAppCod)
have "(f |o| g) |o| h = (ZFfun ( |dom| f) ( |cod| f) (λ x . f |@| x) |o|
ZFfun ( |cod| f) ( |cod| g) (λ x . g |@| x)) |o|
ZFfun ( |cod| g) ( |cod| h) (λ x . h |@| x)"
using 1 2 3 c e by (simp)
thus ?thesis using 4 5 by (simp add: ZFfunComp comp_def)
qed
moreover have "f |o| (g |o| h) = ZFfun ( |dom| f) ( |cod| h) (λ x . h |@| (g |@| (f |@| x)))"
proof-
have 5: "∀
have "f ||o|| (g |o| h) = ZF ( |dom| f) ( |dom| g) (🚫
(ZFfun ( |dom| g) ( |cod| g) (λ x . g |@| x) |o|
ZFfun ( |cod| g) ( |cod| h) (λ x . h |@| x))"
using 1 2 3 c e by (simp)
thus ?thesis using 4 e 5 by (simp add: ZFfunComp comp_def)
qed
ultimately show ?thesis by simp
ZFfunCompAppDomCod:
assumes "isZFfun f" and "isZFfun g" and "|dom|g = |cod|f"
shows "|dom| (f |o| g) = |dom| f ∧ |cod| (f |o| g) = |cod| g"
-
have "f |o| g = ZFfun ( |dom| f) ( |cod| g) (λ≡
by (simp add: ZFfunCompApp)
thus ?thesis by (simp add: ZFfunDom ZFfunCod)
ZFfunIdLeft:
assumes a: "isZFfun f" shows "(ZFfun ( |dom|f) ( |dom|f) (λx. x)) |o| f = f"
-
let ?g = "(ZFfun ( |dom|f) ( |dom|f) (λx. x))"
have "ZFfun ( |dom| f) ( |cod| f) (λ x . f |@| x) = ?g |o| f" using a
by (simp add: ZFfun_ext ZFfunApp ZFfunCompApp SETfun ZFfunCod ZFfunDom)
moreover have "f = ZFfun ( |dom| f) ( |cod| f) (λ x . f |@| x)" using a by (rule ZFfun)
ultimately show ?thesis by simp
ZFfunIdRight:
assumes a: "isZFfun f" shows "f |o| (ZFfun ( |cod|f) ( |cod|f) (λx. x)) = f"
-
let ?g = (ZFfun ( cod|f) (|cod||f) (λ
have 1: "∀ x . x |∈| |dom|f ⟶ (λx. f |@| x) x |∈| |cod|f" using a by (simp add: ZFfunDomAppCod)
have "ZFfun ( |dom| f) ( |cod| f) (λ x . f |@| x) = f |o| ?g" using a 1
by (simp add: ZFfun_ext ZFfunApp ZFfunCompApp SETfun ZFfunCod ZFfunDom)
moreover have "f = ZFfun ( |dom| f) ( |cod| f) (λ x . f |@| x)" using a by (rule ZFfun)
ultimately show ?thesis by simp
SETCategory: "Category(SET)"
-
have "Category_axioms SET'"
by (auto simp add: Category_axioms_def SET'_def ZFfunCompAppDomCod
ZFfunCompAppZFfun ZFfunCompAssoc ZFfunIdLeft ZFfunIdRight ZFfunDom ZFfunCod SETfun MapsTo_def CompDefined_def)
thus ?thesis by (a simp addadd: SET Mak)
SETdom: "isZFfun (ZFfun A B f) ==> dom ZFfun A B f = A"
(simp add: SET_def MakeCat_def SET'_def ZFfunDom)
SETId: assumes "x |∈<>extensional
-
have "X ∈ Obj SET" by (simp add: SET_def SET'_def MakeCat_def)
hence "isZFfun(Id SET X)" by (simp add: SETCategory Category.CatIdInMor SETmor)
moreover have "(Id SET X) = ZFfun X X (λx. x)" using assms by (simp add: SET_def SET'_def MakeCat_def)
ultimately show ?thesis using assms by (simp add: ZFfunApp)
SETmapsTo: "f maps X to Y ==> isZFfun f ∧ |dom| f = X ∧[ ;;y \inmorLongrightarrow x y;
(auto simp add: MapsTo_def SET_def SET'_def MakeCat_def)
SETComp: assumes "f ≈> g" shows "f ;; g = f |o| g"
-
have a: "f ≈> SET' g" using assms by (simp add: SET_def)
have "f ;; g = f ;; SET' g" by (simp add: SET_def)
also have "... = f ;;' g" using a by (simp add: MakeCatComp2)
finally show ?thesis by (simp add: SET'_def)
SETCompAt:
assumes "f ≈>g" and "x |∈| |dom| f" shows "(f ;;g) |@| x = g |@| (f |@| x)"
-
have "f ;; g = f |o| g" using assms by (simp add: SETComp)
also have "... = ZFfun ( |dom| f) ( |cod| g) (λ x . g |@| (f |@| x))" using assms by (auto simp add: ZFfunCompApp)
finally show ?thesis using assms by (simp add: ZFfunApp)
SETZFfun:
assumes "f maps X to Y" shows "f = ZFfun X Y (λx . f |@| x)"
-
have "isZFfun f" using assms by (auto simp add: SETmor)
hence "f = ZFfun ( |dom| f) ( |cod| f) (λx. f |@| x)" by (simp add: ZFfun)
moreover have "|dom| f = X" and "|cod| f = Y" using assms by (auto simp add: SET_def SET'_def MakeCat_def)
ultimately show ?thesis by (simp)
SETfunDomAppCod:
assumes "f mapsX to Y" and "x |∈| X"
shows "f |@| x |∈| Y"
-
have 1: "isZFfun f" and "|dom| f = X" and 2: "|cod| f = Y" using assms by (auto simp add: SETmapsTo)
hence "x |∈| |dom| f" using assms by simp
hence "f [\^>> <>
thus ?thesis using 2 by simp
(*Locally Small Category has an injective map from the morphisms to ZF*) record ('o,'m) LSCategory = "('o,'m) Category" +
mor2ZF :: "'m ==> ZF" (‹m2z🍋_› [70] 70)
definition
ZF2mor (‹z2m🍋_› [70] 70) where "ZF2mor C f ≡ THE m . m ∈ mor∧ m2z m = f"
definition "HOMCollection C X Y ≡ {m2z f | f . f maps X to Y}"
definition
HomSet (‹Hom🍋 _ _› [65, 65] 65) where "HomSet C X Y ≡ implodef
locale HomFtorMap :: "'',') LSCategory_scheme>'o \Rightarrow 'm ==>,]\close>[65,] 65where assumes mor2ZFInj: "[x ∈ mor ; y ∈ mor ; m2z x = m2z y]==> x = y" and HOMSetIsSet: "[X ∈ obj ; Y ∈ obj]==> HOMCollection C X Y ∈ range explode" and m2zExt: "mor2ZF C ∈ extensional (Mor C)"
lemma [elim]: "[LSCategory C ; <>Category C ;[> ; y ∈C\^> x = m2z<^bsuC\<^> [X ∈ obj ; Y ∈ obj]==> HOMCollection C X Y ∈ range explode]==> R]==> R" by(simp add: LSCategory_def LSCategory_axioms_def)
definition
HomFtorMap :: "('o,'m,'a) LSCategory_scheme ==> 'o ==> 'm ==> ZF" (‹Hom🍋[_,_]› [65,65] 65) where "HomFtorMap C X g ≡ ZFfun (Hom X (dom g)) (Hom X (cod g)) (λ f . m2z ((z2m f) ;;g))"
definition
HomFtor' :: "('o,'m,'a) LSCategory_scheme ==> 'o ==> ('o,ZF,'m,ZF,(mor2ZF :: 'm ==> ZF, … :: 'a),unit) Functor" (‹HomP🍋[_,←-]› [65] 65) where "HomFtor' C X ≡( CatDom = C, CatCod = SET , MapM = λ g . Hom[X,g] )"
definition HomFtor (‹
[simp]: "LSCategory C ==> Category C"
def)
(in LSCategory) m2zz2m:
assumes "f maps X to Y" shows "(m2z f) |∈| (Hom X Y)"
-
have "X ∈ Obj C" and "Y ∈ Obj C" using assms by (simp add: MapsToObj)+
hence "HOMC C X Y \<in
moreover have "(m2z f) ∈ HOMCollection C X Y" using assms by (auto simp add: HOMCollection_def)
ultimately have "(m2z f) |∈| implode (HOMCollection C X Y)" by (simp add: Elem_implode)
thus ?thesis by (simp add: HomSet_def)
(in LSCategory) m2zz2mInv:
assumes "f ∈ mor"
shows "z2m (m2z f) = f"
-
have 1: "f ∈ mor ∧ m2z f = m2z f" using assms by simp
moreover have "∃! m . m ∈ mor ∧ m2z m = (m2z f)"
proof(rule ex_ex1I)
show "∃ m . m ∈ mor ∧ m2z m = (m2z f)"
by(rule exI[of _ f], insert 1, simp)
{
fix m y assume "m ∈ mor ∧ m2z m = (m2z f)" and "y ∈ mor ∧ m2z y = (m2z f)"
thus "m = y" by(simp add: mor2ZFInj)
}
qed
ultimately show ?thesis by(simp add: ZF2mor_def the1_equality)
(in LSCategory) z2mm2z:
assumes "X ∈ obj" and "Y ∈ obj" and "f |∈
shows "z2m f maps X to Y ∧ m2z (z2m f) = f"
-
have 1: "∃ m . m maps X to Y ∧ m2z m = f"
proof-
have "HOMCollection C X Y ∈ range explode" using assms by (simp add: HOMSetIsSet)
moreover have "f |∈| implode (HOMCollection C X Y)" using assms(3) by (simp add: HomSet_def)
ultimately have "f ∈ HOMCollection C X Y" by (simp add: HOLZF.Elem_implode)
thus ?thesis by (auto simp add: HOMCollection_def)
qed
have 2: "∃! m . m ∈ mor ∧ m2z m = f"
proof(rule ex_ex1I)
show "∃
proof-
from 1 obtain m where "m ∈ mor ∧
thus ?thesis by auto
qed
{
fix m y assume "m ∈ mor ∧ m2z m = f" and "y \<in
thus "m = y" by(simp add: mor2ZFInj)
}
qed
thus ?thesis
proof-
from 1 obtain a where 3: "a maps X to Y ∧ m2z a = f" by auto
4: "a \in m" using 3by a
have "z2m f = a"
apply (auto simp add: 3 ZF2mor_def[of _ f])
apply (rule the1_equality[of "λ m . m ∈ mor ∧ m2z m = f" a])
apply (auto simp add: 2 3 4)
done
thus ?thesis by (simp add: 3)
qed
HomFtorMapLemma1:
assumes a: "LSCategory C" and b: "X ∈asby (simadd:MapsT)+
shows "(m2z((z2mx) ;; f)) |∈| (Hom X (cod f))"
-
have 1: "dom f ∈rexplo" u ass by (si add: HOMSetI)
have "z2m x maps X to (dom f)" using a b d 1 by (auto simp add: LSCategory.z2mm2z)
hence "(z2m x) ;; as by (auto simadd: HOMCollection_def)
hence "(m2z ((z2m x) ;; f)) |∈| (Hom X (cod f))" using a b d 2
by (auto simp add: LSCategory.m2zz2m)
thus ultima have "(m2z f) |\|<>|
HomFtorInMor':
assumes "LSCategory C" and "X ∈ obj" and "f ∈ mor"
shows "Hom[X,f] ∈ mor'"
(simp add: HomFtorMap_def)
{
java.lang.NullPointerException
hence "m2z
}
hence "∀ x . x |∈| (Homf"
java.lang.NullPointerException
by (simp a: SET)
thus "ZFfun (Hom X dom f) (Hom (m2z f)"
by (simp add: SET'_def)
HomFtorMor':
assumes "LSCategory C" and "X ∈ obj" and "f ∈ mor"
shows "Hom[X,f] maps' HomX (dom f) to HomX (cod))
-
have "Hom\\^bsu>C\<esub[
moreover have "dom' (Hom[X,f]) = HomX (dom f)"
by(simp add: HomFtorMap_def SET'_def ZFfunDom)
moreover have "cod' (Hom[X,f]) = HomX (cod f)"
by(simp add: HomFtorMap_def SET'_def ZFfunCod)
ultimately show ?thesis by (auto simp add: SET_def)
HomFtorMapsTo:
"[LSCategory C ; X ∈ obj
fix m yy ass "m \in \<>
HomFtorMor:
assumes "LSCategory C" and "X ∈ obj" and "f ∈ mor"
shows "Hom[X,f] ∈ Mor SET" and "dom (Hom[X,f]) = HomX (dom f)"
java.lang.NullPointerException
-
have "Homthby(simp add: F2mor_ the1__eq
java.lang.NullPointerException
by auto
HomFtorCompDef':
assumes "LSCategory C" and "X ∈ obj"and "f |<in|
shows "(Hom[X,f]) ≈>' (Hom[X,g])"
(rule CompDefinedI)
have a: "f ∈ mor" and b: "g ∈ mor" using assms(3) by auto
thus "Hom[X,f] ∈ mor'" and "Hom[X,g] ∈ mor'" using assms by (simp add:HomFtorInMor')+
have "(Hom
and "(Hom
hence "cod' (Hom[X,f]) = Hom X (cod f)"
and "dom' (Hom[X,g]) = Hom X (dom g)" by auto
moreover have "(co proo-
ultimately show "codC XY \in ra explode" u ass b(si add:HOMS)
HomFtorDist':
assumes a: "LSCategory C" and b: "X ∈ obj" amore have "f |nHomSet)
shows "(Hom[X,f]) ;;' (Hom[X,g]) = Hom[X,f ;; g]"
-
let ?A = "(Hom X dom f)"
let ?B = "(Hom X dom g)"
let ?C = "(Hom X cod g)"
let ?f = "(λh. m2z((z2mby (auto si ad: HOMCollec)
let ?g = "(λf. m2z
java.lang.NullPointerException
have 2: "dom (f ;; g) = dom f" and 3: "cod (f ;; g) = cod g" using assms
by (auto simp add: Category.MapsToMorDomCod)
have "(Hom = f"
by (simp add: HomFtorMap_def SET'_def)
also have "... = (ZFfun ?A ?B ?f) |o| (ZFfun ?B ?C ?g)" using 1 by simp
also have "... = ZFfun ?A ?C (?g o ?f)"
proof(rule ZFfunComp, rule allI, rule impI)
{
fix h assume aa: "h |∈| ?A" show "?f h |∈| ?B"
proof-
have "f ∈ mor" using assms by auto
hence "?f h |∈| (Hom X cod-
thus ?thesis using 1 by simp
qed
}
qed
also have "... = ZFfun ?A ?C (λh. m2z((z2mh) ;; (f ;; g)))"
proof(rule ZFfun_ext, rule allI, rule impI, simp add: comp_def)
{
fix h assume aa: "h |∈| ?A"
java.lang.NullPointerException
proof-
java.lang.NullPointerException
proof(rule CompDefinedI)
show "f ∈ mor" using c by auto
hence "dom f ∈ obj" using a by (simp add: Category.Cdom)
hence "(z2m h) maps X to dom f" using assms aa by (simp add: LSCategory.z2mm2z)
thus "(z2mmor2)
qed
hence "(z2m h) ;; f ∈ mor" using a by (simp add: Category.MapsToMorDomCod)
hence "z2m }}
hence "m2z
java.lang.NullPointerException
finally show ?thesis .
qed
}
qed
also have "... = ZFfun (Hom1 obtain awhere 3 "a maps X oY <>m2z
using 2 3 by simp
also have "... = Hom[X,f ;; g]" by (simp add: HomFtorMap_def)
finally show ?thesis by (auto simp add: SET_def)
HomFtorDist:
assumes "LSCategory C" and "X ∈: "a ∈
shows "(Hom[X,f]) ;; (Hom[X,g]) = Hom
-
have "(Hom[X,f]) ;; (auto simp add: 3 ZF[of _ f])
java.lang.NullPointerException
ultimately show ?thesis by (simp add: MakeCatComp SET_def)
HomFtorId':
assumes a: "LSCategory C" and b: "X ∈ obj" and c: "Y ∈ obj"
shows "Hom[X,id Y] = id' (HomX Y)"
-
have "(id Y) maps Y to Y" using a c by (simp add: Category.Simps)
java.lang.NullPointerException
have "Hom[X,id Y] = ZFfun (HomX (dom
by (simp add: HomFtorMap_def)
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
have "... = (Hom\^bsub>C \<^>X
proof(rule ZFfun_ext, rule allI, rule impI)
{
fix h assume aa: "h |∈| (Hom X Y)" show "m2z ((z2m h) ;; (id Y)) = h"
proof-
have "(z2m h) maps X to Y" and bb: "m2z (z2m h) = h"
using assms aa by (simp add: LSCategory.z2mm2z)+
hence "(z2m h) ;; (id Y) = (z2m h)" using a by (auto simp add: Category.Simps)
hence "m2z ((z2m h) ;; (id Y)) = m2z (z2m h)" by simp
also have "... = h" using bb .
finally show ?thesis .
qed
}
qed
finally show ?thesis by (simp add: SET'_def)
HomFtorId:
assumes "LSCategory C" and "X ∈ obj" and "Y ∈ obj"
shows "Hom[X,id Y] = id (HomX Y)"
-
have "Hom[X,id Y] = id' (HomX Y)" using assms by (simp add: HomFtorId')
java.lang.NullPointerException
ultimately show ?thesis by (simp add: MakeCatId SET_def)
HomFtorObj':
assumes a: "LSCategory C"
and b: "PreFunctor (HomP[X,←-])" and c: "X ∈ obj" and d: "Y ∈ obj"
shows "(HomP[X,←-]) @@ Y = HomX Y"
-
let ?F = "(HomFtor' C X)"
have "?F ## (id ?F HOLZF.subset (infixl ‹ 71)
also have "... = idCartProd (infixl \open|× 75)
llyyhve"? ## (d\^bsbCtDo ^e Y) = id(Hom
moreover have"Ho\^u> <^esub Y ∈ obj using assms
by (simp add: HomFtorId HomFtor'_def SET_def SET'_def MakeCatO)
moreover have "Y ∈CatDom ?F
ultimately show ?thesis using b by(simp add: PreFunctor.FmToFo[of ?F Y "Hom Y"])
HomFtorFtor':
a: "LSCategory C"
esub>"
shows "FunctorM (HomPX,←-
(intro_locales)
show PF: "PreFunctr(omPPX,←-
proof(auto simp add: HomFtor'_def PreFunctor_def SETCategory a HomFtorDist b)
{
fix Z assume : "Z \<> C
java.lang.NullPointerException
frl_a =Hom Z" in Set.rev_bexI)
show HoSETET_Td ET_defMaej
show "Hom w
qed
}
qed
{
fix f Z Y assume aa: "f maps to Y"
have "(HomP<^>C) ## fmap((HomPX,←- (HomP\\<^>C]) @@ Y)"
proof-
have bb: "Z ∈C: "Y\<in C: CategoryMa)+
"SET ≡
java.lang.NullPointerException
java.lang.NullPointerException
java.lang.NullPointerException
java.lang.NullPointerException
using assms ff (sim a: HomFtorMapsTo
ultimately show ?thesis using d
qed
java.lang.NullPointerException
thus ?thesis by (simp add: HomFtor_def MakeFtor) "x |\<in|
mFtorObj
and "X ∈| (Domain f) |×
shows "(Hom🪙X Y"
-
have "FunctorM (HomP Lambda (Domain f) (λ f x)"
hence 1: "PreFunctor (HomPexIof _ "F x)"], rule c)
moreover have "CatDooave b:"isOpair x ∧ Fst x |∈
have "(Hom\^bs>C\<^>[C
thus ?thesis using assms 1 by (simp add: HomFtorObj')
fix x assume "x |\ hen "O FFst ) a f(Fx))= Opai (F x) (Sn )"b si
('o,ZF,ZF,'m,Z,( ZF, …,unit) Functor" (‹,_]›] 65) where
"HomFtorContra' C X ≡(
CatDomhe "m\<^esub
CatCod CatCod == SET ,
MapM = λ HomHomC\<^>C[g,X] \fromLambda_def awh "a |∈ x = Opair a (appf )"
HomF (‹ [65] 65) where "HomFtorContra C X ≡ MakeFtor(Hom' C X)"
HomContraAt: "x |∈
by (simp add: HomFtorMa
shows (ZFf A Bf) |@| x = fx"
(cases C)
(simp add: Oppo)
LSCategory_Op: assumes "LSCategory C" shows "LSCategory (Op C)"
(auto simp
show "Category (Op C)" using assms by (simp add: OpCatCat)
show "LSCategory_axioms (Op C)" using assms
by (simp add: LSCategory_axioms_def mor_Op obj_Op mor2ZF_Op HOMCollection_Op
LSCategory.mor2ZFInj LSCategory.HOMSetIsSet LSCategory.m2zExt)
HomFtorContraFtor:
assumes "LSCategory C"
and "X ∈| f) ( |cocod f) \<lambdax( |d| f) ( || f) (λ
shows "Ftor (Homusin b ip
(auto simp only: functor_abbrev_
java.lang.NullPointerException
proof-
"Hom←-X,←-
moreover have "LSCategory (Op C)" using assms by (simp add: LSCategory_Op)
moreover have "X ∈ obj Range (Snd f)" using assms by (auto simp add: fun_value_in_range )
in a sm :Hmtrt
qed
show "CatDom (Homx . x|\in| A⟶| B"
show "CatCod (HomZFfn ) || (Ffun )=ZfnAC (o f"
HomFtorOpObj:
assumes "LSCategory C"
and "X ∈-
shows (H←-C
-
have 1: "X ∈ Obj (Op C)" and 2: "Y ∈ Obj (Op C)" using assms by (simp add: OppositeCategory_def)+
java.lang.NullPointerException
java.lang.NullPointerException
also have "... = (Hom. ZFfun B C g |@| (ZFfun A B f |@| x)) = ZFfun A C (g ∘
finally show ?thesis .
HomCHomOp: "HomC[g,X] = Hom C[X,g]"
(simp ad: HmtoCnr'df
HomFtor'_deshws"f |o Fun (|o|f) |c|cd| g)🚫 cd ) \<lambda )
(s ad: OppositeCategory_def)
HomFtorContraMapsTo:
assumes "LSCategory C" and "X ∈dom| f) |cod| f) (λ| x) o|
shows "HomCx . g |@| x)" using 1 2 c by simp
-
have "LSCategory (Op C"uin asssb(imad LStegryp
ver have "X \ by ssi :Zcm)
moreover have "f ∈
ultimately have "Hom"
isZfn f o )
moreover have "HomCx . g |@| (f |@| x))" using assms
java.lang.NullPointerException
proof-
have "Hom
thus?t by ( add: OppositeCategor)
qed
moreover have "Hom:
java.lang.NullPointerException
thus ?thesis by (simp add: OppositeCategory_def)
qed
ultimately show ?thesis by simp
HomFtorContraMor:
assumes "LSCategory C" and "X ∈ obj)(<lambda b b (ru ZFfun)
shows "HomCx . x |∈ (λ(im : HomFtorMap_def S'_def ZFfunCod)
and "cod\lambda x . h|@| g|@|( ultima ?t by ((a simp : )
-
have "HomC
thus "HomC "f|o| g) o
and "cod g) ( c| h) (λ
by a
HomContraMor:
assumes "LSCategory C" and "f ∈ Mor C"
Hom←- Hof,X]"
(simp add: HomFtorContra_def HomFtorContra'_def MakeFt (sbh 5:\<>
(*This is used in the proof of the naturality of the Yoneda trans*) lemma assumes"LSCategory C"and"f \<in ?thes bysimp shows "(: proof have ObjDf| (f o ) |dom|f <>codf |o ) = || g" have Obj: c\<>C obj and ObjCf: "codjava.lang.NullPointerException have java.lang.NullPointerException proof- have "(HomC"ZFfun f"shows java.lang.NullPointerException proof(rule CompDefinedI) show "dom<^> Mor SET" using assms ObjDg by (simp add: HomFtorMor) show "HomCCCing ddomFtorContraMor show"cod )( co| f) λ)"by(ule by(simp addHomFtorMor HomFtorContraMor qed thus ?thesis by ZFfunIdRight qed alsohave".-
java.lang.NullPointerException proof(simp add: HomFtorMapContra_def HomFtorMap_def, rule ZFfunComp, rule allI, rule impI) { fix x assume aa: "x |∈CCC<in SETandm\^<esub(om<bsub\^sub] ^bsubX(dom^>C<^esubf(om<^>C<^esubf])=Hom>C <^>X (od<bsub< java.lang.StringIndexOutOfBoundsException: Index 262 out of bounds for length 262 show"(m2z f (|o|f \lambda x || x"singefun proof(rule LSCategory.m2zz2m have"g maps moreover have "(z2mjava.lang.NullPointerException by (simp add: LSCategory.z2mm2zsocunIdLeftFfunIdRightightZFfunCodETfunsTo_defo_def_ef ultimatelyshow by (simp: .Ccompt qed
} qed alsohave java.lang.NullPointerException ((<> h . m2\<^>CCC<es>h)) o (\lambda h. m((z2mh) ;;f)))" proof(rule ZFfun_ext, rule allI, rule SETId "|∈
h aa: h<>| (o\^bu>\^su>(o\^bs>C g (dm<bub>\^sb )" "(<l> h . m<^b>CCC hh .m e ((λ h . m2z assms by (simp add: ZFfunAp) proof- have MapsTo1: "(z2m≈SET have CompDef1: "(z2m<^bsub>ET\^> X to Y ==> |dom| f = X ∧bsub>C proof(rule CompDefinedI show "f ∈: assumes <>><bsubesub g" shows "f ;;g = f |o| g" show "(z2mMakeCat SET^sub g" by (simp add: SET_def) al have ".. f ;<^>SET g" using a by (simp add: MakeCatComp2) have CompDef2 "g <>>(z2mh)" proof(rurule Comp) show "g ∈ thus"(z2mh) ∈CCCz2h)" using MapsTo1by auto qed have c1: "(z2m ha .. ZFf (||f)( c|)(\ambda>x.g || |))"usingbyutojava.lang.StringIndexOutOfBoundsException: Index 124 out of bounds for length 124 have g;;<^bsubesub (z2mh)∈ have java.lang.NullPointerException by (simp add: LSCategory.m2zz2mInv) also have ".. ( ;\bsub (z2mh)) ;;f" using CompDef1 CompDef2 assms by (simp add: Categ.Cassoc) lsohave " 2m<^sub (m2z(g ;;(z2mh)))) ;;f" using assms(1) c2 by (simp add: LSCategory.m2zz2m l ho thssb(im) finally have "g ;;java.lang.NullPointerException
f to Y" and "x |∈ qed
} qed alsohave"... = (Hom[cod |dom| f"using assms simp proof(simp add: HomFtorMapContra_def HomFtorMap_def, rule ZFfunComp[THEN sym], rule allI?thesis
{ (*Locally Small Category has an injective map from the morphisms to ZF*) show"m2zXf]) \<>SET<bsC\<^ f proof(rule LSCategory.m2zz2m, simp_all add: assms(1) ObjCg ObjCf) have "f maps (dom f) to (cod>ZF" (‹ [0 0) moreover by (simp add: LSCategory.z2mm2z) ultimately show " z2mbsu>C\^>m = f"
by (simp add: Category.Ccompt)
qed
}
qed
also have "... = (Hom[codC\^> g to Ho\^>\^>X cod dd ')+
proof-
have "(Hom[cod
proof(rule CompDefine
show "Hom[cod g,f] ∈ Mor SET" using assms ObjCg by (simp add
show "HomC[g,cod f] ∈ Mor SET" using assms ObjCf by (simp add: HomFtorContraMor)
show "cod (Hom[cod X )"
by (simp add: HomFtorMor HomFtorContraMor)
qed
thus ?thesis by(simp add: SET_de
qed
finally s?t .
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.