let x, y, z be set ; InnerVertices (GFA0CarryStr (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 f4 = or3 ;
set xy = [<*x,y*>,and2];
set yz = [<*y,z*>,and2];
set zx = [<*z,x*>,and2];
set Cxy = 1GateCircStr (<*x,y*>,and2);
set Cyz = 1GateCircStr (<*y,z*>,and2);
set Czx = 1GateCircStr (<*z,x*>,and2);
set Cxyz = 1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3);
A1:
1GateCircStr (<*x,y*>,and2) tolerates ((1GateCircStr (<*y,z*>,and2)) +* (1GateCircStr (<*z,x*>,and2))) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))
by CIRCCOMB:47;
1GateCircStr (<*y,z*>,and2) tolerates (1GateCircStr (<*z,x*>,and2)) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))
by CIRCCOMB:47;
then A2:
InnerVertices ((1GateCircStr (<*y,z*>,and2)) +* ((1GateCircStr (<*z,x*>,and2)) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))) = (InnerVertices (1GateCircStr (<*y,z*>,and2))) \/ (InnerVertices ((1GateCircStr (<*z,x*>,and2)) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))))
by CIRCCOMB:11;
1GateCircStr (<*z,x*>,and2) tolerates 1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)
by CIRCCOMB:47;
then A3:
InnerVertices ((1GateCircStr (<*z,x*>,and2)) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))) = (InnerVertices (1GateCircStr (<*z,x*>,and2))) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by CIRCCOMB:11;
thus InnerVertices (GFA0CarryStr (x,y,z)) =
InnerVertices (((1GateCircStr (<*x,y*>,and2)) +* ((1GateCircStr (<*y,z*>,and2)) +* (1GateCircStr (<*z,x*>,and2)))) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by CIRCCOMB:6
.=
InnerVertices ((1GateCircStr (<*x,y*>,and2)) +* (((1GateCircStr (<*y,z*>,and2)) +* (1GateCircStr (<*z,x*>,and2))) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))))
by CIRCCOMB:6
.=
(InnerVertices (1GateCircStr (<*x,y*>,and2))) \/ (InnerVertices (((1GateCircStr (<*y,z*>,and2)) +* (1GateCircStr (<*z,x*>,and2))) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))))
by A1, CIRCCOMB:11
.=
(InnerVertices (1GateCircStr (<*x,y*>,and2))) \/ (InnerVertices ((1GateCircStr (<*y,z*>,and2)) +* ((1GateCircStr (<*z,x*>,and2)) +* (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))))
by CIRCCOMB:6
.=
((InnerVertices (1GateCircStr (<*x,y*>,and2))) \/ (InnerVertices (1GateCircStr (<*y,z*>,and2)))) \/ ((InnerVertices (1GateCircStr (<*z,x*>,and2))) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3))))
by A2, A3, XBOOLE_1:4
.=
(((InnerVertices (1GateCircStr (<*x,y*>,and2))) \/ (InnerVertices (1GateCircStr (<*y,z*>,and2)))) \/ (InnerVertices (1GateCircStr (<*z,x*>,and2)))) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by XBOOLE_1:4
.=
(({[<*x,y*>,and2]} \/ (InnerVertices (1GateCircStr (<*y,z*>,and2)))) \/ (InnerVertices (1GateCircStr (<*z,x*>,and2)))) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by CIRCCOMB:42
.=
(({[<*x,y*>,and2]} \/ {[<*y,z*>,and2]}) \/ (InnerVertices (1GateCircStr (<*z,x*>,and2)))) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by CIRCCOMB:42
.=
(({[<*x,y*>,and2]} \/ {[<*y,z*>,and2]}) \/ {[<*z,x*>,and2]}) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by CIRCCOMB:42
.=
({[<*x,y*>,and2],[<*y,z*>,and2]} \/ {[<*z,x*>,and2]}) \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by ENUMSET1:1
.=
{[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]} \/ (InnerVertices (1GateCircStr (<*[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]*>,or3)))
by ENUMSET1:3
.=
{[<*x,y*>,and2],[<*y,z*>,and2],[<*z,x*>,and2]} \/ {(GFA0CarryOutput (x,y,z))}
by CIRCCOMB:42
; verum