let x, y, z be set ; :: thesis: for s being State of (GFA2CarryCirc (x,y,z))
for a1, a2, a3 being Element of BOOLEAN st a1 = s . [<*x,y*>,and2a] & a2 = s . [<*y,z*>,and2c] & a3 = s . [<*z,x*>,nor2] holds
(Following s) . (GFA2CarryOutput (x,y,z)) = 'not' ((a1 'or' a2) 'or' a3)

set f1 = and2a ;
set f2 = and2c ;
set f3 = nor2 ;
set f4 = nor3 ;
let s be State of (GFA2CarryCirc (x,y,z)); :: thesis: for a1, a2, a3 being Element of BOOLEAN st a1 = s . [<*x,y*>,and2a] & a2 = s . [<*y,z*>,and2c] & a3 = s . [<*z,x*>,nor2] holds
(Following s) . (GFA2CarryOutput (x,y,z)) = 'not' ((a1 'or' a2) 'or' a3)

set xy = [<*x,y*>,and2a];
set yz = [<*y,z*>,and2c];
set zx = [<*z,x*>,nor2];
let a1, a2, a3 be Element of BOOLEAN ; :: thesis: ( a1 = s . [<*x,y*>,and2a] & a2 = s . [<*y,z*>,and2c] & a3 = s . [<*z,x*>,nor2] implies (Following s) . (GFA2CarryOutput (x,y,z)) = 'not' ((a1 'or' a2) 'or' a3) )
assume A1: ( a1 = s . [<*x,y*>,and2a] & a2 = s . [<*y,z*>,and2c] & a3 = s . [<*z,x*>,nor2] ) ; :: thesis: (Following s) . (GFA2CarryOutput (x,y,z)) = 'not' ((a1 'or' a2) 'or' a3)
set S = GFA2CarryStr (x,y,z);
reconsider xy = [<*x,y*>,and2a], yz = [<*y,z*>,and2c], zx = [<*z,x*>,nor2] as Element of InnerVertices (GFA2CarryStr (x,y,z)) by Th80;
A2: dom s = the carrier of (GFA2CarryStr (x,y,z)) by CIRCUIT1:3;
InnerVertices (GFA2CarryStr (x,y,z)) = the carrier' of (GFA2CarryStr (x,y,z)) by FACIRC_1:37;
hence (Following s) . (GFA2CarryOutput (x,y,z)) = nor3 . (s * <*xy,yz,zx*>) by FACIRC_1:35
.= nor3 . <*a1,a2,a3*> by A1, A2, FINSEQ_2:126
.= 'not' ((a1 'or' a2) 'or' a3) by TWOSCOMP:def 28 ;
:: thesis: verum