
theorem Th25:
  for R, S be non empty doubleLoopStr, P be Function of R, S st P
  is RingIsomorphism holds P" is RingIsomorphism
proof
  let R, S be non empty doubleLoopStr, P be Function of R, S;
  assume
A1: P is RingIsomorphism;
  then
A2: P is RingEpimorphism;
  then
A3: P is onto;
A4: P is one-to-one by A1;
A5: P is additive multiplicative unity-preserving by A2;
  for x,y being Element of S holds P".(x+y) = P".x + P".y & P".(x*y) = P".
  x * P".y & P".(1_S) = 1_R
  proof
A6: P is onto by A3;
A7: P".(1_S) = P".(P.(1_R)) by A5,GROUP_1:def 13
      .= ((P qua Function)").(P.(1_R)) by A4,A6,TOPS_2:def 4
      .= 1_R by A4,FUNCT_2:26;
    let x,y be Element of S;
    consider x9 being object such that
A8: x9 in the carrier of R and
A9: P.(x9) = x by A3,FUNCT_2:11;
    reconsider x9 as Element of R by A8;
A10: x9 = ((P qua Function)").(P.(x9)) by A4,FUNCT_2:26
      .= P".x by A4,A9,A6,TOPS_2:def 4;
    consider y9 being object such that
A11: y9 in the carrier of R and
A12: P.(y9) = y by A3,FUNCT_2:11;
    reconsider y9 as Element of R by A11;
A13: y9 = ((P qua Function)").(P.(y9)) by A4,FUNCT_2:26
      .= P".y by A6,A4,A12,TOPS_2:def 4;
A14: P".(x*y) = P".(P.(x9*y9)) by A5,A9,A12
      .= ((P qua Function)").(P.(x9*y9)) by A4,A6,TOPS_2:def 4
      .= P".x * P".y by A4,A10,A13,FUNCT_2:26;
    P".(x+y) = P".(P.(x9+y9)) by A5,A9,A12
      .= ((P qua Function)").(P.(x9+y9)) by A4,A6,TOPS_2:def 4
      .= P".x + P".y by A4,A10,A13,FUNCT_2:26;
    hence thesis by A14,A7;
  end;
  then P" is additive multiplicative unity-preserving by GROUP_1:def 13;
  then
A15: P" is RingHomomorphism;
A16: rng P = [#]S by A3;
  then rng(P") = [#]R by A4,TOPS_2:49;
  then P" is onto;
   then
A17: P" is RingEpimorphism by A15;
  P" is one-to-one by A4,A16,TOPS_2:50;
  hence thesis by A17;
end;
