set f1 = and2b ;
set f2 = and2b ;
set f3 = and2b ;
let x, y, z be set ; :: thesis: ( x <> [<*y,z*>,and2b ] & y <> [<*z,x*>,and2b ] & z <> [<*x,y*>,and2b ] implies for s being State of (GFA3CarryCirc x,y,z) holds Following s,2 is stable )
assume A1: ( x <> [<*y,z*>,and2b ] & y <> [<*z,x*>,and2b ] & z <> [<*x,y*>,and2b ] ) ; :: thesis: for s being State of (GFA3CarryCirc x,y,z) holds Following s,2 is stable
set xy = [<*x,y*>,and2b ];
set yz = [<*y,z*>,and2b ];
set zx = [<*z,x*>,and2b ];
let s be State of (GFA3CarryCirc x,y,z); :: thesis: Following s,2 is stable
set S = GFA3CarryStr x,y,z;
A2: ( dom (Following (Following s,2)) = the carrier of (GFA3CarryStr x,y,z) & dom (Following s,2) = the carrier of (GFA3CarryStr x,y,z) ) by CIRCUIT1:4;
reconsider xx = x, yy = y, zz = z as Vertex of (GFA3CarryStr x,y,z) by Th129;
set a1 = s . xx;
set a2 = s . yy;
set a3 = s . zz;
set ffs = Following s,2;
set fffs = Following (Following s,2);
( s . xx = s . x & s . yy = s . y & s . zz = s . z ) ;
then A3: ( (Following s,2) . (GFA3CarryOutput x,y,z) = 'not' (((('not' (s . xx)) '&' ('not' (s . yy))) 'or' (('not' (s . yy)) '&' ('not' (s . zz)))) 'or' (('not' (s . zz)) '&' ('not' (s . xx)))) & (Following s,2) . [<*x,y*>,and2b ] = ('not' (s . xx)) '&' ('not' (s . yy)) & (Following s,2) . [<*y,z*>,and2b ] = ('not' (s . yy)) '&' ('not' (s . zz)) & (Following s,2) . [<*z,x*>,and2b ] = ('not' (s . xx)) '&' ('not' (s . zz)) ) by A1, Th135;
A4: Following s,2 = Following (Following s) by FACIRC_1:15;
A5: ( x in InputVertices (GFA3CarryStr x,y,z) & y in InputVertices (GFA3CarryStr x,y,z) & z in InputVertices (GFA3CarryStr x,y,z) ) by A1, Th131;
then ( (Following s) . x = s . xx & (Following s) . y = s . yy & (Following s) . z = s . zz ) by CIRCUIT2:def 5;
then A6: ( (Following s,2) . x = s . xx & (Following s,2) . y = s . yy & (Following s,2) . z = s . zz ) by A4, A5, CIRCUIT2:def 5;
now end;
hence Following s,2 = Following (Following s,2) by A2, FUNCT_1:9; :: according to CIRCUIT2:def 6 :: thesis: verum