set f1 = and2b ;
set f2 = and2b ;
set f3 = and2b ;
set f4 = nor3 ;
let x, y, z be set ; :: thesis: for s being State of (GFA3CarryCirc x,y,z)
for a1, a2, a3 being Element of BOOLEAN st a1 = s . [<*x,y*>,and2b ] & a2 = s . [<*y,z*>,and2b ] & a3 = s . [<*z,x*>,and2b ] holds
(Following s) . (GFA3CarryOutput x,y,z) = 'not' ((a1 'or' a2) 'or' a3)
let s be State of (GFA3CarryCirc x,y,z); :: thesis: for a1, a2, a3 being Element of BOOLEAN st a1 = s . [<*x,y*>,and2b ] & a2 = s . [<*y,z*>,and2b ] & a3 = s . [<*z,x*>,and2b ] holds
(Following s) . (GFA3CarryOutput x,y,z) = 'not' ((a1 'or' a2) 'or' a3)
set xy = [<*x,y*>,and2b ];
set yz = [<*y,z*>,and2b ];
set zx = [<*z,x*>,and2b ];
let a1, a2, a3 be Element of BOOLEAN ; :: thesis: ( a1 = s . [<*x,y*>,and2b ] & a2 = s . [<*y,z*>,and2b ] & a3 = s . [<*z,x*>,and2b ] implies (Following s) . (GFA3CarryOutput x,y,z) = 'not' ((a1 'or' a2) 'or' a3) )
assume A1:
( a1 = s . [<*x,y*>,and2b ] & a2 = s . [<*y,z*>,and2b ] & a3 = s . [<*z,x*>,and2b ] )
; :: thesis: (Following s) . (GFA3CarryOutput x,y,z) = 'not' ((a1 'or' a2) 'or' a3)
set S = GFA3CarryStr x,y,z;
A2:
InnerVertices (GFA3CarryStr x,y,z) = the carrier' of (GFA3CarryStr x,y,z)
by FACIRC_1:37;
A3:
dom s = the carrier of (GFA3CarryStr x,y,z)
by CIRCUIT1:4;
reconsider xy = [<*x,y*>,and2b ], yz = [<*y,z*>,and2b ], zx = [<*z,x*>,and2b ] as Element of InnerVertices (GFA3CarryStr x,y,z) by Th130;
thus (Following s) . (GFA3CarryOutput x,y,z) =
nor3 . (s * <*xy,yz,zx*>)
by A2, FACIRC_1:35
.=
nor3 . <*a1,a2,a3*>
by A1, A3, FINSEQ_2:146
.=
'not' ((a1 'or' a2) 'or' a3)
by TWOSCOMP:def 28
; :: thesis: verum