let I be set ; :: thesis: for E being non empty set
for A being ObjectsFamily of I,(EnsCat E) st Union (coprod A) in E holds
( EnsCatCoproduct A is feasible & EnsCatCoproduct A is coprojection-morphisms )

let E be non empty set ; :: thesis: for A being ObjectsFamily of I,(EnsCat E) st Union (coprod A) in E holds
( EnsCatCoproduct A is feasible & EnsCatCoproduct A is coprojection-morphisms )

let A be ObjectsFamily of I,(EnsCat E); :: thesis: ( Union (coprod A) in E implies ( EnsCatCoproduct A is feasible & EnsCatCoproduct A is coprojection-morphisms ) )
set B = EnsCatCoproductObj A;
set P = EnsCatCoproduct A;
assume A1: Union (coprod A) in E ; :: thesis: ( EnsCatCoproduct A is feasible & EnsCatCoproduct A is coprojection-morphisms )
then A2: EnsCatCoproductObj A = Union (coprod A) by Def9;
A3: EnsCatCoproduct A = Coprod A by A1, Def11;
per cases ( Union (coprod A) <> {} or Union (coprod A) = {} ) ;
suppose A4: Union (coprod A) <> {} ; :: thesis: ( EnsCatCoproduct A is feasible & EnsCatCoproduct A is coprojection-morphisms )
then A5: EnsCatCoproductObj A <> {} by A1, Def9;
thus A6: EnsCatCoproduct A is feasible :: thesis: EnsCatCoproduct A is coprojection-morphisms
proof
let i be set ; :: according to ALTCAT_6:def 3 :: thesis: ( i in I implies ex o being Object of (EnsCat E) st
( o = A . i & (EnsCatCoproduct A) . i in <^o,(EnsCatCoproductObj A)^> ) )

assume A7: i in I ; :: thesis: ex o being Object of (EnsCat E) st
( o = A . i & (EnsCatCoproduct A) . i in <^o,(EnsCatCoproductObj A)^> )

then reconsider I = I as non empty set ;
reconsider i = i as Element of I by A7;
reconsider A = A as ObjectsFamily of I,(EnsCat E) ;
reconsider P = EnsCatCoproduct A as MorphismsFamily of A, EnsCatCoproductObj A ;
take A . i ; :: thesis: ( A . i = A . i & (EnsCatCoproduct A) . i in <^(A . i),(EnsCatCoproductObj A)^> )
A8: <^(A . i),(EnsCatCoproductObj A)^> = Funcs ((A . i),(EnsCatCoproductObj A)) by ALTCAT_1:def 14;
Funcs ((A . i),(EnsCatCoproductObj A)) <> {} by A5;
then P . i in <^(A . i),(EnsCatCoproductObj A)^> by A8;
hence ( A . i = A . i & (EnsCatCoproduct A) . i in <^(A . i),(EnsCatCoproductObj A)^> ) ; :: thesis: verum
end;
let X be Object of (EnsCat E); :: according to ALTCAT_6:def 5 :: thesis: for F being MorphismsFamily of A,X st F is feasible holds
ex f being Morphism of (EnsCatCoproductObj A),X st
( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) )

let F be MorphismsFamily of A,X; :: thesis: ( F is feasible implies ex f being Morphism of (EnsCatCoproductObj A),X st
( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) ) )

assume A9: F is feasible ; :: thesis: ex f being Morphism of (EnsCatCoproductObj A),X st
( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) )

A10: <^(EnsCatCoproductObj A),X^> = Funcs ((EnsCatCoproductObj A),X) by ALTCAT_1:def 14;
defpred S1[ object , object ] means ( $1 `2 in I & $1 `1 in A . ($1 `2) & $2 = (F . ($1 `2)) . ($1 `1) & ( for j being object st j in I & $1 = [($1 `1),j] holds
(F . j) . ($1 `1) = $2 ) );
A11: for b being object st b in EnsCatCoproductObj A holds
ex u being object st S1[b,u]
proof
let b be object ; :: thesis: ( b in EnsCatCoproductObj A implies ex u being object st S1[b,u] )
assume b in EnsCatCoproductObj A ; :: thesis: ex u being object st S1[b,u]
then consider Z being set such that
A12: b in Z and
A13: Z in rng (coprod A) by A2, TARSKI:def 4;
consider i being object such that
A14: i in dom (coprod A) and
A15: (coprod A) . i = Z by A13, FUNCT_1:def 3;
(coprod A) . i = coprod (i,A) by A14, MSAFREE:def 3;
then consider x being set such that
A16: x in A . i and
A17: b = [x,i] by A12, A14, A15, MSAFREE:def 2;
take (F . i) . x ; :: thesis: S1[b,(F . i) . x]
thus ( b `2 in I & b `1 in A . (b `2) & (F . (b `2)) . (b `1) = (F . i) . x ) by A14, A16, A17; :: thesis: for j being object st j in I & b = [(b `1),j] holds
(F . j) . (b `1) = (F . i) . x

let j be object ; :: thesis: ( j in I & b = [(b `1),j] implies (F . j) . (b `1) = (F . i) . x )
assume that
j in I and
A18: b = [(b `1),j] ; :: thesis: (F . j) . (b `1) = (F . i) . x
thus (F . j) . (b `1) = (F . i) . x by A17, A18, XTUPLE_0:1; :: thesis: verum
end;
consider ff being Function such that
A19: dom ff = EnsCatCoproductObj A and
A20: for x being object st x in EnsCatCoproductObj A holds
S1[x,ff . x] from CLASSES1:sch 1(A11);
A21: rng ff c= X
proof
let y be object ; :: according to TARSKI:def 3 :: thesis: ( not y in rng ff or y in X )
assume y in rng ff ; :: thesis: y in X
then consider x being object such that
A22: x in dom ff and
A23: ff . x = y by FUNCT_1:def 3;
set i = x `2 ;
A24: x `2 in I by A19, A20, A22;
A25: x `1 in A . (x `2) by A19, A20, A22;
A26: ff . x = (F . (x `2)) . (x `1) by A19, A20, A22;
consider o1 being Object of (EnsCat E) such that
A27: o1 = A . (x `2) and
F . (x `2) is Morphism of o1,X by A24, Def1;
A28: <^o1,X^> = Funcs (o1,X) by ALTCAT_1:def 14;
then A29: X <> {} by A24, A25, A27, A9, Def4;
F . (x `2) is Function of o1,X by A9, A24, A27, A28, Def4, FUNCT_2:66;
hence y in X by A23, A25, A26, A27, A29, FUNCT_2:5; :: thesis: verum
end;
then reconsider ff = ff as Morphism of (EnsCatCoproductObj A),X by A10, A19, FUNCT_2:def 2;
take ff ; :: thesis: ( ff in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = ff * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
ff = f1 ) )

thus A30: ff in <^(EnsCatCoproductObj A),X^> by A10, A21, A19, FUNCT_2:def 2; :: thesis: ( ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = ff * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
ff = f1 ) )

thus for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = ff * Pi ) :: thesis: for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
ff = f1
proof
let i be set ; :: thesis: ( i in I implies ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = ff * Pi ) )

assume A31: i in I ; :: thesis: ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = ff * Pi )

then reconsider I = I as non empty set ;
reconsider j = i as Element of I by A31;
reconsider A1 = A as ObjectsFamily of I,(EnsCat E) ;
reconsider P1 = EnsCatCoproduct A as MorphismsFamily of A1, EnsCatCoproductObj A ;
reconsider F1 = F as MorphismsFamily of A1,X ;
take A1 . j ; :: thesis: ex Pi being Morphism of (A1 . j),(EnsCatCoproductObj A) st
( A1 . j = A . i & Pi = (EnsCatCoproduct A) . i & F . i = ff * Pi )

take P1 . j ; :: thesis: ( A1 . j = A . i & P1 . j = (EnsCatCoproduct A) . i & F . i = ff * (P1 . j) )
thus ( A1 . j = A . i & P1 . j = (EnsCatCoproduct A) . i ) ; :: thesis: F . i = ff * (P1 . j)
reconsider p = P1 . j as Function ;
A32: <^(A1 . j),(EnsCatCoproductObj A)^> = Funcs ((A1 . j),(EnsCatCoproductObj A)) by ALTCAT_1:def 14;
A33: <^(A1 . j),(EnsCatCoproductObj A)^> <> {} by A6, Def4;
A34: <^(A1 . j),X^> = Funcs ((A1 . j),X) by ALTCAT_1:def 14;
<^(A1 . j),X^> <> {} by A9, Def4;
then A35: ff * (P1 . j) = ff * p by A30, A33, ALTCAT_1:16;
A36: F1 . j in Funcs ((A1 . j),X) by A34, A9, Def4;
then A37: dom (F1 . j) = A1 . j by FUNCT_2:92;
A38: dom (ff * (P1 . j)) = A1 . j by A34, A36, FUNCT_2:92;
A39: dom (P1 . j) = A1 . j by A32, A33, FUNCT_2:92;
now :: thesis: for x being object st x in dom (F1 . j) holds
(ff * p) . x = (F1 . j) . x
let x be object ; :: thesis: ( x in dom (F1 . j) implies (ff * p) . x = (F1 . j) . x )
assume A40: x in dom (F1 . j) ; :: thesis: (ff * p) . x = (F1 . j) . x
p is Function of (A1 . j),(EnsCatCoproductObj A) by A32, A6, Def4, FUNCT_2:66;
then A41: p . x in EnsCatCoproductObj A by A5, A37, A40, FUNCT_2:5;
set x1 = (p . x) `1 ;
ex C being Function of (A . j),(Union (coprod A)) st
( (EnsCatCoproduct A) . i = C & ( for x being object st x in A . i holds
C . x = [x,i] ) ) by A3, Def10;
then A42: p . x = [x,j] by A37, A40;
then ff . (p . x) = (F . j) . ((p . x) `1) by A41, A20;
hence (ff * p) . x = (F1 . j) . x by A42, A37, A40, A39, FUNCT_1:13; :: thesis: verum
end;
hence F . i = ff * (P1 . j) by A35, A38, A36, FUNCT_1:2, FUNCT_2:92; :: thesis: verum
end;
let f1 be Morphism of (EnsCatCoproductObj A),X; :: thesis: ( ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) implies ff = f1 )

assume A43: for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ; :: thesis: ff = f1
per cases ( X = {} or X <> {} ) ;
suppose A44: X <> {} ; :: thesis: ff = f1
f1 is Function of (EnsCatCoproductObj A),X by A10, A30, FUNCT_2:66;
then A45: dom f1 = EnsCatCoproductObj A by A44, FUNCT_2:def 1;
now :: thesis: for x being object st x in dom ff holds
f1 . x = ff . x
let x be object ; :: thesis: ( x in dom ff implies f1 . x = ff . x )
assume A46: x in dom ff ; :: thesis: f1 . x = ff . x
set a = x `1 ;
set i = x `2 ;
A47: x `2 in I by A19, A20, A46;
then consider C being Function of (A . (x `2)),(Union (coprod A)) such that
A48: (EnsCatCoproduct A) . (x `2) = C and
A49: for x being object st x in A . (x `2) holds
C . x = [x,(x `2)] by A3, Def10;
consider si being Object of (EnsCat E), Pi being Morphism of si,(EnsCatCoproductObj A) such that
si = A . (x `2) and
A50: Pi = (EnsCatCoproduct A) . (x `2) and
A51: F . (x `2) = f1 * Pi by A43, A47;
A52: x `1 in A . (x `2) by A19, A20, A46;
then A53: x `1 in dom Pi by A48, A50, A4, FUNCT_2:def 1;
A54: <^si,(EnsCatCoproductObj A)^> = Funcs (si,(EnsCatCoproductObj A)) by ALTCAT_1:def 14;
<^si,X^> = Funcs (si,X) by ALTCAT_1:def 14;
then A55: f1 * Pi = f1 * Pi by A2, A4, A44, A54, A10, ALTCAT_1:16;
A56: ex y, z being object st x = [y,z] by A2, A19, A46, CARD_3:21;
C . (x `1) = [(x `1),(x `2)] by A49, A52;
hence f1 . x = (F . (x `2)) . (x `1) by A48, A50, A56, A51, A53, A55, FUNCT_1:13
.= ff . x by A19, A20, A46 ;
:: thesis: verum
end;
hence ff = f1 by A19, A45, FUNCT_1:2; :: thesis: verum
end;
end;
end;
suppose A57: Union (coprod A) = {} ; :: thesis: ( EnsCatCoproduct A is feasible & EnsCatCoproduct A is coprojection-morphisms )
thus EnsCatCoproduct A is feasible :: thesis: EnsCatCoproduct A is coprojection-morphisms
proof
let i be set ; :: according to ALTCAT_6:def 3 :: thesis: ( i in I implies ex o being Object of (EnsCat E) st
( o = A . i & (EnsCatCoproduct A) . i in <^o,(EnsCatCoproductObj A)^> ) )

assume A58: i in I ; :: thesis: ex o being Object of (EnsCat E) st
( o = A . i & (EnsCatCoproduct A) . i in <^o,(EnsCatCoproductObj A)^> )

reconsider I = I as non empty set by A58;
reconsider i = i as Element of I by A58;
reconsider A = A as ObjectsFamily of I,(EnsCat E) ;
take A . i ; :: thesis: ( A . i = A . i & (EnsCatCoproduct A) . i in <^(A . i),(EnsCatCoproductObj A)^> )
A59: Coprod A is empty-yielding by A57, Th7;
A is empty-yielding by A57, Th8;
then A60: A . i = {} ;
A61: <^(A . i),(EnsCatCoproductObj A)^> = {{}} by A2, A57, A60, Lm2, ALTCAT_1:def 14;
(EnsCatCoproduct A) . i = {} by A3, A59;
hence ( A . i = A . i & (EnsCatCoproduct A) . i in <^(A . i),(EnsCatCoproductObj A)^> ) by A61, TARSKI:def 1; :: thesis: verum
end;
let X be Object of (EnsCat E); :: according to ALTCAT_6:def 5 :: thesis: for F being MorphismsFamily of A,X st F is feasible holds
ex f being Morphism of (EnsCatCoproductObj A),X st
( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) )

let F be MorphismsFamily of A,X; :: thesis: ( F is feasible implies ex f being Morphism of (EnsCatCoproductObj A),X st
( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) ) )

assume F is feasible ; :: thesis: ex f being Morphism of (EnsCatCoproductObj A),X st
( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) )

A62: <^(EnsCatCoproductObj A),X^> = Funcs ((EnsCatCoproductObj A),X) by ALTCAT_1:def 14
.= {{}} by A2, A57, FUNCT_5:57 ;
then reconsider f = {} as Morphism of (EnsCatCoproductObj A),X by TARSKI:def 1;
take f ; :: thesis: ( f in <^(EnsCatCoproductObj A),X^> & ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) )

thus f in <^(EnsCatCoproductObj A),X^> by A62; :: thesis: ( ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) ) & ( for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 ) )

thus for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) :: thesis: for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1
proof
let i be set ; :: thesis: ( i in I implies ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi ) )

assume A63: i in I ; :: thesis: ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi )

reconsider J = I as non empty set by A63;
reconsider j = i as Element of J by A63;
reconsider A1 = A as ObjectsFamily of J,(EnsCat E) ;
reconsider P1 = EnsCatCoproduct A as MorphismsFamily of A1, EnsCatCoproductObj A ;
reconsider si = A1 . j as Object of (EnsCat E) ;
reconsider Pi = P1 . j as Morphism of si,(EnsCatCoproductObj A) ;
reconsider F1 = F as MorphismsFamily of A1,X ;
reconsider F2 = F1 . j as Morphism of si,X ;
take si ; :: thesis: ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi )

take Pi ; :: thesis: ( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f * Pi )
thus ( si = A . i & Pi = (EnsCatCoproduct A) . i ) ; :: thesis: F . i = f * Pi
A64: A is empty-yielding by A57, Th8;
then A65: si = {} ;
then A66: <^si,(EnsCatCoproductObj A)^> = {{}} by A2, A57, Lm2, ALTCAT_1:def 14;
A67: <^si,X^> <> {} by A62, A64, A2, A57;
A68: Funcs (si,X) = {{}} by A65, FUNCT_5:57;
A69: <^si,X^> = Funcs (si,X) by ALTCAT_1:def 14;
thus F . i = F2
.= {} by A68, A69, TARSKI:def 1
.= f * Pi
.= f * Pi by A62, A66, A67, ALTCAT_1:16 ; :: thesis: verum
end;
thus for f1 being Morphism of (EnsCatCoproductObj A),X st ( for i being set st i in I holds
ex si being Object of (EnsCat E) ex Pi being Morphism of si,(EnsCatCoproductObj A) st
( si = A . i & Pi = (EnsCatCoproduct A) . i & F . i = f1 * Pi ) ) holds
f = f1 by A62, TARSKI:def 1; :: thesis: verum
end;
end;