let x, y, c be non pair set ; :: thesis: for s being State of (BorrowCirc (x,y,c)) holds Following (s,2) is stable
set S = BorrowStr (x,y,c);
reconsider xx = x, yy = y, cc = c as Vertex of (BorrowStr (x,y,c)) by Th6;
let s be State of (BorrowCirc (x,y,c)); :: thesis: Following (s,2) is stable
set a1 = s . xx;
set a2 = s . yy;
set a3 = s . cc;
set ffs = Following (s,2);
set fffs = Following (Following (s,2));
A1: Following (s,2) = Following (Following s) by FACIRC_1:15;
A2: y in InputVertices (BorrowStr (x,y,c)) by Th8;
then (Following s) . y = s . yy by CIRCUIT2:def 5;
then A3: (Following (s,2)) . y = s . yy by A1, A2, CIRCUIT2:def 5;
s . yy = s . y ;
then A4: (Following (s,2)) . [<*x,c*>,and2a] = ('not' (s . xx)) '&' (s . cc) by Lm2;
A5: x in InputVertices (BorrowStr (x,y,c)) by Th8;
then (Following s) . x = s . xx by CIRCUIT2:def 5;
then A6: (Following (s,2)) . x = s . xx by A1, A5, CIRCUIT2:def 5;
s . xx = s . x ;
then A7: (Following (s,2)) . [<*y,c*>,and2] = (s . yy) '&' (s . cc) by Lm2;
A8: c in InputVertices (BorrowStr (x,y,c)) by Th8;
then (Following s) . c = s . cc by CIRCUIT2:def 5;
then A9: (Following (s,2)) . c = s . cc by A1, A8, CIRCUIT2:def 5;
s . cc = s . c ;
then A10: (Following (s,2)) . [<*x,y*>,and2a] = ('not' (s . xx)) '&' (s . yy) by Lm2;
A11: (Following (s,2)) . (BorrowOutput (x,y,c)) = ((('not' (s . xx)) '&' (s . yy)) 'or' ((s . yy) '&' (s . cc))) 'or' (('not' (s . xx)) '&' (s . cc)) by Lm2;
A12: now :: thesis: for a being object st a in the carrier of (BorrowStr (x,y,c)) holds
(Following (s,2)) . a = (Following (Following (s,2))) . a
let a be object ; :: thesis: ( a in the carrier of (BorrowStr (x,y,c)) implies (Following (s,2)) . a = (Following (Following (s,2))) . a )
assume A13: a in the carrier of (BorrowStr (x,y,c)) ; :: thesis: (Following (s,2)) . a = (Following (Following (s,2))) . a
then reconsider v = a as Vertex of (BorrowStr (x,y,c)) ;
A14: v in (InputVertices (BorrowStr (x,y,c))) \/ (InnerVertices (BorrowStr (x,y,c))) by A13, XBOOLE_1:45;
thus (Following (s,2)) . a = (Following (Following (s,2))) . a :: thesis: verum
proof end;
end;
( dom (Following (Following (s,2))) = the carrier of (BorrowStr (x,y,c)) & dom (Following (s,2)) = the carrier of (BorrowStr (x,y,c)) ) by CIRCUIT1:3;
hence Following (s,2) = Following (Following (s,2)) by A12, FUNCT_1:2; :: according to CIRCUIT2:def 6 :: thesis: verum