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