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

A2: dom s = the carrier of (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F8())) by CIRCUIT1:3
.= (rng <*F1(),F2(),F3(),F4(),F5()*>) \/ {[<*F1(),F2(),F3(),F4(),F5()*>,F8()]} by CIRCCOMB:def 6
.= {F1(),F2(),F3(),F4(),F5()} \/ {[<*F1(),F2(),F3(),F4(),F5()*>,F8()]} by Th14
.= {F1(),F2(),F3(),F4(),F5(),[<*F1(),F2(),F3(),F4(),F5()*>,F8()]} by ENUMSET1:15 ;
then A3: ( F1() in dom s & F2() in dom s ) by ENUMSET1:def 4;
A4: F5() in dom s by A2, ENUMSET1:def 4;
A5: ( F3() in dom s & F4() in dom s ) by A2, ENUMSET1:def 4;
let a1, a2, a3, a4, a5 be Element of F6(); :: thesis: ( a1 = s . F1() & a2 = s . F2() & a3 = s . F3() & a4 = s . F4() & a5 = s . F5() implies (Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F8()))) = F7(a1,a2,a3,a4,a5) )
assume ( a1 = s . F1() & a2 = s . F2() & a3 = s . F3() & a4 = s . F4() & a5 = s . F5() ) ; :: thesis: (Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F8()))) = F7(a1,a2,a3,a4,a5)
then A6: s * <*F1(),F2(),F3(),F4(),F5()*> = <*a1,a2,a3,a4,a5*> by A3, A5, A4, Th34;
thus (Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F8()))) = (Following s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F8()))) by Th20
.= (Following s) . [<*F1(),F2(),F3(),F4(),F5()*>,F8()] by Th15
.= F8() . (s * <*F1(),F2(),F3(),F4(),F5()*>) by CIRCCOMB:56
.= F7(a1,a2,a3,a4,a5) by A1, A6 ; :: thesis: verum