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