reserve R,R1 for commutative Ring;
reserve A,B for non degenerated commutative Ring;
reserve o,o1,o2 for object;
reserve r,r1,r2 for Element of R;
reserve a,a1,a2,b,b1 for Element of A;
reserve f for Function of R, R1;
reserve p for Element of Spectrum A;
reserve S for non empty multiplicatively-closed Subset of R;
reserve u,v,w,x,y,z for Element of Frac(S);
reserve a, b, c for Element of Frac(S);
reserve x, y, z for Element of S~R;
reserve S for without_zero non empty multiplicatively-closed Subset of A;

theorem
   not 0.A in S & A is domRing implies ker canHom(S) = {0.A} &
   canHom(S) is one-to-one
   proof
     assume
A1:  not 0.A in S & A is domRing; then

::::proof for ker canHom(S) = {0.A}
A2:  ker canHom(S) c= ZeroDiv_Set(A) by Lm50;
A3:  ZeroDiv_Set(A) = {0.A} by A1,Th4;
A4:  (canHom(S)).0.A = Class(EqRel(S),(frac1(S)).0.A) by Def7
     .= Class(EqRel(S),0.(A,S)) by Def4
     .= 0.(S~A) by Def6;
A5:  0.A in ker canHom(S) by A4;
A6:  {0.A} is Subset of ker canHom(S) by A5,SUBSET_1:33;

:::::proof for canHom(S) is one-to-one
     for x,y be object st x in dom canHom(S) & y in dom canHom(S) &
     (canHom(S)).x = (canHom(S)).y holds x = y
     proof
       let x,y be object;
       assume
A8:    x in dom canHom(S) & y in dom canHom(S)
       & (canHom(S)).x = (canHom(S)).y; then
       reconsider a = x, b = y as Element of A;
A9:    0.(S~A) = (canHom(S)).a - (canHom(S)).b by A8,RLVECT_1:15
       .= (canHom(S)).(a-b) by Lm49;
A10:   a - b in ker canHom(S) by A9;
A11:   0.A = a + -b by A2, A3, A10, TARSKI:def 1;
       a = -(-b) by A11, RLVECT_1:6 .= b;
       hence thesis;
     end;
     hence thesis by A2,A3,A6,XBOOLE_0:def 10;
   end;
