 reserve V for Z_Module;
 reserve W for Subspace of V;
 reserve v, u for Vector of V;
 reserve i for Element of INT.Ring;

theorem HM1:
  for R being Ring
  for X, Y be LeftMod of R, L be linear-transformation of X, Y
  st L is bijective holds
  ex K be linear-transformation of Y, X
  st K = L" & K is bijective
  proof
    let R be Ring;
    let X, Y be LeftMod of R,
    L be linear-transformation of X, Y;
    assume
    A1: L is bijective; then
    P2: rng L = the carrier of Y by FUNCT_2:def 3;
    then reconsider K = L" as Function of Y,X by A1,FUNCT_2:25;
    D0: dom L = the carrier of X by FUNCT_2:def 1;
    B0: K is additive
    proof
      let x, y be Element of Y;
      consider a be Element of X such that
      B01: x = L.a by P2,FUNCT_2:113;
      consider b be Element of X such that
      B02: y = L.b by P2,FUNCT_2:113;
      B03: K.x = a by A1,FUNCT_1:34,D0,B01;
      B04: K.y = b by A1,FUNCT_1:34,D0,B02;
      x+y =L.(a+b) by VECTSP_1:def 20,B01,B02;
      hence K.(x+y) = K.x + K.y by B03,B04,A1,FUNCT_1:34,D0;
    end;
    for r be Element of R,x be Element of Y holds K.(r*x) = r*K.x
    proof
      let r be Element of R, x be Element of Y;
      consider a be Element of X such that
      B01: x = L.a by P2,FUNCT_2:113;
      B03: K.x = a by A1,FUNCT_1:34,D0,B01;
      r*x = L.(r*a) by MOD_2:def 2,B01;
      hence K.(r*x) = r*K.x by B03,A1,FUNCT_1:34,D0;
    end;
    then reconsider K as linear-transformation of Y, X by B0,MOD_2:def 2;
    take K;
    rng K = the carrier of X by D0,FUNCT_1:33,A1; then
    K is onto by FUNCT_2:def 3;
    hence thesis by A1;
  end;
