reserve x,y,z,x1,x2,x3,x4,y1,y2,s for Variable,
  M for non empty set,
  a,b for set,
  i,j,k for Element of NAT,
  m,m1,m2,m3,m4 for Element of M,
  H,H1,H2 for ZF-formula,
  v,v9,v1,v2 for Function of VAR,M;
reserve F,G for Function;

theorem Th19:
  not x.0 in Free H implies (M,v |= All(x.3,Ex(x.0,All(x.4,H <=>
x.4 '=' x.0))) iff for m1 ex m2 st for m3 holds M,v/(x.3,m1)/(x.4,m3) |= H iff
  m3 = m2)
proof
  assume
A1: not x.0 in Free H;
  thus M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0))) implies for m1 ex m2
  st for m3 holds M,v/(x.3,m1)/(x.4,m3) |= H iff m3 = m2
  proof
    assume
A2: M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0)));
    let m1;
    M,v/(x.3,m1) |= Ex(x.0,All(x.4,H <=> x.4 '=' x.0)) by A2,ZF_LANG1:71;
    then consider m2 such that
A3: M,v/(x.3,m1)/(x.0,m2) |= All(x.4,H <=> x.4 '=' x.0) by ZF_LANG1:73;
    take m2;
    let m3;
    thus M,v/(x.3,m1)/(x.4,m3) |= H implies m3 = m2
    proof
      assume M,v/(x.3,m1)/(x.4,m3) |= H;
      then M,v/(x.3,m1)/(x.4,m3)/(x.0,m2) |= H by A1,Th9;
      then
A4:   M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= H by FUNCT_7:33,ZF_LANG1:76;
      M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= H <=> x.4 '=' x.0 by A3,ZF_LANG1:71;
      then
A5:   M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= x.4 '=' x.0 by A4,ZF_MODEL:19;
A6:   m2 = v/(x.3,m1)/(x.0,m2).(x.0) by FUNCT_7:128;
A7:   v/(x.3,m1)/(x.0,m2)/(x.4,m3).(x.0) = v/(x.3,m1)/(x.0,m2).(x.0) by
FUNCT_7:32,ZF_LANG1:76;
      v/(x.3,m1)/(x.0,m2)/(x.4,m3).(x.4) = m3 by FUNCT_7:128;
      hence thesis by A6,A7,A5,ZF_MODEL:12;
    end;
    assume m3 = m2;
    then
A8: M,v/(x.3,m1)/(x.0,m3)/(x.4,m3) |= H <=> x.4 '=' x.0 by A3,ZF_LANG1:71;
A9: v/(x.3,m1)/(x.0,m3)/(x.4,m3).(x.0) = v/(x.3,m1)/(x.0,m3).(x.0) by
FUNCT_7:32,ZF_LANG1:76;
A10: v/(x.3,m1)/(x.0,m3).(x.0) = m3 by FUNCT_7:128;
    v/(x.3,m1)/(x.0,m3)/(x.4,m3).(x.4) = m3 by FUNCT_7:128;
    then M,v/(x.3,m1)/(x.0,m3)/(x.4,m3) |= x.4 '=' x.0 by A9,A10,ZF_MODEL:12;
    then M,v/(x.3,m1)/(x.0,m3)/(x.4,m3) |= H by A8,ZF_MODEL:19;
    then M,v/(x.3,m1)/(x.4,m3)/(x.0,m3) |= H by FUNCT_7:33,ZF_LANG1:76;
    hence thesis by A1,Th9;
  end;
  assume
A11: for m1 ex m2 st for m3 holds M,v/(x.3,m1)/(x.4,m3) |= H iff m3 = m2;
  now
    let m1;
    consider m2 such that
A12: M,v/(x.3,m1)/(x.4,m3) |= H iff m3 = m2 by A11;
    now
      let m3;
A13:  v/(x.3,m1)/(x.0,m2)/(x.4,m3).(x.0) = v/(x.3,m1)/(x.0,m2).(x.0) by
FUNCT_7:32,ZF_LANG1:76;
A14:  v/(x.3,m1)/(x.0,m2).(x.0) = m2 by FUNCT_7:128;
A15:  v/(x.3,m1)/(x.0,m2)/(x.4,m3).(x.4) = m3 by FUNCT_7:128;
A16:  now
        assume M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= x.4 '=' x.0;
        then m3 = m2 by A15,A13,A14,ZF_MODEL:12;
        then M,v/(x.3,m1)/(x.4,m3) |= H by A12;
        then M,v/(x.3,m1)/(x.4,m3)/(x.0,m2) |= H by A1,Th9;
        hence M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= H by FUNCT_7:33,ZF_LANG1:76;
      end;
      now
        assume M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= H;
        then M,v/(x.3,m1)/(x.4,m3)/(x.0,m2) |= H by FUNCT_7:33,ZF_LANG1:76;
        then M,v/(x.3,m1)/(x.4,m3) |= H by A1,Th9;
        then m3 = m2 by A12;
        hence M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= x.4 '=' x.0 by A15,A13,A14,
ZF_MODEL:12;
      end;
      hence M,v/(x.3,m1)/(x.0,m2)/(x.4,m3) |= H <=> x.4 '=' x.0 by A16,
ZF_MODEL:19;
    end;
    then M,v/(x.3,m1)/(x.0,m2) |= All(x.4,H <=> x.4 '=' x.0) by ZF_LANG1:71;
    hence M,v/(x.3,m1) |= Ex(x.0,All(x.4,H <=> x.4 '=' x.0)) by ZF_LANG1:73;
  end;
  hence thesis by ZF_LANG1:71;
end;
