
theorem Th95:
  for x,y,z being set holds InnerVertices BitGFA2Str(x,y,z) = {[
<*x,y*>,xor2c]} \/ {GFA2AdderOutput(x,y,z)} \/ {[<*x,y*>,and2a], [<*y,z*>,and2c
  ], [<*z,x*>,nor2]} \/ {GFA2CarryOutput(x,y,z)}
proof
  let x,y,z be set;
  set f1 = and2a, f2 = and2c, f3 = nor2;
  set f0 = xor2c;
  set xyf0 = [<*x,y*>,f0];
  set xyf1 = [<*x,y*>,f1], yzf2 = [<*y,z*>,f2], zxf3 = [<*z,x*>,f3];
  set S = BitGFA2Str(x,y,z);
  set S1 = GFA2AdderStr(x,y,z);
  set S2 = GFA2CarryStr(x,y,z);
  set A1 = GFA2AdderOutput(x,y,z);
  set A2 = GFA2CarryOutput(x,y,z);
  thus InnerVertices S = (InnerVertices S1) \/ InnerVertices S2 by FACIRC_1:27
    .= {xyf0} \/ {A1} \/ InnerVertices S2 by Th87
    .= {xyf0} \/ {A1} \/ ({xyf1, yzf2, zxf3} \/ {A2}) by Th74
    .= {xyf0} \/ {A1} \/ {xyf1, yzf2, zxf3} \/ {A2} by XBOOLE_1:4;
end;
