set M = { [[a,b],f] where a, b is Element of F1(), f is Element of F2() : P1[a,b,f] } ;
set a0 = the Element of F1();
consider f0 being Element of F2() such that
A4:
P1[ the Element of F1(), the Element of F1(),f0]
and
for b being Element of F1()
for g being Element of F2() holds
( ( P1[ the Element of F1(),b,g] implies F3(g,f0) = g ) & ( P1[b, the Element of F1(),g] implies F3(f0,g) = g ) )
by A2;
A5:
[[ the Element of F1(), the Element of F1()],f0] in { [[a,b],f] where a, b is Element of F1(), f is Element of F2() : P1[a,b,f] }
by A4;
{ [[a,b],f] where a, b is Element of F1(), f is Element of F2() : P1[a,b,f] } c= [:[:F1(),F1():],F2():]
proof
let x be
set ;
TARSKI:def 3 ( not x in { [[a,b],f] where a, b is Element of F1(), f is Element of F2() : P1[a,b,f] } or x in [:[:F1(),F1():],F2():] )
assume
x in { [[a,b],f] where a, b is Element of F1(), f is Element of F2() : P1[a,b,f] }
;
x in [:[:F1(),F1():],F2():]
then
ex
a,
b being
Element of
F1() ex
f being
Element of
F2() st
(
x = [[a,b],f] &
P1[
a,
b,
f] )
;
hence
x in [:[:F1(),F1():],F2():]
;
verum
end;
then reconsider M = { [[a,b],f] where a, b is Element of F1(), f is Element of F2() : P1[a,b,f] } as non empty Subset of [:[:F1(),F1():],F2():] by A5;
A6:
now let m be
Element of
M;
( m = [[(m `11),(m `12)],(m `2)] & P1[m `11 ,m `12 ,m `2 ] )
m in M
;
then consider a,
b being
Element of
F1(),
f being
Element of
F2()
such that A7:
m = [[a,b],f]
and A8:
P1[
a,
b,
f]
;
A9:
m `11 = a
by A7, MCART_1:85;
m `12 = b
by A7, MCART_1:85;
hence
(
m = [[(m `11),(m `12)],(m `2)] &
P1[
m `11 ,
m `12 ,
m `2 ] )
by A7, A8, A9, MCART_1:7;
verum end;
deffunc H1( Element of M) -> Element of F1() = $1 `11 ;
consider DM being Function of M,F1() such that
A10:
for m being Element of M holds DM . m = H1(m)
from FUNCT_2:sch 4();
deffunc H2( Element of M) -> Element of F1() = $1 `12 ;
consider CM being Function of M,F1() such that
A11:
for m being Element of M holds CM . m = H2(m)
from FUNCT_2:sch 4();
deffunc H3( set , set ) -> set = [[($2 `11),($1 `12)],F3(($1 `2),($2 `2))];
defpred S1[ set , set ] means ( $1 `11 = $2 `12 & $1 in M & $2 in M );
A12:
now let x,
y be
set ;
( S1[x,y] implies H3(x,y) in M )assume A13:
S1[
x,
y]
;
H3(x,y) in Mthen consider ax,
bx being
Element of
F1(),
fx being
Element of
F2()
such that A14:
x = [[ax,bx],fx]
and A15:
P1[
ax,
bx,
fx]
;
consider ay,
b2 being
Element of
F1(),
fy being
Element of
F2()
such that A16:
y = [[ay,b2],fy]
and A17:
P1[
ay,
b2,
fy]
by A13;
A18:
x `11 = ax
by A14, MCART_1:85;
A19:
x `12 = bx
by A14, MCART_1:85;
A20:
y `11 = ay
by A16, MCART_1:85;
A21:
y `12 = b2
by A16, MCART_1:85;
A22:
x `2 = fx
by A14, MCART_1:7;
A23:
y `2 = fy
by A16, MCART_1:7;
A24:
F3(
fx,
fy)
in F2()
by A1, A13, A15, A17, A18, A21;
P1[
ay,
bx,
F3(
fx,
fy)]
by A1, A13, A15, A17, A18, A21;
hence
H3(
x,
y)
in M
by A19, A20, A22, A23, A24;
verum end;
consider CC being PartFunc of [:M,M:],M such that
A25:
for x, y being set holds
( [x,y] in dom CC iff ( x in M & y in M & S1[x,y] ) )
and
A26:
for x, y being set st [x,y] in dom CC holds
CC . (x,y) = H3(x,y)
from BINOP_1:sch 6(A12);
defpred S2[ Element of F1(), set ] means ex f being Element of F2() st
( $2 = [[$1,$1],f] & P1[$1,$1,f] & ( for b being Element of F1()
for g being Element of F2() holds
( ( P1[$1,b,g] implies F3(g,f) = g ) & ( P1[b,$1,g] implies F3(f,g) = g ) ) ) );
A27:
now let a be
Element of
F1();
ex y being Element of M st S2[a,y]consider f being
Element of
F2()
such that A28:
P1[
a,
a,
f]
and A29:
for
b being
Element of
F1()
for
g being
Element of
F2() holds
( (
P1[
a,
b,
g] implies
F3(
g,
f)
= g ) & (
P1[
b,
a,
g] implies
F3(
f,
g)
= g ) )
by A2;
[[a,a],f] in M
by A28;
then reconsider y =
[[a,a],f] as
Element of
M ;
take y =
y;
S2[a,y]thus
S2[
a,
y]
by A28, A29;
verum end;
consider I being Function of F1(),M such that
A30:
for o being Element of F1() holds S2[o,I . o]
from FUNCT_2:sch 3(A27);
set C = CatStr(# F1(),M,DM,CM,CC,I #);
CatStr(# F1(),M,DM,CM,CC,I #) is Category-like
proof
hereby CAT_1:def 5 ( ( for b1, b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b1 or ( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,b1)) = the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b1 & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,b1)) = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b2 ) ) ) & ( for b1, b2, b3 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b3 = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b2 or not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b3,( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,b1))) = the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b3,b2)),b1) ) ) & ( for b1 being Element of the carrier of CatStr(# F1(),M,DM,CM,CC,I #) holds
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1) = b1 & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1) = b1 & ( for b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1),b2) = b2 ) ) & ( for b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1)) = b2 ) ) ) ) )
let f,
g be
Morphism of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #);
( [g,f] in dom the Comp of CatStr(# F1(),M,DM,CM,CC,I #) iff the Source of CatStr(# F1(),M,DM,CM,CC,I #) . g = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . f )A31:
(
[g,f] in dom CC iff (
g in M &
f in M &
g `11 = f `12 &
g in M &
f in M ) )
by A25;
DM . g = g `11
by A10;
hence
(
[g,f] in dom the
Comp of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #) iff the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f )
by A11, A31;
verum
end;
hereby ( ( for b1, b2, b3 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b3 = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b2 or not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b3,( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,b1))) = the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b3,b2)),b1) ) ) & ( for b1 being Element of the carrier of CatStr(# F1(),M,DM,CM,CC,I #) holds
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1) = b1 & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1) = b1 & ( for b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1),b2) = b2 ) ) & ( for b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1)) = b2 ) ) ) ) )
let f,
g be
Morphism of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #);
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . g = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . f implies ( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f)) = the Source of CatStr(# F1(),M,DM,CM,CC,I #) . f & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f)) = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . g ) )A32:
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f = f `11
by A10;
A33:
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = g `11
by A10;
A34:
the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f = f `12
by A11;
A35:
the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = g `12
by A11;
assume
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f
;
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f)) = the Source of CatStr(# F1(),M,DM,CM,CC,I #) . f & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f)) = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . g )then A36:
[g,f] in dom CC
by A25, A33, A34;
then A37:
CC . (
g,
f)
= [[(f `11),(g `12)],F3((g `2),(f `2))]
by A26;
A38:
CC . (
g,
f)
in rng CC
by A36, FUNCT_1:def 3;
A39:
(CC . [g,f]) `11 = f `11
by A37, MCART_1:85;
(CC . [g,f]) `12 = g `12
by A37, MCART_1:85;
hence
( the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f)) = the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f & the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. ( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f)) = the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g )
by A10, A11, A32, A35, A38, A39;
verum
end;
hereby for b1 being Element of the carrier of CatStr(# F1(),M,DM,CM,CC,I #) holds
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1) = b1 & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1) = b1 & ( for b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1),b2) = b2 ) ) & ( for b2 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b2 = b1 or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b2,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b1)) = b2 ) ) )
let f,
g,
h be
Morphism of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #);
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . h = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . g & the Source of CatStr(# F1(),M,DM,CM,CC,I #) . g = the Target of CatStr(# F1(),M,DM,CM,CC,I #) . f implies the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (h,( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f))) = the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (h,g)),f) )A40:
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = g `11
by A10;
A41:
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. h = h `11
by A10;
A42:
the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f = f `12
by A11;
A43:
the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = g `12
by A11;
assume that A44:
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. h = the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g
and A45:
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. g = the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f
;
the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (h,( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f))) = the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (h,g)),f)A46:
[g,f] in dom CC
by A25, A40, A42, A45;
A47:
[h,g] in dom CC
by A25, A41, A43, A44;
A48:
CC . [g,f] in rng CC
by A46, FUNCT_1:def 3;
CC . [h,g] in rng CC
by A47, FUNCT_1:def 3;
then reconsider gf =
CC . (
g,
f),
hg =
CC . (
h,
g) as
Element of
M by A48;
A49:
gf = [[(f `11),(g `12)],F3((g `2),(f `2))]
by A26, A46;
A50:
hg = [[(g `11),(h `12)],F3((h `2),(g `2))]
by A26, A47;
A51:
DM . gf = gf `11
by A10;
A52:
DM . hg = hg `11
by A10;
A53:
CM . gf = gf `12
by A11;
A54:
CM . hg = hg `12
by A11;
A55:
DM . gf = f `11
by A49, A51, MCART_1:85;
A56:
DM . hg = g `11
by A50, A52, MCART_1:85;
A57:
CM . gf = g `12
by A49, A53, MCART_1:85;
A58:
CM . hg = h `12
by A50, A54, MCART_1:85;
A59:
[h,gf] in dom CC
by A25, A41, A43, A44, A53, A57;
A60:
[hg,f] in dom CC
by A25, A40, A42, A45, A52, A56;
reconsider f9 =
f,
g9 =
g,
h9 =
h as
Element of
M ;
A61:
P1[
f9 `11 ,
f9 `12 ,
f9 `2 ]
by A6;
A62:
P1[
g9 `11 ,
g9 `12 ,
g9 `2 ]
by A6;
A63:
P1[
h9 `11 ,
h9 `12 ,
h9 `2 ]
by A6;
thus the
Comp of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. (
h,
( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (g,f))) =
[[(f `11),(h `12)],F3((h `2),(gf `2))]
by A26, A51, A55, A59
.=
[[(f `11),(h `12)],F3((h9 `2),F3((g9 `2),(f9 `2)))]
by A49, MCART_1:7
.=
[[(f `11),(h `12)],F3(F3((h9 `2),(g9 `2)),(f9 `2))]
by A3, A40, A41, A42, A43, A44, A45, A61, A62, A63
.=
[[(f `11),(h `12)],F3((hg `2),(f `2))]
by A50, MCART_1:7
.=
the
Comp of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. (
( the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (h,g)),
f)
by A26, A54, A58, A60
;
verum
end;
let b be
Object of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #);
( the Source of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b) = b & the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b) = b & ( for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b),b1) = b1 ) ) & ( for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b1,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b)) = b1 ) ) )
consider f being
Element of
F2()
such that A64:
I . b = [[b,b],f]
and
P1[
b,
b,
f]
and A65:
for
c being
Element of
F1()
for
g being
Element of
F2() holds
( (
P1[
b,
c,
g] implies
F3(
g,
f)
= g ) & (
P1[
c,
b,
g] implies
F3(
f,
g)
= g ) )
by A30;
reconsider b9 =
b as
Element of
F1() ;
reconsider Ib =
I . b9 as
Element of
M ;
thus the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b) =
(I . b) `11
by A10
.=
b
by A64, MCART_1:85
;
( the Target of CatStr(# F1(),M,DM,CM,CC,I #) . ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b) = b & ( for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b),b1) = b1 ) ) & ( for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b1,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b)) = b1 ) ) )
thus the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. ( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b) =
(I . b) `12
by A11
.=
b
by A64, MCART_1:85
;
( ( for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Target of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b),b1) = b1 ) ) & ( for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b1,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b)) = b1 ) ) )
hereby for b1 being Element of the carrier' of CatStr(# F1(),M,DM,CM,CC,I #) holds
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . b1 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (b1,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b)) = b1 )
let f9 be
Morphism of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #);
( the Target of CatStr(# F1(),M,DM,CM,CC,I #) . f9 = b implies the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b),f9) = f9 )reconsider g =
f9 as
Element of
M ;
assume
the
Target of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f9 = b
;
the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b),f9) = f9then A66:
g `12 = b
by A11;
A67:
Ib `11 = b
by A64, MCART_1:85;
A68:
P1[
g `11 ,
b,
g `2 ]
by A6, A66;
A69:
[Ib,g] in dom CC
by A25, A66, A67;
A70:
Ib `12 = b
by A64, MCART_1:85;
A71:
Ib `2 = f
by A64, MCART_1:7;
A72:
F3(
f,
(g `2))
= g `2
by A65, A68;
CC . (
Ib,
g)
= [[(g `11),b],F3(f,(g `2))]
by A26, A69, A70, A71;
hence
the
Comp of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. (
( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b),
f9)
= f9
by A6, A66, A72;
verum
end;
let f9 be
Morphism of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #);
( not the Source of CatStr(# F1(),M,DM,CM,CC,I #) . f9 = b or the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (f9,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b)) = f9 )
reconsider g =
f9 as
Element of
M ;
assume
the
Source of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. f9 = b
;
the Comp of CatStr(# F1(),M,DM,CM,CC,I #) . (f9,( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b)) = f9
then A73:
g `11 = b
by A10;
A74:
Ib `12 = b
by A64, MCART_1:85;
A75:
P1[
b,
g `12 ,
g `2 ]
by A6, A73;
A76:
[g,Ib] in dom CC
by A25, A73, A74;
A77:
Ib `11 = b
by A64, MCART_1:85;
A78:
Ib `2 = f
by A64, MCART_1:7;
A79:
F3(
(g `2),
f)
= g `2
by A65, A75;
CC . (
g,
Ib)
= [[b,(g `12)],F3((g `2),f)]
by A26, A76, A77, A78;
hence
the
Comp of
CatStr(#
F1(),
M,
DM,
CM,
CC,
I #)
. (
f9,
( the Id of CatStr(# F1(),M,DM,CM,CC,I #) . b))
= f9
by A6, A73, A79;
verum
end;
then reconsider C = CatStr(# F1(),M,DM,CM,CC,I #) as strict Category ;
C is with_triple-like_morphisms
proof
let f be
Morphism of
C;
CAT_5:def 1 ex x being set st f = [[(dom f),(cod f)],x]
f in M
;
then consider a,
b being
Element of
F1(),
g being
Element of
F2()
such that A80:
f = [[a,b],g]
and
P1[
a,
b,
g]
;
take
g
;
f = [[(dom f),(cod f)],g]
A81:
dom f =
f `11
by A10
.=
a
by A80, MCART_1:85
;
cod f =
f `12
by A11
.=
b
by A80, MCART_1:85
;
hence
f = [[(dom f),(cod f)],g]
by A80, A81;
verum
end;
then reconsider C = C as strict with_triple-like_morphisms Category ;
take
C
; ( the carrier of C = F1() & ( for a, b being Element of F1()
for f being Element of F2() st P1[a,b,f] holds
[[a,b],f] is Morphism of C ) & ( for m being Morphism of C ex a, b being Element of F1() ex f being Element of F2() st
( m = [[a,b],f] & P1[a,b,f] ) ) & ( for m1, m2 being Morphism of C
for a1, a2, a3 being Element of F1()
for f1, f2 being Element of F2() st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)] ) )
thus
the carrier of C = F1()
; ( ( for a, b being Element of F1()
for f being Element of F2() st P1[a,b,f] holds
[[a,b],f] is Morphism of C ) & ( for m being Morphism of C ex a, b being Element of F1() ex f being Element of F2() st
( m = [[a,b],f] & P1[a,b,f] ) ) & ( for m1, m2 being Morphism of C
for a1, a2, a3 being Element of F1()
for f1, f2 being Element of F2() st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)] ) )
hereby ( ( for m being Morphism of C ex a, b being Element of F1() ex f being Element of F2() st
( m = [[a,b],f] & P1[a,b,f] ) ) & ( for m1, m2 being Morphism of C
for a1, a2, a3 being Element of F1()
for f1, f2 being Element of F2() st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)] ) )
let a,
b be
Element of
F1();
for f being Element of F2() st P1[a,b,f] holds
[[a,b],f] is Morphism of Clet f be
Element of
F2();
( P1[a,b,f] implies [[a,b],f] is Morphism of C )assume
P1[
a,
b,
f]
;
[[a,b],f] is Morphism of Cthen
[[a,b],f] in M
;
hence
[[a,b],f] is
Morphism of
C
;
verum
end;
hereby for m1, m2 being Morphism of C
for a1, a2, a3 being Element of F1()
for f1, f2 being Element of F2() st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)]
let m be
Morphism of
C;
ex a, b being Element of F1() ex f being Element of F2() st
( m = [[a,b],f] & P1[a,b,f] )
m in M
;
hence
ex
a,
b being
Element of
F1() ex
f being
Element of
F2() st
(
m = [[a,b],f] &
P1[
a,
b,
f] )
;
verum
end;
let m1, m2 be Morphism of C; for a1, a2, a3 being Element of F1()
for f1, f2 being Element of F2() st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)]
let a1, a2, a3 be Element of F1(); for f1, f2 being Element of F2() st m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] holds
m2 * m1 = [[a1,a3],F3(f2,f1)]
let f1, f2 be Element of F2(); ( m1 = [[a1,a2],f1] & m2 = [[a2,a3],f2] implies m2 * m1 = [[a1,a3],F3(f2,f1)] )
assume that
A82:
m1 = [[a1,a2],f1]
and
A83:
m2 = [[a2,a3],f2]
; m2 * m1 = [[a1,a3],F3(f2,f1)]
A84:
m1 `11 = a1
by A82, MCART_1:85;
A85:
m1 `12 = a2
by A82, MCART_1:85;
A86:
m2 `11 = a2
by A83, MCART_1:85;
A87:
m2 `12 = a3
by A83, MCART_1:85;
A88:
[m2,m1] in dom CC
by A25, A85, A86;
hence m2 * m1 =
CC . (m2,m1)
by CAT_1:def 1
.=
[[a1,a3],F3((m2 `2),(m1 `2))]
by A26, A84, A87, A88
.=
[[a1,a3],F3(f2,(m1 `2))]
by A83, MCART_1:7
.=
[[a1,a3],F3(f2,f1)]
by A82, MCART_1:7
;
verum