set S = 1GateCircStr (<*F1(),F2(),F3(),F4()*>,F9());
let s be State of (F8() +* (1GateCircuit (<*F1(),F2(),F3(),F4()*>,F9()))); :: thesis: for s9 being State of F8() st s9 = s | the carrier of F7() holds
for a1, a2, a3, a4 being Element of F5() st ( F1() in InnerVertices F7() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F7() implies a1 = s . F1() ) & ( F2() in InnerVertices F7() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F7() implies a2 = s . F2() ) & ( F3() in InnerVertices F7() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F7() implies a3 = s . F3() ) & ( F4() in InnerVertices F7() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F7() implies a4 = s . F4() ) holds
(Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4()*>,F9()))) = F6(a1,a2,a3,a4)

let s9 be State of F8(); :: thesis: ( s9 = s | the carrier of F7() implies for a1, a2, a3, a4 being Element of F5() st ( F1() in InnerVertices F7() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F7() implies a1 = s . F1() ) & ( F2() in InnerVertices F7() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F7() implies a2 = s . F2() ) & ( F3() in InnerVertices F7() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F7() implies a3 = s . F3() ) & ( F4() in InnerVertices F7() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F7() implies a4 = s . F4() ) holds
(Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4()*>,F9()))) = F6(a1,a2,a3,a4) )

assume A3: s9 = s | the carrier of F7() ; :: thesis: for a1, a2, a3, a4 being Element of F5() st ( F1() in InnerVertices F7() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F7() implies a1 = s . F1() ) & ( F2() in InnerVertices F7() implies a2 = (Result s9) . F2() ) & ( not F2() in InnerVertices F7() implies a2 = s . F2() ) & ( F3() in InnerVertices F7() implies a3 = (Result s9) . F3() ) & ( not F3() in InnerVertices F7() implies a3 = s . F3() ) & ( F4() in InnerVertices F7() implies a4 = (Result s9) . F4() ) & ( not F4() in InnerVertices F7() implies a4 = s . F4() ) holds
(Result s) . (Output (1GateCircStr (<*F1(),F2(),F3(),F4()*>,F9()))) = F6(a1,a2,a3,a4)

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