set S = 1GateCircStr <*F1(),F2(),F3(),F4(),F5()*>,F8();
let s be State of (1GateCircuit <*F1(),F2(),F3(),F4(),F5()*>,F8()); 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:4
.=
(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 Th15
.=
{F1(),F2(),F3(),F4(),F5(),[<*F1(),F2(),F3(),F4(),F5()*>,F8()]}
by ENUMSET1:55
;
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(); ( 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() )
; (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, Th38;
thus (Result s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4(),F5()*>,F8())) =
(Following s) . (Output (1GateCircStr <*F1(),F2(),F3(),F4(),F5()*>,F8()))
by Th21
.=
(Following s) . [<*F1(),F2(),F3(),F4(),F5()*>,F8()]
by Th16
.=
F8() . (s * <*F1(),F2(),F3(),F4(),F5()*>)
by CIRCCOMB:64
.=
F7(a1,a2,a3,a4,a5)
by A1, A6
; verum