let S1, S2, S be non empty non void Circuit-like ManySortedSign ; :: thesis: ( InputVertices S1 misses InnerVertices S2 & S = S1 +* S2 implies for A1 being non-empty Circuit of S1
for A2 being non-empty Circuit of S2
for A being non-empty Circuit of S st A1 tolerates A2 & A = A1 +* A2 holds
for s being State of A
for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2 )

assume that
A1: InputVertices S1 misses InnerVertices S2 and
A2: S = S1 +* S2 ; :: thesis: for A1 being non-empty Circuit of S1
for A2 being non-empty Circuit of S2
for A being non-empty Circuit of S st A1 tolerates A2 & A = A1 +* A2 holds
for s being State of A
for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2

A3: the carrier of S = the carrier of S1 \/ the carrier of S2 by A2, CIRCCOMB:def 2;
let A1 be non-empty Circuit of S1; :: thesis: for A2 being non-empty Circuit of S2
for A being non-empty Circuit of S st A1 tolerates A2 & A = A1 +* A2 holds
for s being State of A
for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2

let A2 be non-empty Circuit of S2; :: thesis: for A being non-empty Circuit of S st A1 tolerates A2 & A = A1 +* A2 holds
for s being State of A
for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2

let A be non-empty Circuit of S; :: thesis: ( A1 tolerates A2 & A = A1 +* A2 implies for s being State of A
for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2 )

assume that
A4: A1 tolerates A2 and
A5: A = A1 +* A2 ; :: thesis: for s being State of A
for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2

let s be State of A; :: thesis: for s1 being State of A1 st s1 = s | the carrier of S1 & s1 is stable holds
for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2

let s1 be State of A1; :: thesis: ( s1 = s | the carrier of S1 & s1 is stable implies for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2 )

assume that
A6: s1 = s | the carrier of S1 and
A7: s1 is stable ; :: thesis: for s2 being State of A2 st s2 = s | the carrier of S2 holds
(Following s) | the carrier of S2 = Following s2

let s2 be State of A2; :: thesis: ( s2 = s | the carrier of S2 implies (Following s) | the carrier of S2 = Following s2 )
assume A8: s2 = s | the carrier of S2 ; :: thesis: (Following s) | the carrier of S2 = Following s2
A9: now :: thesis: for a being object st a in the carrier of S2 holds
((Following s) | the carrier of S2) . a = (Following s2) . a
let a be object ; :: thesis: ( a in the carrier of S2 implies ((Following s) | the carrier of S2) . a = (Following s2) . a )
assume a in the carrier of S2 ; :: thesis: ((Following s) | the carrier of S2) . a = (Following s2) . a
then reconsider v = a as Vertex of S2 ;
reconsider vv = v as Vertex of S by A3, XBOOLE_0:def 3;
A10: ( v in InputVertices S2 & not v in InnerVertices S1 implies v in (InputVertices S2) \ (InnerVertices S1) ) by XBOOLE_0:def 5;
A11: S1 tolerates S2 by A4, CIRCCOMB:def 3;
A12: now :: thesis: ( v in InputVertices S2 & v in InnerVertices S1 implies (Following s) . vv = (Following s2) . vv )
assume that
A13: v in InputVertices S2 and
A14: v in InnerVertices S1 ; :: thesis: (Following s) . vv = (Following s2) . vv
reconsider v1 = v as Vertex of S1 by A14;
thus (Following s) . vv = (Following s1) . vv by A2, A4, A5, A6, A14, CIRCCOMB:31
.= s1 . v by A7
.= s . v1 by A6, FUNCT_1:49
.= s2 . v by A8, FUNCT_1:49
.= (Following s2) . vv by A13, CIRCUIT2:def 5 ; :: thesis: verum
end;
( the carrier of S2 = (InnerVertices S2) \/ (InputVertices S2) & (InputVertices S1) \ (InnerVertices S2) = InputVertices S1 ) by A1, XBOOLE_1:45, XBOOLE_1:83;
then ( v in InnerVertices S2 or ( v in InputVertices S2 & ( v in InnerVertices S1 or not v in InnerVertices S1 ) & InputVertices S = (InputVertices S1) \/ ((InputVertices S2) \ (InnerVertices S1)) ) ) by A2, A11, Th5, XBOOLE_0:def 3;
then A15: ( vv in InnerVertices S2 or v in InputVertices S or ( v in InputVertices S2 & v in InnerVertices S1 ) ) by A10, XBOOLE_0:def 3;
thus ((Following s) | the carrier of S2) . a = (Following s) . v by FUNCT_1:49
.= (Following s2) . a by A2, A4, A5, A8, A12, A15, CIRCCOMB:31 ; :: thesis: verum
end;
dom (Following s) = the carrier of S by CIRCUIT1:3;
then ( dom (Following s2) = the carrier of S2 & dom ((Following s) | the carrier of S2) = the carrier of S2 ) by A3, CIRCUIT1:3, RELAT_1:62, XBOOLE_1:7;
hence (Following s) | the carrier of S2 = Following s2 by A9, FUNCT_1:2; :: thesis: verum