
theorem Th125:
  for x,y,z being set st z <> [<*x,y*>, xor2] for s being State
of GFA3AdderCirc(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).GFA3AdderOutput(x,y,z) = a1 'xor' a2
'xor' a3 & Following(s,2).[<*x,y*>,xor2] = a1 'xor' a2 & Following(s,2).x = a1
  & Following(s,2).y = a2 & Following(s,2).z = a3
proof
  set f = xor2;
  let x,y,z be set such that
A1: z <> [<*x,y*>,f];
  set O0 = GFA0AdderOutput(x,y,z);
  set O3 = GFA3AdderOutput(x,y,z);
  set A0 = GFA0AdderCirc(x,y,z);
  set A3 = GFA3AdderCirc(x,y,z);
  A3 = A0 & O3 = O0;
  hence thesis by A1,Th30;
end;
