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

let a1 be Element of F2(); :: thesis: ( a1 = s . F1() implies (Result s) . (Output (1GateCircStr <*F1()*>,F4())) = F3(a1) )
assume A2: a1 = s . F1() ; :: thesis: (Result s) . (Output (1GateCircStr <*F1()*>,F4())) = F3(a1)
set S = 1GateCircStr <*F1()*>,F4();
dom s = the carrier of (1GateCircStr <*F1()*>,F4()) by CIRCUIT1:4
.= (rng <*F1()*>) \/ {[<*F1()*>,F4()]} by CIRCCOMB:def 6
.= {F1()} \/ {[<*F1()*>,F4()]} by FINSEQ_1:55
.= {F1(),[<*F1()*>,F4()]} by ENUMSET1:41 ;
then F1() in dom s by TARSKI:def 2;
then A3: s * <*F1()*> = <*a1*> by A2, Th36;
thus (Result s) . (Output (1GateCircStr <*F1()*>,F4())) = (Following s) . (Output (1GateCircStr <*F1()*>,F4())) by Th21
.= (Following s) . [<*F1()*>,F4()] by Th16
.= F4() . (s * <*F1()*>) by CIRCCOMB:64
.= F3(a1) by A1, A3 ; :: thesis: verum