set f1 = and2a ;
set f2 = and2c ;
set f3 = and2b ;
let x, y, z be set ; ( 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 ] )
; for s being State of (GFA2CarryCirc x,y,z) holds Following s,2 is stable
set S = GFA2CarryStr x,y,z;
reconsider xx = x, yy = y, zz = z as Vertex of (GFA2CarryStr x,y,z) by Th92;
let s be State of (GFA2CarryCirc x,y,z); Following s,2 is stable
set a1 = s . xx;
set a2 = s . yy;
set a3 = s . zz;
set ffs = Following s,2;
set fffs = Following (Following s,2);
set xy = [<*x,y*>,and2a ];
set yz = [<*y,z*>,and2c ];
set zx = [<*z,x*>,and2b ];
A2:
Following s,2 = Following (Following s)
by FACIRC_1:15;
A3:
z in InputVertices (GFA2CarryStr x,y,z)
by A1, Th94;
then
(Following s) . z = s . zz
by CIRCUIT2:def 5;
then A4:
(Following s,2) . z = s . zz
by A2, A3, CIRCUIT2:def 5;
A5:
y in InputVertices (GFA2CarryStr x,y,z)
by A1, Th94;
then
(Following s) . y = s . yy
by CIRCUIT2:def 5;
then A6:
(Following s,2) . y = s . yy
by A2, A5, CIRCUIT2:def 5;
A7:
x in InputVertices (GFA2CarryStr x,y,z)
by A1, Th94;
then
(Following s) . x = s . xx
by CIRCUIT2:def 5;
then A8:
(Following s,2) . x = s . xx
by A2, A7, CIRCUIT2:def 5;
s . zz = s . z
;
then A9:
(Following s,2) . [<*x,y*>,and2a ] = ('not' (s . xx)) '&' (s . yy)
by A1, Th98;
s . yy = s . y
;
then A10:
(Following s,2) . [<*z,x*>,and2b ] = ('not' (s . xx)) '&' ('not' (s . zz))
by A1, Th98;
s . xx = s . x
;
then A11:
(Following s,2) . [<*y,z*>,and2c ] = (s . yy) '&' ('not' (s . zz))
by A1, Th98;
A12:
(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))))
by A1, Th98;
A13:
now let a be
set ;
( a in the carrier of (GFA2CarryStr x,y,z) implies (Following s,2) . a = (Following (Following s,2)) . a )assume A14:
a in the
carrier of
(GFA2CarryStr x,y,z)
;
(Following s,2) . a = (Following (Following s,2)) . athen reconsider v =
a as
Vertex of
(GFA2CarryStr x,y,z) ;
A15:
v in (InputVertices (GFA2CarryStr x,y,z)) \/ (InnerVertices (GFA2CarryStr x,y,z))
by A14, XBOOLE_1:45;
thus
(Following s,2) . a = (Following (Following s,2)) . a
verumproof
per cases
( v in InputVertices (GFA2CarryStr x,y,z) or v in InnerVertices (GFA2CarryStr x,y,z) )
by A15, XBOOLE_0:def 3;
suppose
v in InnerVertices (GFA2CarryStr x,y,z)
;
(Following s,2) . a = (Following (Following s,2)) . athen
v in {[<*x,y*>,and2a ],[<*y,z*>,and2c ],[<*z,x*>,and2b ]} \/ {(GFA2CarryOutput x,y,z)}
by Th87;
then
(
v in {[<*x,y*>,and2a ],[<*y,z*>,and2c ],[<*z,x*>,and2b ]} or
v in {(GFA2CarryOutput x,y,z)} )
by XBOOLE_0:def 3;
then
(
v = [<*x,y*>,and2a ] or
v = [<*y,z*>,and2c ] or
v = [<*z,x*>,and2b ] or
v = GFA2CarryOutput x,
y,
z )
by ENUMSET1:def 1, TARSKI:def 1;
hence
(Following s,2) . a = (Following (Following s,2)) . a
by A12, A9, A11, A10, A8, A6, A4, Th96, Th97;
verum end; end;
end; end;
( 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;
hence
Following s,2 = Following (Following s,2)
by A13, FUNCT_1:9; CIRCUIT2:def 6 verum