reserve p,p1,p2,q,r,F,G,G1,G2,H,H1,H2 for ZF-formula,
  x,x1,x2,y,y1,y2,z,z1,z2,s,t for Variable,
  a,X for set;
reserve M for non empty set,
  m,m9 for Element of M,
  v,v9 for Function of VAR,M;
reserve i,j for Element of NAT;

theorem
  M |= x '=' y iff x = y or ex a st {a} = M
proof
  thus M |= x '=' y implies x = y or ex a st {a} = M
  proof
    set v = the Function of VAR,M;
    set m = the Element of M;
    assume that
A1: for v holds M,v |= x '=' y and
A2: x <> y;
    reconsider a = m as set;
    take a;
    thus {a} c= M by ZFMISC_1:31;
    let b be object;
    assume that
A3: b in M and
A4: not b in {a};
    reconsider b as Element of M by A3;
    M,(v/(x,m))/(y,b) |= x '=' y by A1;
    then
A5: (v/(x,m))/(y,b).x = (v/(x,m))/(y,b).y by ZF_MODEL:12;
A6: v/(x,m).x = m & (v/(x,m))/(y,b).y = b by FUNCT_7:128;
    (v/(x,m))/(y,b).x = v/(x,m).x by A2,FUNCT_7:32;
    hence contradiction by A4,A5,A6,TARSKI:def 1;
  end;
  now
    given a such that
A7: {a} = M;
    let v;
    v.x = a & v.y = a by A7,TARSKI:def 1;
    hence M,v |= x '=' y by ZF_MODEL:12;
  end;
  hence thesis by Th79;
end;
