reserve x,y,c for set;

theorem
  for x,y,c being non pair set holds InnerVertices
BitSubtracterWithBorrowStr(x,y,c) = {[<*x,y*>, 'xor'], 2GatesCircOutput(x,y,c,
'xor')} \/ {[<*x,y*>,and2a], [<*y,c*>,and2], [<*x,c*>,and2a]} \/ {BorrowOutput(
  x,y,c)}
proof
  let x,y,c be non pair set;
  set S1 = 2GatesCircStr(x,y,c, 'xor'), S2 = BorrowStr(x,y,c);
A1: {[<*x,y*>, 'xor'], 2GatesCircOutput(x,y,c,'xor')} \/ {[<*x,y*>,and2a], [
<*y,c *>,and2], [<*x,c*>,and2a]} \/ {BorrowOutput(x,y,c)} = {[<*x,y*>, 'xor'],
  2GatesCircOutput(x,y,c,'xor')} \/ ({[<*x,y*>,and2a],[<*y,c*>,and2],[<*x,c*>,
  and2a]} \/ {BorrowOutput(x,y,c)}) & InnerVertices S1 = {[<*x,y*>, 'xor'],
  2GatesCircOutput(x,y,c,'xor')} by FACIRC_1:56,XBOOLE_1:4;
  InnerVertices S2 = {[<*x,y*>,and2a], [<*y,c*>,and2], [<*x,c*>,and2a]} \/
  {BorrowOutput(x,y,c)} by Th9;
  hence thesis by A1,FACIRC_1:27;
end;
