
theorem Th2:
  for a,b being FinSequence holds
  0-BitSubtracterStr(a,b) = 1GateCircStr(<*>,(0-tuples_on BOOLEAN)-->TRUE) &
  0-BitSubtracterCirc(a,b) = 1GateCircuit(<*>,(0-tuples_on BOOLEAN)-->TRUE) &
  0-BitBorrowOutput(a,b) = [<*>, (0-tuples_on BOOLEAN)-->TRUE]
proof
  let a,b be FinSequence;
A1: ex f,g,h being ManySortedSet of NAT st ( 0-BitSubtracterStr(
  a,b) = f.0)&( 0-BitSubtracterCirc(a,b) = g.0)&( f.0 = 1GateCircStr(<*>,(0
-tuples_on BOOLEAN)-->TRUE))&( g.0 = 1GateCircuit(<*>,(0-tuples_on BOOLEAN)-->
TRUE))&( h.0 = [<*>, (0-tuples_on BOOLEAN)-->TRUE])&( for n being Nat, S being
non empty ManySortedSign, A being non-empty MSAlgebra over S for z being set st
S = f.n & A = g.n & z = h.n holds f.(n+1) = S +* BitSubtracterWithBorrowStr(a .
(n+1), b.(n+1), z) & g.(n+1) = A +* BitSubtracterWithBorrowCirc(a .(n+1), b.(n+
  1), z) & h.(n+1) = BorrowOutput(a.(n+1), b.(n+1), z)) by Def2;
  hence 0-BitSubtracterStr(a,b)
  = 1GateCircStr(<*>,(0-tuples_on BOOLEAN)-->TRUE);
  thus 0-BitSubtracterCirc(a,b)
  = 1GateCircuit(<*>,(0-tuples_on BOOLEAN)-->TRUE) by A1;
  InnerVertices (0-BitSubtracterStr(a,b))
  = { [<*>,(0-tuples_on BOOLEAN)-->TRUE] } by A1,CIRCCOMB:42;
  hence thesis by TARSKI:def 1;
end;
