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 Th23:
  id M is_definable_in M
proof
  take H = x.3 '=' x.4;
  thus
A1: Free H c= {x.3,x.4} by ZF_LANG1:58;
  reconsider i = id M as Function of M,M;
  now
    let v;
    now
      let m3;
      now
        let m4;
A2:     m3 = v/(x.3,m3).(x.3) by FUNCT_7:128;
A3:     v/(x.3,m3)/(x.0,m3)/(x.4,m4).(x.0) = v/(x.3,m3)/(x.0,m3).(x.0) by
FUNCT_7:32,ZF_LANG1:76;
A4:     v/(x.3,m3)/(x.0,m3).(x.0) = m3 by FUNCT_7:128;
A5:     v/(x.3,m3)/(x.0,m3).(x.3) = v/(x.3,m3).(x.3) by FUNCT_7:32,ZF_LANG1:76;
A6:     v/(x.3,m3)/(x.0,m3)/(x.4,m4).(x.3) = v/(x.3,m3)/(x.0,m3).(x.3) by
FUNCT_7:32,ZF_LANG1:76;
A7:     now
          assume M,v/(x.3,m3)/(x.0,m3)/(x.4,m4) |= H;
          then v/(x.3,m3)/(x.0,m3)/(x.4,m4).(x.3) = v/(x.3,m3)/(x.0,m3)/(x.4,
          m4).(x.4) by ZF_MODEL:12;
          hence
          M,v/(x.3,m3)/(x.0,m3)/(x.4,m4) |= x.4 '=' x.0 by A6,A2,A5,A3,A4,
ZF_MODEL:12;
        end;
A8:     v/(x.3,m3)/(x.0,m3)/(x.4,m4).(x.4) = m4 by FUNCT_7:128;
        now
          assume M,v/(x.3,m3)/(x.0,m3)/(x.4,m4) |= x.4 '=' x.0;
          then m4 = m3 by A3,A4,A8,ZF_MODEL:12;
          hence M,v/(x.3,m3)/(x.0,m3)/(x.4,m4) |= H by A6,A2,A5,A8,ZF_MODEL:12;
        end;
        hence M,v/(x.3,m3)/(x.0,m3)/(x.4,m4) |= H <=> x.4 '=' x.0 by A7,
ZF_MODEL:19;
      end;
      then M,v/(x.3,m3)/(x.0,m3) |= All(x.4,H <=> x.4 '=' x.0) by ZF_LANG1:71;
      hence M,v/(x.3,m3) |= Ex(x.0,All(x.4,H <=> x.4 '=' x.0)) by ZF_LANG1:73;
    end;
    hence M,v |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0))) by ZF_LANG1:71;
  end;
  hence
A9: M |= All(x.3,Ex(x.0,All(x.4,H <=> x.4 '=' x.0)));
  now
    set v = the Function of VAR,M;
    let a be Element of M;
A10: a = v/(x.3,a).(x.3) by FUNCT_7:128;
A11: v/(x.3,a)/(x.4,a).(x.4) = a by FUNCT_7:128;
A12: v/(x.3,a)/(x.4,a).(x.3) = v/(x.3,a).(x.3) by FUNCT_7:32,ZF_LANG1:76;
    then M,v/(x.3,a)/(x.4,a) |= H by A10,A11,ZF_MODEL:12;
    then def_func(H,M).a = a by A1,A9,A12,A10,A11,ZFMODEL1:def 2;
    hence i.a = def_func(H,M).a;
  end;
  hence id M = def_func(H,M);
end;
