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
  for F being Function st F is_definable_in E holds F
  is_parametrically_definable_in E
proof
  set f = the Function of VAR,E;
  let F be Function;
  given H such that
A1: Free H c= { x.3,x.4 } and
A2: E |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0))) and
A3: F = def_func(H,E);
  take H,f;
A4: now
    let a be object;
    assume a in { x.0,x.1,x.2 };
    then a <> x3 & a <> x4 by ENUMSET1:def 1;
    hence not a in Free H by A1,TARSKI:def 2;
  end;
  hence { x.0,x.1,x.2 } misses Free H by XBOOLE_0:3;
  thus
A5: E,f |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0))) by A2;
  reconsider F1 = F as Function of E,E by A3;
A6: now
    assume x.0 in Free H;
    then not x.0 in { x.0,x.1,x.2 } by A4;
    hence contradiction by ENUMSET1:def 1;
  end;
  for g st for y st g.y <> f.y holds x.0 = y or x.3 = y or x.4 = y holds
  E,g |= H iff F1.(g.x.3) = g.x.4 by A1,A2,A3,Def2;
  hence thesis by A6,A5,Def1;
end;
