
theorem Th94:
  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) = 'not' a1 'xor'
  a2 'xor' 'not' a3
proof
  set f = xor2c;
  let x,y,z be set such that
A1: z <> [<*x,y*>,f];
  set A = GFA2AdderCirc(x,y,z);
  let s be State of A;
  let a1,a2,a3 be Element of BOOLEAN;
  assume a1 = s.x & a2 = s.y & a3 = s.z;
  hence
  (Following(s,2)).GFA2AdderOutput(x,y,z) = a1 'xor' 'not' a2 'xor' 'not'
  a3 by A1,Th93
    .= 'not' a1 'xor' a2 'xor' 'not' a3;
end;
