reserve x,y,z for Variable,
  H for ZF-formula,
  E for non empty set,
  a,b,c,X,Y,Z for set,
  u,v,w for Element of E,
  f,g,h,i,j for Function of VAR,E;

theorem Th13:
  for H,f,g st (for x st f.x <> g.x holds not x in Free H) & E,f
  |= H holds E,g |= H
proof
  defpred Th[ZF-formula] means for f,g st (for x st f.x <> g.x holds not x in
  Free $1) & E,f |= $1 holds E,g |= $1;
A1: for H st H is atomic holds Th[H]
  proof
    let H such that
A2: H is being_equality or H is being_membership;
    let f,g such that
A3: for x st f.x <> g.x holds not x in Free H and
A4: E,f |= H;
A5: now
      assume
A6:   H is being_membership;
      then
A7:   Free H = { Var1 H,Var2 H } by ZF_MODEL:1;
      then Var1 H in Free H by TARSKI:def 2;
      then
A8:   f.(Var1 H) = g.(Var1 H) by A3;
      Var2 H in Free H by A7,TARSKI:def 2;
      then
A9:   f.(Var2 H) = g.(Var2 H) by A3;
A10:  H = (Var1 H) 'in' Var2 H by A6,ZF_LANG:37;
      then f.(Var1 H) in f.(Var2 H) by A4,ZF_MODEL:13;
      hence thesis by A10,A8,A9,ZF_MODEL:13;
    end;
    now
      assume
A11:  H is being_equality;
      then
A12:  Free H = { Var1 H,Var2 H } by ZF_MODEL:1;
      then Var1 H in Free H by TARSKI:def 2;
      then
A13:  f.(Var1 H) = g.(Var1 H) by A3;
      Var2 H in Free H by A12,TARSKI:def 2;
      then
A14:  f.(Var2 H) = g.(Var2 H) by A3;
A15:  H = (Var1 H) '=' Var2 H by A11,ZF_LANG:36;
      then f.(Var1 H) = f.(Var2 H) by A4,ZF_MODEL:12;
      hence thesis by A15,A13,A14,ZF_MODEL:12;
    end;
    hence thesis by A2,A5;
  end;
A16: for H st H is conjunctive & Th[the_left_argument_of H] & Th[
  the_right_argument_of H] holds Th[H]
  proof
    let H;
    assume
A17: H is conjunctive;
    then
A18: H = (the_left_argument_of H) '&' the_right_argument_of H by ZF_LANG:40;
    assume that
A19: for f,g st (for x st f.x <> g.x holds not x in Free
    the_left_argument_of H)& E,f |= the_left_argument_of H holds E,g |=
    the_left_argument_of H and
A20: for f,g st (for x st f.x <> g.x holds not x in Free
    the_right_argument_of H)& E,f |= the_right_argument_of H holds E,g |=
    the_right_argument_of H;
    let f,g such that
A21: for x st f.x <> g.x holds not x in Free H and
A22: E,f |= H;
A23: Free H = Free the_left_argument_of H \/ Free the_right_argument_of H
    by A17,ZF_MODEL:1;
A24: now
      let x;
      assume f.x <> g.x;
      then not x in Free H by A21;
      hence not x in Free the_right_argument_of H by A23,XBOOLE_0:def 3;
    end;
A25: now
      let x;
      assume f.x <> g.x;
      then not x in Free H by A21;
      hence not x in Free the_left_argument_of H by A23,XBOOLE_0:def 3;
    end;
    E,f |= the_right_argument_of H by A18,A22,ZF_MODEL:15;
    then
A26: E,g |= the_right_argument_of H by A20,A24;
    E,f |= the_left_argument_of H by A18,A22,ZF_MODEL:15;
    then E,g |= the_left_argument_of H by A19,A25;
    hence thesis by A18,A26,ZF_MODEL:15;
  end;
A27: for H st H is universal & Th[the_scope_of H] holds Th[H]
  proof
    let H;
    assume
A28: H is universal;
    then
A29: H = All(bound_in H,the_scope_of H) by ZF_LANG:44;
    assume
A30: for f,g st (for x st f.x <> g.x holds not x in Free the_scope_of
    H)& E,f |= the_scope_of H holds E,g |= the_scope_of H;
    let f,g such that
A31: for x st f.x <> g.x holds not x in Free H and
A32: E,f |= H;
A33: Free H = Free the_scope_of H \ { bound_in H } by A28,ZF_MODEL:1;
    now
      let j such that
A34:  for x st j.x <> g.x holds bound_in H = x;
      set h = f+*(bound_in H,j.(bound_in H));
A35:  now
        let x;
        assume
A36:    h.x <> j.x;
        then
A37:    x <> bound_in H by FUNCT_7:128;
        then h.x = f.x & j.x = g.x by A34,FUNCT_7:32;
        then
A38:    not x in Free H by A31,A36;
        not x in { bound_in H } by A37,TARSKI:def 1;
        hence not x in Free the_scope_of H by A33,A38,XBOOLE_0:def 5;
      end;
      for x st h.x <> f.x holds bound_in H = x by FUNCT_7:32;
      then E,h |= the_scope_of H by A29,A32,ZF_MODEL:16;
      hence E,j |= the_scope_of H by A30,A35;
    end;
    hence thesis by A29,ZF_MODEL:16;
  end;
A39: for H st H is negative & Th[the_argument_of H] holds Th[H]
  proof
    let H;
    assume
A40: H is negative;
    then
A41: Free H = Free the_argument_of H by ZF_MODEL:1;
    assume
A42: for f,g st (for x st f.x <> g.x holds not x in Free
the_argument_of H)& E,f |= the_argument_of H holds E,g |= the_argument_of H;
    let f,g such that
A43: for x st f.x <> g.x holds not x in Free H and
A44: E,f |= H and
A45: not E,g |= H;
A46: H = 'not' the_argument_of H by A40,ZF_LANG:def 30;
    then E,g |= the_argument_of H by A45,ZF_MODEL:14;
    then E,f |= the_argument_of H by A41,A42,A43;
    hence thesis by A46,A44,ZF_MODEL:14;
  end;
  thus for H holds Th[H] from ZF_LANG:sch 1(A1,A39,A16,A27);
end;
