set S = 1GateCircStr (<*F1()*>,F6());
let s be State of (F5() +* (1GateCircuit (<*F1()*>,F6()))); for s9 being State of F5() st s9 = s | the carrier of F4() holds
for a1 being Element of F2() st ( F1() in InnerVertices F4() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F4() implies a1 = s . F1() ) holds
(Result s) . (Output (1GateCircStr (<*F1()*>,F6()))) = F3(a1)
let s9 be State of F5(); ( s9 = s | the carrier of F4() implies for a1 being Element of F2() st ( F1() in InnerVertices F4() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F4() implies a1 = s . F1() ) holds
(Result s) . (Output (1GateCircStr (<*F1()*>,F6()))) = F3(a1) )
assume A3:
s9 = s | the carrier of F4()
; for a1 being Element of F2() st ( F1() in InnerVertices F4() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F4() implies a1 = s . F1() ) holds
(Result s) . (Output (1GateCircStr (<*F1()*>,F6()))) = F3(a1)
rng <*F1()*> = {F1()}
by FINSEQ_1:38;
then A4:
( InputVertices (1GateCircStr (<*F1()*>,F6())) = rng <*F1()*> & F1() in rng <*F1()*> )
by CIRCCOMB:42, TARSKI:def 1;
then A5:
( F1() in InnerVertices F4() or F1() in (InputVertices (1GateCircStr (<*F1()*>,F6()))) \ (InnerVertices F4()) )
by XBOOLE_0:def 5;
A6:
s9 is stabilizing
by Def2;
InnerVertices (1GateCircStr (<*F1()*>,F6())) = {(Output (1GateCircStr (<*F1()*>,F6())))}
by Th16;
then A7:
InputVertices F4() misses InnerVertices (1GateCircStr (<*F1()*>,F6()))
by A2, ZFMISC_1:50;
then A8: (Following (s,(stabilization-time s9))) | the carrier of F4() =
Following (s9,(stabilization-time s9))
by A3, Th27, CIRCCMB2:13
.=
Result s9
by A6, Th2
;
F4() tolerates 1GateCircStr (<*F1()*>,F6())
by CIRCCOMB:47;
then
InputVertices (F4() +* (1GateCircStr (<*F1()*>,F6()))) = (InputVertices F4()) \/ ((InputVertices (1GateCircStr (<*F1()*>,F6()))) \ (InnerVertices F4()))
by A7, FACIRC_1:4;
then A9:
( F1() in InnerVertices F4() or F1() in InputVertices (F4() +* (1GateCircStr (<*F1()*>,F6()))) )
by A5, XBOOLE_0:def 3;
let a1 be Element of F2(); ( ( F1() in InnerVertices F4() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F4() implies a1 = s . F1() ) implies (Result s) . (Output (1GateCircStr (<*F1()*>,F6()))) = F3(a1) )
assume
( ( F1() in InnerVertices F4() implies a1 = (Result s9) . F1() ) & ( not F1() in InnerVertices F4() implies a1 = s . F1() ) )
; (Result s) . (Output (1GateCircStr (<*F1()*>,F6()))) = F3(a1)
then A10:
a1 = (Following (s,(stabilization-time s9))) . F1()
by A9, A8, Th1, FUNCT_1:49;
A11:
s is stabilizing
by Def2;
the carrier' of (1GateCircStr (<*F1()*>,F6())) = {[<*F1()*>,F6()]}
by CIRCCOMB:def 6;
then
( [<*F1()*>,F6()] in {[<*F1()*>,F6()]} & the carrier' of (F4() +* (1GateCircStr (<*F1()*>,F6()))) = the carrier' of F4() \/ {[<*F1()*>,F6()]} )
by CIRCCOMB:def 2, TARSKI:def 1;
then reconsider g = [<*F1()*>,F6()] as Gate of (F4() +* (1GateCircStr (<*F1()*>,F6()))) by XBOOLE_0:def 3;
A12: the_result_sort_of g =
the ResultSort of (F4() +* (1GateCircStr (<*F1()*>,F6()))) . g
by MSUALG_1:def 2
.=
g
by CIRCCOMB:44
;
A13:
g `2 = F6()
;
the carrier of (F4() +* (1GateCircStr (<*F1()*>,F6()))) = the carrier of F4() \/ the carrier of (1GateCircStr (<*F1()*>,F6()))
by CIRCCOMB:def 2;
then A14:
F1() in the carrier of (F4() +* (1GateCircStr (<*F1()*>,F6())))
by A4, XBOOLE_0:def 3;
A15:
[<*F1()*>,F6()] = Output (1GateCircStr (<*F1()*>,F6()))
by Th15;
g = [( the Arity of (F4() +* (1GateCircStr (<*F1()*>,F6()))) . g),(g `2)]
by CIRCCOMB:def 8;
then A16: <*F1()*> =
the Arity of (F4() +* (1GateCircStr (<*F1()*>,F6()))) . g
by XTUPLE_0:1
.=
the_arity_of g
by MSUALG_1:def 1
;
dom (Following (s,(stabilization-time s9))) = the carrier of (F4() +* (1GateCircStr (<*F1()*>,F6())))
by CIRCUIT1:3;
then A17:
(Following (s,(stabilization-time s9))) * <*F1()*> = <*a1*>
by A14, A10, FINSEQ_2:34;
stabilization-time s <= 1 + (stabilization-time s9)
by A2, A3, Th48;
hence (Result s) . (Output (1GateCircStr (<*F1()*>,F6()))) =
(Following (s,(1 + (stabilization-time s9)))) . (Output (1GateCircStr (<*F1()*>,F6())))
by A11, Th5
.=
(Following (Following (s,(stabilization-time s9)))) . g
by A15, FACIRC_1:12
.=
F6() . ((Following (s,(stabilization-time s9))) * <*F1()*>)
by A12, A16, A13, FACIRC_1:34
.=
F3(a1)
by A1, A17
;
verum