let x, y, z be set ; :: thesis: InnerVertices (BitGFA0Str (x,y,z)) = (({[<*x,y*>,xor2]} \/ {(GFA0AdderOutput (x,y,z))}) \/ {[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]}) \/ {(GFA0CarryOutput (x,y,z))}
set f1 = and2 ;
set f2 = and2 ;
set f3 = and2 ;
set f0 = xor2 ;
set xyf0 = [<*x,y*>,xor2];
set xyf1 = [<*x,y*>,and2];
set yzf2 = [<*y,z*>,and2];
set zxf3 = [<*z,x*>,and2];
set S = BitGFA0Str (x,y,z);
set S1 = GFA0AdderStr (x,y,z);
set S2 = GFA0CarryStr (x,y,z);
set A1 = GFA0AdderOutput (x,y,z);
set A2 = GFA0CarryOutput (x,y,z);
thus InnerVertices (BitGFA0Str (x,y,z)) = (InnerVertices (GFA0AdderStr (x,y,z))) \/ (InnerVertices (GFA0CarryStr (x,y,z))) by FACIRC_1:27
.= ({[<*x,y*>,xor2]} \/ {(GFA0AdderOutput (x,y,z))}) \/ (InnerVertices (GFA0CarryStr (x,y,z))) by Th24
.= ({[<*x,y*>,xor2]} \/ {(GFA0AdderOutput (x,y,z))}) \/ ({[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]} \/ {(GFA0CarryOutput (x,y,z))}) by Th11
.= (({[<*x,y*>,xor2]} \/ {(GFA0AdderOutput (x,y,z))}) \/ {[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]}) \/ {(GFA0CarryOutput (x,y,z))} by XBOOLE_1:4 ; :: thesis: verum