
theorem Th8:
  for a,b being FinSequence, c being set st
  c = [<*>, (0-tuples_on BOOLEAN)-->FALSE] holds
  1-BitAdderStr(a,b) = 1GateCircStr(<*>, (0-tuples_on BOOLEAN)-->FALSE)+*
  BitAdderWithOverflowStr(a.1, b.1, c) &
  1-BitAdderCirc(a,b) = 1GateCircuit(<*>, (0-tuples_on BOOLEAN)-->FALSE)+*
  BitAdderWithOverflowCirc(a.1, b.1, c) &
  1-BitMajorityOutput(a,b) = MajorityOutput(a.1, b.1, c)
proof
  let a,b being FinSequence, c be set such that
A1: c = [<*>, (0-tuples_on BOOLEAN)-->FALSE];
  consider f,g,h being ManySortedSet of NAT such that
A2: 1-BitAdderStr(a,b) = f.1 and
A3: 1-BitAdderCirc(a,b) = g.1 and
A4: f.0 = 1GateCircStr(<*>,(0-tuples_on BOOLEAN)-->FALSE) and
A5: g.0 = 1GateCircuit(<*>,(0-tuples_on BOOLEAN)-->FALSE) and
A6: h.0 = c and
A7: for n being Nat, S being non empty ManySortedSign,
  A being non-empty MSAlgebra over S
  for z be set st S = f.n & A = g.n & z = h.n
  holds f.(n+1) = S+*BitAdderWithOverflowStr(a.(n+1),b.(n+1), z) &
  g.(n+1) = A+*BitAdderWithOverflowCirc(a.(n+1),b.(n+1), z) &
  h.(n+1) = MajorityOutput(a.(n+1), b.(n+1), z) by A1,Def4;
  1-BitMajorityOutput(a,b) = h.(0+1) by A1,A4,A5,A6,A7,Th6;
  hence thesis by A2,A3,A4,A5,A6,A7;
end;
