reserve x,y,z,c for object,
  f for Function of 2-tuples_on BOOLEAN, BOOLEAN;

theorem Th52:
  for X being finite non empty set, f being Function of 3
-tuples_on X, X for s being State of 1GateCircuit(<*x,y,z*>,f) holds (Following
s).[<*x,y,z*>, f] = f.<*s.x, s.y, s.z*> & (Following s).x = s.x & (Following s)
  .y = s.y & (Following s).z = s.z
proof
  let X be finite non empty set, f be Function of 3-tuples_on X, X;
  let s be State of 1GateCircuit(<*x,y,z*>,f);
  set p = <*x,y,z*>;
  dom s = the carrier of 1GateCircStr(p, f) by CIRCUIT1:3;
  then
A1: dom s = rng p \/ {[p,f]} by CIRCCOMB:def 6;
  y in {x,y,z} by ENUMSET1:def 1;
  then y in rng p by FINSEQ_2:128;
  then
A2: y in dom s by A1,XBOOLE_0:def 3;
  x in {x,y,z} by ENUMSET1:def 1;
  then x in rng p by FINSEQ_2:128;
  then
A3: x in dom s by A1,XBOOLE_0:def 3;
  z in {x,y,z} by ENUMSET1:def 1;
  then z in rng p by FINSEQ_2:128;
  then
A4: z in dom s by A1,XBOOLE_0:def 3;
  thus (Following s).[p, f] = f.(s*p) by CIRCCOMB:56
    .= f.<*s.x, s.y, s.z*> by A3,A2,A4,FINSEQ_2:126;
  reconsider x, y, z as Vertex of 1GateCircStr(p,f) by Th44;
A5: InputVertices 1GateCircStr(p,f) = rng p by CIRCCOMB:42
    .= {x,y,z} by FINSEQ_2:128;
  then
A6: z in InputVertices 1GateCircStr(p,f) by ENUMSET1:def 1;
  x in InputVertices 1GateCircStr(p,f) & y in InputVertices 1GateCircStr(
  p,f) by A5,ENUMSET1:def 1;
  hence thesis by A6,CIRCUIT2:def 5;
end;
