
theorem Th127:
  for x,y,z being set holds InnerVertices BitGFA3Str(x,y,z) = {[
<*x,y*>,xor2]} \/ {GFA3AdderOutput(x,y,z)} \/ {[<*x,y*>,nor2], [<*y,z*>,nor2]
  , [<*z,x*>,nor2]} \/ {GFA3CarryOutput(x,y,z)}
proof
  let x,y,z be set;
  set f1 = nor2, f2 = nor2, f3 = nor2;
  set f0 = xor2;
  set xyf0 = [<*x,y*>,f0];
  set xyf1 = [<*x,y*>,f1], yzf2 = [<*y,z*>,f2], zxf3 = [<*z,x*>,f3];
  set S = BitGFA3Str(x,y,z);
  set S1 = GFA3AdderStr(x,y,z);
  set S2 = GFA3CarryStr(x,y,z);
  set A1 = GFA3AdderOutput(x,y,z);
  set A2 = GFA3CarryOutput(x,y,z);
  thus InnerVertices S = (InnerVertices S1) \/ InnerVertices S2 by FACIRC_1:27
    .= {xyf0} \/ {A1} \/ InnerVertices S2 by Th119
    .= {xyf0} \/ {A1} \/ ({xyf1, yzf2, zxf3} \/ {A2}) by Th106
    .= {xyf0} \/ {A1} \/ {xyf1, yzf2, zxf3} \/ {A2} by XBOOLE_1:4;
end;
