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 Th38:
  f is one-to-one implies f"*f = id dom f & f*f" = id rng f
proof
  assume
A1: f is one-to-one;
A2: x in dom(f"*f) implies (f"*f).x = x
  proof
    assume x in dom(f"*f);
    then x in dom f by A1,Th35;
    hence thesis by A1,Th33;
  end;
A3: x in dom(f*f") implies (f*f").x = x
  proof
    assume x in dom(f*f");
    then x in rng f by A1,Th36;
    hence thesis by A1,Th34;
  end;
  dom(f"*f) = dom f by A1,Th35;
  hence f"*f = id dom f by A2,Th17;
  dom(f*f") = rng f by A1,Th36;
  hence thesis by A3,Th17;
end;
