scheme :: YELLOW18:sch 9
ContravariantFunctorLambda{ F1() -> category, F2() -> category, F3( object ) -> object , F4( object , object , object ) -> object } :
ex F being strict contravariant Functor of F1(),F2() st
( ( for a being Object of F1() holds F . a = F3(a) ) & ( for a, b being Object of F1() st <^a,b^> <> {} holds
for f being Morphism of a,b holds F . f = F4(a,b,f) ) )
provided
A1: for a being Object of F1() holds F3(a) is Object of F2() and
A2: for a, b being Object of F1() st <^a,b^> <> {} holds
for f being Morphism of a,b holds F4(a,b,f) in the Arrows of F2() . (F3(b),F3(a)) and
A3: for a, b, c being Object of F1() st <^a,b^> <> {} & <^b,c^> <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c
for a9, b9, c9 being Object of F2() st a9 = F3(a) & b9 = F3(b) & c9 = F3(c) holds
for f9 being Morphism of b9,a9
for g9 being Morphism of c9,b9 st f9 = F4(a,b,f) & g9 = F4(b,c,g) holds
F4(a,c,(g * f)) = f9 * g9 and
A4: for a being Object of F1()
for a9 being Object of F2() st a9 = F3(a) holds
F4(a,a,(idm a)) = idm a9