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

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

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

let a1, a2, a3 be Element of F4(); :: thesis: ( ( F1() in InnerVertices F6() implies a1 = (Result s') . F1() ) & ( not F1() in InnerVertices F6() implies a1 = s . F1() ) & ( F2() in InnerVertices F6() implies a2 = (Result s') . F2() ) & ( not F2() in InnerVertices F6() implies a2 = s . F2() ) & ( F3() in InnerVertices F6() implies a3 = (Result s') . F3() ) & ( not F3() in InnerVertices F6() implies a3 = s . F3() ) implies (Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F8())) = F5(a1,a2,a3) )
assume A4: ( ( F1() in InnerVertices F6() implies a1 = (Result s') . F1() ) & ( not F1() in InnerVertices F6() implies a1 = s . F1() ) & ( F2() in InnerVertices F6() implies a2 = (Result s') . F2() ) & ( not F2() in InnerVertices F6() implies a2 = s . F2() ) & ( F3() in InnerVertices F6() implies a3 = (Result s') . F3() ) & ( not F3() in InnerVertices F6() implies a3 = s . F3() ) ) ; :: thesis: (Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F8())) = F5(a1,a2,a3)
set S = 1GateCircStr <*F1(),F2(),F3()*>,F8();
rng <*F1(),F2(),F3()*> = {F1(),F2(),F3()} by FINSEQ_2:148;
then A5: ( the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F8()) = (rng <*F1(),F2(),F3()*>) \/ {[<*F1(),F2(),F3()*>,F8()]} & InputVertices (1GateCircStr <*F1(),F2(),F3()*>,F8()) = rng <*F1(),F2(),F3()*> & F3() in rng <*F1(),F2(),F3()*> & F2() in rng <*F1(),F2(),F3()*> & F1() in rng <*F1(),F2(),F3()*> ) by CIRCCOMB:49, CIRCCOMB:def 6, ENUMSET1:def 1;
then ( F3() in the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F8()) & F2() in the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F8()) & F1() in the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F8()) & the carrier of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) = the carrier of F6() \/ the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F8()) ) by CIRCCOMB:def 2;
then A6: ( F1() in the carrier of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) & F2() in the carrier of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) & F3() in the carrier of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) ) by XBOOLE_0:def 3;
InnerVertices (1GateCircStr <*F1(),F2(),F3()*>,F8()) = {(Output (1GateCircStr <*F1(),F2(),F3()*>,F8()))} by Th17;
then A7: InputVertices F6() misses InnerVertices (1GateCircStr <*F1(),F2(),F3()*>,F8()) by A2, ZFMISC_1:56;
F7() tolerates 1GateCircuit <*F1(),F2(),F3()*>,F8() by Th30;
then the Sorts of F7() tolerates the Sorts of (1GateCircuit <*F1(),F2(),F3()*>,F8()) by CIRCCOMB:def 3;
then reconsider s1 = (Following s,(stabilization-time s')) | the carrier of (1GateCircStr <*F1(),F2(),F3()*>,F8()) as State of (1GateCircuit <*F1(),F2(),F3()*>,F8()) by CIRCCOMB:33;
A8: ( s is stabilizing & s' is stabilizing & s1 is stabilizing ) by Def2;
F6() tolerates 1GateCircStr <*F1(),F2(),F3()*>,F8() by CIRCCOMB:55;
then A9: InputVertices (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) = (InputVertices F6()) \/ ((InputVertices (1GateCircStr <*F1(),F2(),F3()*>,F8())) \ (InnerVertices F6())) by A7, FACIRC_1:4;
( F1() in InnerVertices F6() or F1() in (InputVertices (1GateCircStr <*F1(),F2(),F3()*>,F8())) \ (InnerVertices F6()) ) by A5, XBOOLE_0:def 5;
then A10: ( F1() in InnerVertices F6() or F1() in InputVertices (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) ) by A9, XBOOLE_0:def 3;
( F2() in InnerVertices F6() or F2() in (InputVertices (1GateCircStr <*F1(),F2(),F3()*>,F8())) \ (InnerVertices F6()) ) by A5, XBOOLE_0:def 5;
then A11: ( F2() in InnerVertices F6() or F2() in InputVertices (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) ) by A9, XBOOLE_0:def 3;
( F3() in InnerVertices F6() or F3() in (InputVertices (1GateCircStr <*F1(),F2(),F3()*>,F8())) \ (InnerVertices F6()) ) by A5, XBOOLE_0:def 5;
then A12: ( F3() in InnerVertices F6() or F3() in InputVertices (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) ) by A9, XBOOLE_0:def 3;
(Following s,(stabilization-time s')) | the carrier of F6() = Following s',(stabilization-time s') by A3, A7, Th30, CIRCCMB2:14
.= Result s' by A8, Th2 ;
then A13: ( a1 = (Following s,(stabilization-time s')) . F1() & a2 = (Following s,(stabilization-time s')) . F2() & a3 = (Following s,(stabilization-time s')) . F3() ) by A4, A10, A11, A12, Th1, FUNCT_1:72;
dom (Following s,(stabilization-time s')) = the carrier of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) by CIRCUIT1:4;
then A14: (Following s,(stabilization-time s')) * <*F1(),F2(),F3()*> = <*a1,a2,a3*> by A6, A13, FINSEQ_2:146;
A15: [<*F1(),F2(),F3()*>,F8()] = Output (1GateCircStr <*F1(),F2(),F3()*>,F8()) by Th16;
the carrier' of (1GateCircStr <*F1(),F2(),F3()*>,F8()) = {[<*F1(),F2(),F3()*>,F8()]} by CIRCCOMB:def 6;
then ( [<*F1(),F2(),F3()*>,F8()] in {[<*F1(),F2(),F3()*>,F8()]} & the carrier' of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) = the carrier' of F6() \/ {[<*F1(),F2(),F3()*>,F8()]} ) by CIRCCOMB:def 2, TARSKI:def 1;
then reconsider g = [<*F1(),F2(),F3()*>,F8()] as Gate of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) by XBOOLE_0:def 3;
A16: the_result_sort_of g = the ResultSort of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) . g by MSUALG_1:def 7
.= g by CIRCCOMB:52 ;
g = [(the Arity of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) . g),(g `2 )] by CIRCCOMB:def 8;
then A17: <*F1(),F2(),F3()*> = the Arity of (F6() +* (1GateCircStr <*F1(),F2(),F3()*>,F8())) . g by ZFMISC_1:33
.= the_arity_of g by MSUALG_1:def 6 ;
A18: g `2 = F8() by MCART_1:7;
stabilization-time s <= 1 + (stabilization-time s') by A2, A3, Th52;
hence (Result s) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F8())) = (Following s,(1 + (stabilization-time s'))) . (Output (1GateCircStr <*F1(),F2(),F3()*>,F8())) by A8, Th5
.= (Following (Following s,(stabilization-time s'))) . g by A15, FACIRC_1:12
.= F8() . ((Following s,(stabilization-time s')) * <*F1(),F2(),F3()*>) by A16, A17, A18, FACIRC_1:34
.= F5(a1,a2,a3) by A1, A14 ;
:: thesis: verum