set f1 = and2 ;
set f2 = and2 ;
set f3 = and2 ;
let x, y, z be set ; :: thesis: ( x <> [<*y,z*>,and2 ] & y <> [<*z,x*>,and2 ] & z <> [<*x,y*>,and2 ] implies for s being State of (GFA0CarryCirc x,y,z) holds Following s,2 is stable )
assume A1: ( x <> [<*y,z*>,and2 ] & y <> [<*z,x*>,and2 ] & z <> [<*x,y*>,and2 ] ) ; :: thesis: for s being State of (GFA0CarryCirc x,y,z) holds Following s,2 is stable
set xy = [<*x,y*>,and2 ];
set yz = [<*y,z*>,and2 ];
set zx = [<*z,x*>,and2 ];
let s be State of (GFA0CarryCirc x,y,z); :: thesis: Following s,2 is stable
set S = GFA0CarryStr x,y,z;
A2: ( dom (Following (Following s,2)) = the carrier of (GFA0CarryStr x,y,z) & dom (Following s,2) = the carrier of (GFA0CarryStr x,y,z) ) by CIRCUIT1:4;
reconsider xx = x, yy = y, zz = z as Vertex of (GFA0CarryStr x,y,z) by Th19;
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) . (GFA0CarryOutput x,y,z) = (((s . xx) '&' (s . yy)) 'or' ((s . yy) '&' (s . zz))) 'or' ((s . zz) '&' (s . xx)) & (Following s,2) . [<*x,y*>,and2 ] = (s . xx) '&' (s . yy) & (Following s,2) . [<*y,z*>,and2 ] = (s . yy) '&' (s . zz) & (Following s,2) . [<*z,x*>,and2 ] = (s . xx) '&' (s . zz) ) by A1, Th25;
A4: Following s,2 = Following (Following s) by FACIRC_1:15;
A5: ( x in InputVertices (GFA0CarryStr x,y,z) & y in InputVertices (GFA0CarryStr x,y,z) & z in InputVertices (GFA0CarryStr x,y,z) ) by A1, Th21;
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