set f1 = and2a ;
set f2 = and2c ;
set f3 = and2b ;
let x, y, z be set ; :: thesis: ( x <> [<*y,z*>,and2c ] & y <> [<*z,x*>,and2b ] & z <> [<*x,y*>,and2a ] implies for s being State of (GFA2CarryCirc x,y,z) holds Following s,2 is stable )
assume A1: ( x <> [<*y,z*>,and2c ] & y <> [<*z,x*>,and2b ] & z <> [<*x,y*>,and2a ] ) ; :: thesis: for s being State of (GFA2CarryCirc x,y,z) holds Following s,2 is stable
set xy = [<*x,y*>,and2a ];
set yz = [<*y,z*>,and2c ];
set zx = [<*z,x*>,and2b ];
let s be State of (GFA2CarryCirc x,y,z); :: thesis: Following s,2 is stable
set S = GFA2CarryStr x,y,z;
A2: ( dom (Following (Following s,2)) = the carrier of (GFA2CarryStr x,y,z) & dom (Following s,2) = the carrier of (GFA2CarryStr x,y,z) ) by CIRCUIT1:4;
reconsider xx = x, yy = y, zz = z as Vertex of (GFA2CarryStr x,y,z) by Th92;
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) . (GFA2CarryOutput x,y,z) = 'not' (((('not' (s . xx)) '&' (s . yy)) 'or' ((s . yy) '&' ('not' (s . zz)))) 'or' (('not' (s . zz)) '&' ('not' (s . xx)))) & (Following s,2) . [<*x,y*>,and2a ] = ('not' (s . xx)) '&' (s . yy) & (Following s,2) . [<*y,z*>,and2c ] = (s . yy) '&' ('not' (s . zz)) & (Following s,2) . [<*z,x*>,and2b ] = ('not' (s . xx)) '&' ('not' (s . zz)) ) by A1, Th98;
A4: Following s,2 = Following (Following s) by FACIRC_1:15;
A5: ( x in InputVertices (GFA2CarryStr x,y,z) & y in InputVertices (GFA2CarryStr x,y,z) & z in InputVertices (GFA2CarryStr x,y,z) ) by A1, Th94;
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