set S = 1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10());
let s be State of (F9() +* (1GateCircuit (<*F1(),F2(),F3(),F4(),F5()*>,F10()))); for s9 being State of F9() st s9 = s | the carrier of F8() holds
for a1, a2, a3, a4, a5 being Element of F6() st ( F1() in InnerVertices F8() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F8() implies a1 = s . F1() ) & ( F2() in InnerVertices F8() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F8() implies a2 = s . F2() ) & ( F3() in InnerVertices F8() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F8() implies a3 = s . F3() ) & ( F4() in InnerVertices F8() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F8() implies a4 = s . F4() ) & ( F5() in InnerVertices F8() implies a5 = (Result s9) . F5() ) & ( not F5() in InnerVertices F8() implies a5 = s . F5() ) holds
(Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = F7(a1,a2,a3,a4,a5)
let s9 be State of F9(); ( s9 = s | the carrier of F8() implies for a1, a2, a3, a4, a5 being Element of F6() st ( F1() in InnerVertices F8() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F8() implies a1 = s . F1() ) & ( F2() in InnerVertices F8() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F8() implies a2 = s . F2() ) & ( F3() in InnerVertices F8() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F8() implies a3 = s . F3() ) & ( F4() in InnerVertices F8() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F8() implies a4 = s . F4() ) & ( F5() in InnerVertices F8() implies a5 = (Result s9) . F5() ) & ( not F5() in InnerVertices F8() implies a5 = s . F5() ) holds
(Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = F7(a1,a2,a3,a4,a5) )
assume A3:
s9 = s | the carrier of F8()
; for a1, a2, a3, a4, a5 being Element of F6() st ( F1() in InnerVertices F8() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F8() implies a1 = s . F1() ) & ( F2() in InnerVertices F8() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F8() implies a2 = s . F2() ) & ( F3() in InnerVertices F8() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F8() implies a3 = s . F3() ) & ( F4() in InnerVertices F8() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F8() implies a4 = s . F4() ) & ( F5() in InnerVertices F8() implies a5 = (Result s9) . F5() ) & ( not F5() in InnerVertices F8() implies a5 = s . F5() ) holds
(Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = F7(a1,a2,a3,a4,a5)
A4:
s9 is stabilizing
by Def2;
InnerVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())) = {(Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))}
by Th16;
then A5:
InputVertices F8() misses InnerVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))
by A2, ZFMISC_1:50;
then A6: (Following (s,(stabilization-time s9))) | the carrier of F8() =
Following (s9,(stabilization-time s9))
by A3, Th27, CIRCCMB2:13
.=
Result s9
by A4, Th2
;
F8() tolerates 1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())
by CIRCCOMB:47;
then A7:
InputVertices (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = (InputVertices F8()) \/ ((InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) \ (InnerVertices F8()))
by A5, FACIRC_1:4;
A8:
[<*F1(),F2(),F3(),F4(),F5()*>,F10()] = Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))
by Th15;
A9:
s is stabilizing
by Def2;
A10:
the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = the carrier of F8() \/ the carrier of (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))
by CIRCCOMB:def 2;
the carrier' of (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())) = {[<*F1(),F2(),F3(),F4(),F5()*>,F10()]}
by CIRCCOMB:def 6;
then
( [<*F1(),F2(),F3(),F4(),F5()*>,F10()] in {[<*F1(),F2(),F3(),F4(),F5()*>,F10()]} & the carrier' of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = the carrier' of F8() \/ {[<*F1(),F2(),F3(),F4(),F5()*>,F10()]} )
by CIRCCOMB:def 2, TARSKI:def 1;
then reconsider g = [<*F1(),F2(),F3(),F4(),F5()*>,F10()] as Gate of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) by XBOOLE_0:def 3;
let a1, a2, a3, a4, a5 be Element of F6(); ( ( F1() in InnerVertices F8() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F8() implies a1 = s . F1() ) & ( F2() in InnerVertices F8() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F8() implies a2 = s . F2() ) & ( F3() in InnerVertices F8() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F8() implies a3 = s . F3() ) & ( F4() in InnerVertices F8() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F8() implies a4 = s . F4() ) & ( F5() in InnerVertices F8() implies a5 = (Result s9) . F5() ) & ( not F5() in InnerVertices F8() implies a5 = s . F5() ) implies (Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = F7(a1,a2,a3,a4,a5) )
assume that
A11:
( ( F1() in InnerVertices F8() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F8() implies a1 = s . F1() ) )
and
A12:
( ( F2() in InnerVertices F8() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F8() implies a2 = s . F2() ) )
and
A13:
( ( F3() in InnerVertices F8() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F8() implies a3 = s . F3() ) )
and
A14:
( ( F4() in InnerVertices F8() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F8() implies a4 = s . F4() ) )
and
A15:
( ( F5() in InnerVertices F8() implies a5 = (Result s9) . F5() ) & ( not F5() in InnerVertices F8() implies a5 = s . F5() ) )
; (Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) = F7(a1,a2,a3,a4,a5)
A16:
InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())) = rng <*F1(),F2(),F3(),F4(),F5()*>
by CIRCCOMB:42;
A17:
rng <*F1(),F2(),F3(),F4(),F5()*> = {F1(),F2(),F3(),F4(),F5()}
by Th14;
then A18:
F1() in rng <*F1(),F2(),F3(),F4(),F5()*>
by ENUMSET1:def 3;
then A19:
F1() in the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by A16, A10, XBOOLE_0:def 3;
A20:
F5() in rng <*F1(),F2(),F3(),F4(),F5()*>
by A17, ENUMSET1:def 3;
then A21:
F5() in the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by A16, A10, XBOOLE_0:def 3;
( F5() in InnerVertices F8() or F5() in (InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) \ (InnerVertices F8()) )
by A16, A20, XBOOLE_0:def 5;
then
( F5() in InnerVertices F8() or F5() in InputVertices (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) )
by A7, XBOOLE_0:def 3;
then A22:
a5 = (Following (s,(stabilization-time s9))) . F5()
by A15, A6, Th1, FUNCT_1:49;
A23:
F4() in rng <*F1(),F2(),F3(),F4(),F5()*>
by A17, ENUMSET1:def 3;
then A24:
F4() in the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by A16, A10, XBOOLE_0:def 3;
A25:
F3() in rng <*F1(),F2(),F3(),F4(),F5()*>
by A17, ENUMSET1:def 3;
then A26:
F3() in the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by A16, A10, XBOOLE_0:def 3;
( F3() in InnerVertices F8() or F3() in (InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) \ (InnerVertices F8()) )
by A16, A25, XBOOLE_0:def 5;
then
( F3() in InnerVertices F8() or F3() in InputVertices (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) )
by A7, XBOOLE_0:def 3;
then A27:
a3 = (Following (s,(stabilization-time s9))) . F3()
by A13, A6, Th1, FUNCT_1:49;
A28:
F2() in rng <*F1(),F2(),F3(),F4(),F5()*>
by A17, ENUMSET1:def 3;
then A29:
F2() in the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by A16, A10, XBOOLE_0:def 3;
( F1() in InnerVertices F8() or F1() in (InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) \ (InnerVertices F8()) )
by A16, A18, XBOOLE_0:def 5;
then
( F1() in InnerVertices F8() or F1() in InputVertices (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) )
by A7, XBOOLE_0:def 3;
then A30:
a1 = (Following (s,(stabilization-time s9))) . F1()
by A11, A6, Th1, FUNCT_1:49;
g = [( the Arity of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) . g),(g `2)]
by CIRCCOMB:def 8;
then A31: <*F1(),F2(),F3(),F4(),F5()*> =
the Arity of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) . g
by XTUPLE_0:1
.=
the_arity_of g
by MSUALG_1:def 1
;
A32:
g `2 = F10()
;
( F4() in InnerVertices F8() or F4() in (InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) \ (InnerVertices F8()) )
by A16, A23, XBOOLE_0:def 5;
then
( F4() in InnerVertices F8() or F4() in InputVertices (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) )
by A7, XBOOLE_0:def 3;
then A33:
a4 = (Following (s,(stabilization-time s9))) . F4()
by A14, A6, Th1, FUNCT_1:49;
( F2() in InnerVertices F8() or F2() in (InputVertices (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) \ (InnerVertices F8()) )
by A16, A28, XBOOLE_0:def 5;
then
( F2() in InnerVertices F8() or F2() in InputVertices (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) )
by A7, XBOOLE_0:def 3;
then A34:
a2 = (Following (s,(stabilization-time s9))) . F2()
by A12, A6, Th1, FUNCT_1:49;
dom (Following (s,(stabilization-time s9))) = the carrier of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by CIRCUIT1:3;
then A35:
(Following (s,(stabilization-time s9))) * <*F1(),F2(),F3(),F4(),F5()*> = <*a1,a2,a3,a4,a5*>
by A19, A29, A26, A24, A21, A30, A34, A27, A33, A22, Th34;
A36: the_result_sort_of g =
the ResultSort of (F8() +* (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) . g
by MSUALG_1:def 2
.=
g
by CIRCCOMB:44
;
stabilization-time s <= 1 + (stabilization-time s9)
by A2, A3, Th48;
hence (Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10()))) =
(Following (s,(1 + (stabilization-time s9)))) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4(),F5()*>,F10())))
by A9, Th5
.=
(Following (Following (s,(stabilization-time s9)))) . g
by A8, FACIRC_1:12
.=
F10() . ((Following (s,(stabilization-time s9))) * <*F1(),F2(),F3(),F4(),F5()*>)
by A36, A31, A32, FACIRC_1:34
.=
F7(a1,a2,a3,a4,a5)
by A1, A35
;
verum