set S = 1GateCircStr <*F1(),F2(),F3()*>,F6();
let s be State of (1GateCircuit <*F1(),F2(),F3()*>,F6()); for a1, a2, a3 being Element of F4() st a1 = s . F1() & a2 = s . F2() & a3 = s . F3() holds
(Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F6())) = F5(a1,a2,a3)
A2: dom s =
the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F6())
by CIRCUIT1:4
.=
(rng <*F1(),F2(),F3()*>) \/ {[<*F1(),F2(),F3()*>,F6()]}
by CIRCCOMB:def 6
.=
{F1(),F2(),F3()} \/ {[<*F1(),F2(),F3()*>,F6()]}
by FINSEQ_2:148
.=
{F1(),F2(),F3(),[<*F1(),F2(),F3()*>,F6()]}
by ENUMSET1:46
;
then A3:
( F1() in dom s & F2() in dom s )
by ENUMSET1:def 2;
A4:
F3() in dom s
by A2, ENUMSET1:def 2;
let a1, a2, a3 be Element of F4(); ( a1 = s . F1() & a2 = s . F2() & a3 = s . F3() implies (Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F6())) = F5(a1,a2,a3) )
assume
( a1 = s . F1() & a2 = s . F2() & a3 = s . F3() )
; (Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F6())) = F5(a1,a2,a3)
then A5:
s * <*F1(),F2(),F3()*> = <*a1,a2,a3*>
by A3, A4, FINSEQ_2:146;
thus (Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F6())) =
(Following s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F6()))
by Th21
.=
(Following s) . [<*F1(),F2(),F3()*>,F6()]
by Th16
.=
F6() . (s * <*F1(),F2(),F3()*>)
by CIRCCOMB:64
.=
F5(a1,a2,a3)
by A1, A5
; verum