scheme :: CIRCCMB3:sch 10
OneGate2Result{ F1() -> object , F2() -> object , F3() -> non empty finite set , F4( object , object ) -> Element of F3(), F5() -> Function of (2 -tuples_on F3()),F3() } :
for s being State of (1GateCircuit (<*F1(),F2()*>,F5()))
for a1, a2 being Element of F3() st a1 = s . F1() & a2 = s . F2() holds
(Result s) . (Output (1GateCircStr (<*F1(),F2()*>,F5()))) = F4(a1,a2)
provided
A1: for g being Function of (2 -tuples_on F3()),F3() holds
( g = F5() iff for a1, a2 being Element of F3() holds g . <*a1,a2*> = F4(a1,a2) )