let x, y, c be set ; :: thesis: ( x <> [<*y,c*>,'&' ] & y <> [<*c,x*>,'&' ] & c <> [<*x,y*>,'&' ] & c <> [<*x,y*>,'xor' ] implies for s being State of (MajorityCirc x,y,c) holds Following s,2 is stable )
set S = MajorityStr x,y,c;
assume A1: ( x <> [<*y,c*>,'&' ] & y <> [<*c,x*>,'&' ] & c <> [<*x,y*>,'&' ] & c <> [<*x,y*>,'xor' ] ) ; :: thesis: for s being State of (MajorityCirc x,y,c) holds Following s,2 is stable
let s be State of (MajorityCirc x,y,c); :: thesis: Following s,2 is stable
A2: ( dom (Following (Following s,2)) = the carrier of (MajorityStr x,y,c) & dom (Following s,2) = the carrier of (MajorityStr x,y,c) ) by CIRCUIT1:4;
reconsider xx = x, yy = y, cc = c as Vertex of (MajorityStr x,y,c) by FACIRC_1:72;
set a1 = s . xx;
set a2 = s . yy;
set a3 = s . cc;
set ffs = Following s,2;
set fffs = Following (Following s,2);
( s . xx = s . x & s . yy = s . y & s . cc = s . c ) ;
then A3: ( (Following s,2) . (MajorityOutput x,y,c) = (((s . xx) '&' (s . yy)) 'or' ((s . yy) '&' (s . cc))) 'or' ((s . cc) '&' (s . xx)) & (Following s,2) . [<*x,y*>,'&' ] = (s . xx) '&' (s . yy) & (Following s,2) . [<*y,c*>,'&' ] = (s . yy) '&' (s . cc) & (Following s,2) . [<*c,x*>,'&' ] = (s . cc) '&' (s . xx) ) by A1, Lm4;
A4: Following s,2 = Following (Following s) by FACIRC_1:15;
InputVertices (MajorityStr x,y,c) = {x,y,c} by A1, Th21;
then A5: ( x in InputVertices (MajorityStr x,y,c) & y in InputVertices (MajorityStr x,y,c) & c in InputVertices (MajorityStr x,y,c) ) by ENUMSET1:def 1;
then ( (Following s) . x = s . xx & (Following s) . y = s . yy & (Following s) . c = s . cc ) by CIRCUIT2:def 5;
then A6: ( (Following s,2) . x = s . xx & (Following s,2) . y = s . yy & (Following s,2) . c = s . cc ) 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