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