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 Th157:
  H/(x,y) in WFF
proof
  defpred P[ZF-formula] means $1/(x,y) in WFF;
A1: for H st P[H] holds P[('not' H)]
  proof
    let H;
    assume H/(x,y) in WFF;
    then reconsider F = H/(x,y) as ZF-formula by ZF_LANG:4;
    'not' F = ('not' H)/(x,y) by Th156;
    hence thesis by ZF_LANG:4;
  end;
A2: for H1,H2 st P[H1] & P[H2] holds P[H1 '&' H2]
  proof
    let H1,H2;
    assume H1/(x,y) in WFF & H2/(x,y) in WFF;
    then reconsider F1 = H1/(x,y), F2 = H2/(x,y) as ZF-formula by ZF_LANG:4;
    F1 '&' F2 = (H1 '&' H2)/(x,y) by Lm1;
    hence thesis by ZF_LANG:4;
  end;
A3: for H,z st P[H] holds P[All(z,H)]
  proof
    let H,z;
    assume H/(x,y) in WFF;
    then reconsider F = H/(x,y) as ZF-formula by ZF_LANG:4;
    z <> x or z = x;
    then consider s such that
A4: s = z & z <> x or s = y & z = x;
    All(s,F) = All(z,H)/(x,y) by A4,Lm2;
    hence thesis by ZF_LANG:4;
  end;
A5: for x1,x2 holds P[x1 '=' x2] & P[x1 'in' x2]
  proof
    let x1,x2;
    ( ex y1,y2 st (x1 '=' x2)/(x,y) = y1 '=' y2)& ex z1,z2 st (x1 'in' x2)
    /(x,y) = z1 'in' z2 by Th153,Th155;
    hence thesis by ZF_LANG:4;
  end;
  for H holds P[H] from ZFInduction(A5,A1,A2,A3);
  hence thesis;
end;
