A3:
for a, b, c being Element of F1()
for f, g being Function st P2[a,b,f] & P2[b,c,g] holds
P2[a,c,g * f]
by A1;
consider D being Function such that
dom D = F1()
and
A4:
for a being set st a in F1() holds
for y being set holds
( y in D . a iff ( y in F2(a) & P1[a,y] ) )
from CARD_3:sch 4();
deffunc H1( set ) -> set = D . $1;
A5:
now let a be
Element of
F1();
P2[a,a, id H1(a)]
for
y being
set holds
(
y in D . a iff (
y in F2(
a) &
P1[
a,
y] ) )
by A4;
hence
P2[
a,
a,
id H1(
a)]
by A2;
verum end;
consider C being strict semi-functional para-functional set-id-inheriting category such that
A6:
the carrier of C = F1()
and
A7:
for a being object of C holds the_carrier_of a = H1(a)
and
A8:
for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C . (a,b) iff ( f in Funcs (H1(a),H1(b)) & P2[a,b,f] ) )
from YELLOW18:sch 17(A3, A5);
take
C
; ( the carrier of C = F1() & ( for a being object of C
for x being set holds
( x in the_carrier_of a iff ( x in F2(a) & P1[a,x] ) ) ) & ( for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C . (a,b) iff ( f in Funcs ((C -carrier_of a),(C -carrier_of b)) & P2[a,b,f] ) ) ) )
thus
the carrier of C = F1()
by A6; ( ( for a being object of C
for x being set holds
( x in the_carrier_of a iff ( x in F2(a) & P1[a,x] ) ) ) & ( for a, b being Element of F1()
for f being Function holds
( f in the Arrows of C . (a,b) iff ( f in Funcs ((C -carrier_of a),(C -carrier_of b)) & P2[a,b,f] ) ) ) )
let a, b be Element of F1(); for f being Function holds
( f in the Arrows of C . (a,b) iff ( f in Funcs ((C -carrier_of a),(C -carrier_of b)) & P2[a,b,f] ) )
A9:
D . a = C -carrier_of a
by A6, A7;
D . b = C -carrier_of b
by A6, A7;
hence
for f being Function holds
( f in the Arrows of C . (a,b) iff ( f in Funcs ((C -carrier_of a),(C -carrier_of b)) & P2[a,b,f] ) )
by A8, A9; verum