scheme :: YELLOW18:sch 1
AltCatStrLambda{ F1() -> non empty set , F2( object , object ) -> set , F3( object , object , object , object , object ) -> object } :
ex C being non empty transitive strict AltCatStr st
( the carrier of C = F1() & ( for a, b being Object of C holds <^a,b^> = F2(a,b) ) & ( for a, b, c being Object of C st <^a,b^> <> {} & <^b,c^> <> {} holds
for f being Morphism of a,b
for g being Morphism of b,c holds g * f = F3(a,b,c,f,g) ) )
provided
A1: for a, b, c being Element of F1()
for f, g being set st f in F2(a,b) & g in F2(b,c) holds
F3(a,b,c,f,g) in F2(a,c)