scheme :: BINOP_1:sch 5
PartFuncEx2{ F1() -> set , F2() -> set , F3() -> set , P1[ object , object , object ] } :
ex f being PartFunc of [:F1(),F2():],F3() st
( ( for x, y being object holds
( [x,y] in dom f iff ( x in F1() & y in F2() & ex z being object st P1[x,y,z] ) ) ) & ( for x, y being object st [x,y] in dom f holds
P1[x,y,f . (x,y)] ) )
provided
A1: for x, y, z being object st x in F1() & y in F2() & P1[x,y,z] holds
z in F3() and
A2: for x, y, z1, z2 being object st x in F1() & y in F2() & P1[x,y,z1] & P1[x,y,z2] holds
z1 = z2