
theorem Th29:
  for x,y,z being set st z <> [<*x,y*>, xor2] for s being State of
GFA0AdderCirc(x,y,z) for a1a2,a1,a2,a3 being Element of BOOLEAN st a1a2 = s.[<*
x,y*>,xor2] & a3 = s.z holds (Following s).GFA0AdderOutput(x,y,z) = a1a2 'xor'
  a3
proof
  set f = xor2;
  let x,y,z be set such that
A1: z <> [<*x,y*>,f];
  set A = GFA0AdderCirc(x,y,z);
  set xy = [<*x,y*>,f];
  let s be State of A;
  let a1a2,a1,a2,a3 be Element of BOOLEAN such that
A2: a1a2 = s.xy & a3 = s.z;
  thus (Following s).GFA0AdderOutput(x,y,z) = f.<*s.xy, s.z*> by A1,Lm3
    .= a1a2 'xor' a3 by A2,FACIRC_1:def 4;
end;
