
theorem Th93:
  for x,y,z being set st z <> [<*x,y*>, xor2c] for s being State
of GFA2AdderCirc(x,y,z) for a1,a2,a3 being Element of BOOLEAN st a1 = s.x & a2
  = s.y & a3 = s.z holds Following(s,2).GFA2AdderOutput(x,y,z) = a1 'xor' 'not'
  a2 'xor' 'not' a3 & Following(s,2).[<*x,y*>,xor2c] = a1 'xor' 'not' a2 &
  Following(s,2).x = a1 & Following(s,2).y = a2 & Following(s,2).z = a3
proof
  set f = xor2c;
  let x,y,z be set such that
A1: z <> [<*x,y*>,f];
  set O1 = GFA1AdderOutput(x,y,z);
  set O2 = GFA2AdderOutput(x,y,z);
  set A1 = GFA1AdderCirc(x,y,z);
  set A2 = GFA2AdderCirc(x,y,z);
  A2 = A1 & O2 = O1;
  hence thesis by A1,Th61;
end;
