reserve X,X1,X2,Y,Y1,Y2 for set, p,x,x1,x2,y,y1,y2,z,z1,z2 for object;
reserve f,g,g1,g2,h for Function,
  R,S for Relation;

theorem Th52:
  g = Y|`f iff (for x holds x in dom g iff x in dom f & f.x in Y) &
  for x st x in dom g holds g.x = f.x
proof
  hereby
    assume
A1: g = Y|`f;
    hereby
      let x;
      hereby
        assume x in dom g;
        then
A2:     [x,g.x] in g by Def2;
        then
A3:     [x,g.x] in f by A1,RELAT_1:def 12;
        hence x in dom f by XTUPLE_0:def 12;
        then f.x = g.x by A3,Def2;
        hence f.x in Y by A1,A2,RELAT_1:def 12;
      end;
      assume x in dom f;
      then
A4:   [x,f.x] in f by Def2;
      assume f.x in Y;
      then [x,f.x] in g by A1,A4,RELAT_1:def 12;
      hence x in dom g by XTUPLE_0:def 12;
    end;
    let x;
    assume x in dom g;
    then [x,g.x] in g by Def2;
    then
A5: [x,g.x] in f by A1,RELAT_1:def 12;
    then x in dom f by XTUPLE_0:def 12;
    hence f.x = g.x by A5,Def2;
  end;
  assume that
A6: for x holds x in dom g iff x in dom f & f.x in Y and
A7: for x st x in dom g holds g.x = f.x;
  now
    let x,y be object;
    hereby
      assume
A8:   [x,y] in g;
      then
A9:   x in dom g by XTUPLE_0:def 12;
      reconsider yy=y as set by TARSKI:1;
A10:  yy = g.x by A8,Def2,A9
        .= f.x by A7,A9;
      hence y in Y by A6,A9;
      x in dom f by A6,A9;
      hence [x,y] in f by A10,Def2;
    end;
    assume
A11: y in Y;
    assume
A12: [x,y] in f;
    then
A13: y = f.x by Th1;
    x in dom f by A12,XTUPLE_0:def 12;
    then
A14: x in dom g by A6,A11,A13;
    then y = g.x by A7,A13;
    hence [x,y] in g by A14,Def2;
  end;
  hence thesis by RELAT_1:def 12;
end;
