let s be State of (1GateCircuit <*F1(),F2(),F3(),F4()*>,F7()); :: thesis: for a1, a2, a3, a4 being Element of F5() st a1 = s . F1() & a2 = s . F2() & a3 = s . F3() & a4 = s . F4() holds
(Result s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7())) = F6(a1,a2,a3,a4)

let a1, a2, a3, a4 be Element of F5(); :: thesis: ( a1 = s . F1() & a2 = s . F2() & a3 = s . F3() & a4 = s . F4() implies (Result s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7())) = F6(a1,a2,a3,a4) )
assume A2: ( a1 = s . F1() & a2 = s . F2() & a3 = s . F3() & a4 = s . F4() ) ; :: thesis: (Result s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7())) = F6(a1,a2,a3,a4)
set S = 1GateCircStr <*F1(),F2(),F3(),F4()*>,F7();
dom s = the carrier of (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7()) by CIRCUIT1:4
.= (rng <*F1(),F2(),F3(),F4()*>) \/ {[<*F1(),F2(),F3(),F4()*>,F7()]} by CIRCCOMB:def 6
.= {F1(),F2(),F3(),F4()} \/ {[<*F1(),F2(),F3(),F4()*>,F7()]} by Th14
.= {[<*F1(),F2(),F3(),F4()*>,F7()],F1(),F2(),F3(),F4()} by ENUMSET1:47 ;
then ( F1() in dom s & F2() in dom s & F3() in dom s & F4() in dom s ) by ENUMSET1:def 3;
then A3: s * <*F1(),F2(),F3(),F4()*> = <*a1,a2,a3,a4*> by A2, Th37;
thus (Result s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7())) = (Following s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4()*>,F7())) by Th21
.= (Following s) . [<*F1(),F2(),F3(),F4()*>,F7()] by Th16
.= F7() . (s * <*F1(),F2(),F3(),F4()*>) by CIRCCOMB:64
.= F6(a1,a2,a3,a4) by A1, A3 ; :: thesis: verum