
theorem Th5:
  for ap,bp,cp,dp,cin being set holds [<*ap,bp*>,xor2] in
  InnerVertices BitFTA0Str(ap,bp,cp,dp,cin) & GFA0AdderOutput(ap,bp,cp) in
  InnerVertices BitFTA0Str(ap,bp,cp,dp,cin) & [<*ap,bp*>,and2] in InnerVertices
BitFTA0Str(ap,bp,cp,dp,cin) & [<*bp,cp*>,and2] in InnerVertices BitFTA0Str(ap,
bp,cp,dp,cin) & [<*cp,ap*>,and2] in InnerVertices BitFTA0Str(ap,bp,cp,dp,cin) &
  GFA0CarryOutput(ap,bp,cp) in InnerVertices BitFTA0Str(ap,bp,cp,dp,cin) & [<*
GFA0AdderOutput(ap,bp,cp),cin*>,xor2] in InnerVertices BitFTA0Str(ap,bp,cp,dp,
  cin) & GFA0AdderOutput(GFA0AdderOutput(ap,bp,cp),cin,dp) in InnerVertices
  BitFTA0Str(ap,bp,cp,dp,cin) & [<*GFA0AdderOutput(ap,bp,cp),cin*>,and2] in
InnerVertices BitFTA0Str(ap,bp,cp,dp,cin) & [<*cin,dp*>,and2] in InnerVertices
  BitFTA0Str(ap,bp,cp,dp,cin) & [<*dp,GFA0AdderOutput(ap,bp,cp)*>,and2] in
InnerVertices BitFTA0Str(ap,bp,cp,dp,cin) & GFA0CarryOutput(GFA0AdderOutput(ap,
  bp,cp),cin,dp) in InnerVertices BitFTA0Str(ap,bp,cp,dp,cin)
proof
  let ap,bp,cp,dp,cin be set;
  set S = BitFTA0Str(ap,bp,cp,dp,cin);
  set A1 = GFA0AdderOutput(ap,bp,cp);
  set C1 = GFA0CarryOutput(ap,bp,cp);
  set A2 = GFA0AdderOutput(A1,cin,dp);
  set C2 = GFA0CarryOutput(A1,cin,dp);
  set apbp0 = [<*ap,bp*>, xor2];
  set apbp = [<*ap,bp*>, and2];
  set bpcp = [<*bp,cp*>, and2];
  set cpap = [<*cp,ap*>, and2];
  set A1cin0 = [<*A1,cin*>,xor2];
  set A1cin = [<*A1,cin*>,and2];
  set cindp = [<*cin,dp*>,and2];
  set dpA1 = [<*dp,A1*>, and2];
  set p1 = {apbp0,A1,apbp,bpcp,cpap,C1};
  set p2 = {A1cin0,A2,A1cin,cindp,dpA1,C2};
A1: apbp0 in p1 & A1 in p1 by ENUMSET1:def 4;
A2: apbp in p1 & bpcp in p1 by ENUMSET1:def 4;
A3: A1cin0 in p2 & A2 in p2 by ENUMSET1:def 4;
A4: cpap in p1 & C1 in p1 by ENUMSET1:def 4;
A5: dpA1 in p2 & C2 in p2 by ENUMSET1:def 4;
A6: A1cin in p2 & cindp in p2 by ENUMSET1:def 4;
  InnerVertices S = {apbp0,A1} \/ {apbp,bpcp,cpap,C1} \/ {A1cin0,A2} \/ {
  A1cin,cindp,dpA1,C2} by Th1
    .= p1 \/ {A1cin0,A2} \/ {A1cin,cindp,dpA1,C2} by ENUMSET1:12
    .= p1 \/ ({A1cin0,A2} \/ {A1cin,cindp,dpA1,C2}) by XBOOLE_1:4
    .= p1 \/ p2 by ENUMSET1:12;
  hence thesis by A1,A2,A4,A3,A6,A5,XBOOLE_0:def 3;
end;
