let S1, S2, S be non empty non void Circuit-like ManySortedSign ; :: thesis: ( 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 & s2 is stable holds

s is stable )

assume A1: 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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable )

assume that

A2: A1 tolerates A2 and

A3: 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 & s2 is stable holds

s is stable

S1 tolerates S2 by A2, CIRCCOMB:def 3;

then A4: InnerVertices S = (InnerVertices S1) \/ (InnerVertices S2) by A1, CIRCCOMB:11;

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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable )

assume that

A5: s1 = s | the carrier of S1 and

A6: s1 = Following s1 ; :: according to CIRCUIT2:def 6 :: thesis: for s2 being State of A2 st s2 = s | the carrier of S2 & s2 is stable holds

s is stable

let s2 be State of A2; :: thesis: ( s2 = s | the carrier of S2 & s2 is stable implies s is stable )

assume that

A7: s2 = s | the carrier of S2 and

A8: s2 = Following s2 ; :: according to CIRCUIT2:def 6 :: thesis: s is stable

A9: the carrier of S = the carrier of S1 \/ the carrier of S2 by A1, CIRCCOMB:def 2;

hence s = Following s by A10, FUNCT_1:2; :: according to CIRCUIT2:def 6 :: thesis: verum

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 & s2 is stable holds

s is stable )

assume A1: 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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable )

assume that

A2: A1 tolerates A2 and

A3: 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 & s2 is stable holds

s is stable

S1 tolerates S2 by A2, CIRCCOMB:def 3;

then A4: InnerVertices S = (InnerVertices S1) \/ (InnerVertices S2) by A1, CIRCCOMB:11;

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 & s2 is stable holds

s is stable

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 & s2 is stable holds

s is stable )

assume that

A5: s1 = s | the carrier of S1 and

A6: s1 = Following s1 ; :: according to CIRCUIT2:def 6 :: thesis: for s2 being State of A2 st s2 = s | the carrier of S2 & s2 is stable holds

s is stable

let s2 be State of A2; :: thesis: ( s2 = s | the carrier of S2 & s2 is stable implies s is stable )

assume that

A7: s2 = s | the carrier of S2 and

A8: s2 = Following s2 ; :: according to CIRCUIT2:def 6 :: thesis: s is stable

A9: the carrier of S = the carrier of S1 \/ the carrier of S2 by A1, CIRCCOMB:def 2;

A10: now :: thesis: for x being object st x in the carrier of S holds

s . x = (Following s) . x

( dom (Following s) = the carrier of S & dom s = the carrier of S )
by CIRCUIT1:3;s . x = (Following s) . x

let x be object ; :: thesis: ( x in the carrier of S implies s . x = (Following s) . x )

assume x in the carrier of S ; :: thesis: s . x = (Following s) . x

then reconsider v = x as Vertex of S ;

the carrier of S = (InputVertices S) \/ (InnerVertices S) by XBOOLE_1:45;

then ( v in InputVertices S or v in InnerVertices S ) by XBOOLE_0:def 3;

then ( ( v in InputVertices S & v in the carrier of S1 ) or ( v in InputVertices S & v in the carrier of S2 ) or v in InnerVertices S1 or v in InnerVertices S2 ) by A4, A9, XBOOLE_0:def 3;

then ( ( (Following s) . v = s1 . v & v in the carrier of S1 ) or ( (Following s) . v = s2 . v & v in the carrier of S2 ) ) by A1, A2, A3, A5, A6, A7, A8, CIRCCOMB:31;

hence s . x = (Following s) . x by A5, A7, FUNCT_1:49; :: thesis: verum

end;assume x in the carrier of S ; :: thesis: s . x = (Following s) . x

then reconsider v = x as Vertex of S ;

the carrier of S = (InputVertices S) \/ (InnerVertices S) by XBOOLE_1:45;

then ( v in InputVertices S or v in InnerVertices S ) by XBOOLE_0:def 3;

then ( ( v in InputVertices S & v in the carrier of S1 ) or ( v in InputVertices S & v in the carrier of S2 ) or v in InnerVertices S1 or v in InnerVertices S2 ) by A4, A9, XBOOLE_0:def 3;

then ( ( (Following s) . v = s1 . v & v in the carrier of S1 ) or ( (Following s) . v = s2 . v & v in the carrier of S2 ) ) by A1, A2, A3, A5, A6, A7, A8, CIRCCOMB:31;

hence s . x = (Following s) . x by A5, A7, FUNCT_1:49; :: thesis: verum

hence s = Following s by A10, FUNCT_1:2; :: according to CIRCUIT2:def 6 :: thesis: verum