let V be non empty set ; :: thesis: CatStr(# V,(Maps V),(fDom V),(fCod V),(fComp V),(fId V) #) is Category
set M = Maps V;
set d = fDom V;
set c = fCod V;
set p = fComp V;
set i = fId V;
now thus
for
f,
g being
Element of
Maps V holds
(
[g,f] in dom (fComp V) iff
(fDom V) . g = (fCod V) . f )
:: thesis: ( ( for f, g being Element of Maps V st (fDom V) . g = (fCod V) . f holds
( (fDom V) . ((fComp V) . g,f) = (fDom V) . f & (fCod V) . ((fComp V) . g,f) = (fCod V) . g ) ) & ( for f, g, h being Element of Maps V st (fDom V) . h = (fCod V) . g & (fDom V) . g = (fCod V) . f holds
(fComp V) . h,((fComp V) . g,f) = (fComp V) . ((fComp V) . h,g),f ) & ( for b being Element of V holds
( (fDom V) . ((fId V) . b) = b & (fCod V) . ((fId V) . b) = b & ( for f being Element of Maps V st (fCod V) . f = b holds
(fComp V) . ((fId V) . b),f = f ) & ( for g being Element of Maps V st (fDom V) . g = b holds
(fComp V) . g,((fId V) . b) = g ) ) ) )thus
for
f,
g being
Element of
Maps V st
(fDom V) . g = (fCod V) . f holds
(
(fDom V) . ((fComp V) . g,f) = (fDom V) . f &
(fCod V) . ((fComp V) . g,f) = (fCod V) . g )
:: thesis: ( ( for f, g, h being Element of Maps V st (fDom V) . h = (fCod V) . g & (fDom V) . g = (fCod V) . f holds
(fComp V) . h,((fComp V) . g,f) = (fComp V) . ((fComp V) . h,g),f ) & ( for b being Element of V holds
( (fDom V) . ((fId V) . b) = b & (fCod V) . ((fId V) . b) = b & ( for f being Element of Maps V st (fCod V) . f = b holds
(fComp V) . ((fId V) . b),f = f ) & ( for g being Element of Maps V st (fDom V) . g = b holds
(fComp V) . g,((fId V) . b) = g ) ) ) )proof
let f,
g be
Element of
Maps V;
:: thesis: ( (fDom V) . g = (fCod V) . f implies ( (fDom V) . ((fComp V) . g,f) = (fDom V) . f & (fCod V) . ((fComp V) . g,f) = (fCod V) . g ) )
assume A1:
(fDom V) . g = (fCod V) . f
;
:: thesis: ( (fDom V) . ((fComp V) . g,f) = (fDom V) . f & (fCod V) . ((fComp V) . g,f) = (fCod V) . g )
(
(fDom V) . g = dom g &
(fCod V) . f = cod f )
by Def10, Def11;
then
(
dom (g * f) = dom f &
cod (g * f) = cod g &
(fComp V) . [g,f] = g * f &
(fDom V) . f = dom f &
(fCod V) . g = cod g )
by A1, Def10, Def11, Def12, Th12;
hence
(
(fDom V) . ((fComp V) . g,f) = (fDom V) . f &
(fCod V) . ((fComp V) . g,f) = (fCod V) . g )
by Def10, Def11;
:: thesis: verum
end; thus
for
f,
g,
h being
Element of
Maps V st
(fDom V) . h = (fCod V) . g &
(fDom V) . g = (fCod V) . f holds
(fComp V) . h,
((fComp V) . g,f) = (fComp V) . ((fComp V) . h,g),
f
:: thesis: for b being Element of V holds
( (fDom V) . ((fId V) . b) = b & (fCod V) . ((fId V) . b) = b & ( for f being Element of Maps V st (fCod V) . f = b holds
(fComp V) . ((fId V) . b),f = f ) & ( for g being Element of Maps V st (fDom V) . g = b holds
(fComp V) . g,((fId V) . b) = g ) )proof
let f,
g,
h be
Element of
Maps V;
:: thesis: ( (fDom V) . h = (fCod V) . g & (fDom V) . g = (fCod V) . f implies (fComp V) . h,((fComp V) . g,f) = (fComp V) . ((fComp V) . h,g),f )
assume that A2:
(fDom V) . h = (fCod V) . g
and A3:
(fDom V) . g = (fCod V) . f
;
:: thesis: (fComp V) . h,((fComp V) . g,f) = (fComp V) . ((fComp V) . h,g),f
A4:
(
dom h = (fDom V) . h &
cod g = (fCod V) . g &
dom g = (fDom V) . g &
cod f = (fCod V) . f )
by Def10, Def11;
then A5:
(
cod (g * f) = dom h &
dom (h * g) = dom g )
by A2, A3, Th12;
thus (fComp V) . h,
((fComp V) . g,f) =
(fComp V) . [h,(g * f)]
by A3, A4, Def12
.=
h * (g * f)
by A5, Def12
.=
(h * g) * f
by A2, A3, A4, Th13
.=
(fComp V) . [(h * g),f]
by A3, A4, A5, Def12
.=
(fComp V) . ((fComp V) . h,g),
f
by A2, A4, Def12
;
:: thesis: verum
end; let b be
Element of
V;
:: thesis: ( (fDom V) . ((fId V) . b) = b & (fCod V) . ((fId V) . b) = b & ( for f being Element of Maps V st (fCod V) . f = b holds
(fComp V) . ((fId V) . b),f = f ) & ( for g being Element of Maps V st (fDom V) . g = b holds
(fComp V) . g,((fId V) . b) = g ) )A6:
(
(fId V) . b = id$ b &
dom (id$ b) = b &
cod (id$ b) = b )
by Def13, Th11;
hence
(
(fDom V) . ((fId V) . b) = b &
(fCod V) . ((fId V) . b) = b )
by Def10, Def11;
:: thesis: ( ( for f being Element of Maps V st (fCod V) . f = b holds
(fComp V) . ((fId V) . b),f = f ) & ( for g being Element of Maps V st (fDom V) . g = b holds
(fComp V) . g,((fId V) . b) = g ) )thus
for
f being
Element of
Maps V st
(fCod V) . f = b holds
(fComp V) . ((fId V) . b),
f = f
:: thesis: for g being Element of Maps V st (fDom V) . g = b holds
(fComp V) . g,((fId V) . b) = glet g be
Element of
Maps V;
:: thesis: ( (fDom V) . g = b implies (fComp V) . g,((fId V) . b) = g )assume A9:
(fDom V) . g = b
;
:: thesis: (fComp V) . g,((fId V) . b) = gA10:
dom g = (fDom V) . g
by Def10;
then
g * (id$ b) = g
by A9, Th14;
hence
(fComp V) . g,
((fId V) . b) = g
by A6, A9, A10, Def12;
:: thesis: verum end;
hence
CatStr(# V,(Maps V),(fDom V),(fCod V),(fComp V),(fId V) #) is Category
by CAT_1:def 8; :: thesis: verum