 reserve x,y,z for object,
   i,j,k,l,n,m for Nat,
   D,E for non empty set;
 reserve M for Matrix of D;
 reserve L for Matrix of E;
 reserve k,t,i,j,m,n for Nat,
   D for non empty set;
 reserve V for free Z_Module;
 reserve a for Element of INT.Ring,
   W for Element of V;
 reserve KL1,KL2,KL3 for Linear_Combination of V,
   X for Subset of V;
 reserve V for finite-rank free Z_Module,
   W for Element of V;
 reserve KL1,KL2,KL3 for Linear_Combination of V,
   X for Subset of V;
 reserve s for FinSequence,
   V1,V2,V3 for finite-rank free Z_Module,
   f,f1,f2 for Function of V1,V2,
   g for Function of V2,V3,
   b1 for OrdBasis of V1,
   b2 for OrdBasis of V2,
   b3 for OrdBasis of V3,
   v1,v2 for Vector of V2,
   v,w for Element of V1;
 reserve p2,F for FinSequence of V1,
   p1,d for FinSequence of INT.Ring,
   KL for Linear_Combination of V1;

theorem
  a <> 0.INT.Ring implies AutMt(a*f,b1,b2) = a * (AutMt(f,b1,b2))
  proof
    assume
    A1: a <> 0.INT.Ring;
    A2: width AutMt(a*f,b1,b2) = width AutMt(f,b1,b2)
    proof
      per cases;
      suppose A3: len b1 = 0;
        then AutMt(a*f,b1,b2) = {} by Th38
        .= AutMt(f,b1,b2) by A3,Th38;
        hence thesis;
      end;
      suppose A4: len b1 > 0;
        hence width AutMt(a*f,b1,b2) = len b2 by Th39
        .= width AutMt(f,b1,b2) by A4,Th39;
      end;
    end;
    A5: width AutMt(a*f,b1,b2) = width (a * (AutMt(f,b1,b2)))
    by A2,MATRIX_3:def 5;
    A6: len AutMt(a*f,b1,b2) = len b1 by Def8
    .= len AutMt(f,b1,b2) by Def8;
    A8: for i, j st [i,j] in Indices (AutMt(a*f,b1,b2))
    holds (AutMt(a*f,b1,b2))*(i,j) = (a * (AutMt(f,b1,b2)))*(i,j)
    proof
      let i, j;
      assume A9: [i,j] in Indices (AutMt(a*f,b1,b2));
      then
      A11: [i,j] in Indices AutMt(f,b1,b2) by A2,A6,FINSEQ_3:29;
      A11A: AutMt(a*f,b1,b2)*(i,j) = a * (AutMt(f,b1,b2)*(i,j))
      proof
        consider p2 be FinSequence of INT such that
        A12: p2 = (AutMt(f,b1,b2)).i and
        A13: AutMt(f,b1,b2)*(i,j) = p2.j by A11,MATRIX_0:def 5;
        A14: i in dom AutMt(a*f,b1,b2) by A9,ZFMISC_1:87; then
        A15: i in dom b1 by Lm3;
        then i in dom AutMt(f,b1,b2) by Lm3; then
        A16: p2 = (AutMt(f,b1,b2))/.i by A12,PARTFUN1:def 6
        .= f.(b1/.i) |-- b2 by A15,Def8;
        reconsider b4 = rng b2 as Basis of V2 by defOrdBasis;
        consider p1 be FinSequence of INT such that
        A17: p1 = AutMt(a*f,b1,b2).i and
        A18: AutMt(a*f,b1,b2)*(i,j) = p1.j by A9,MATRIX_0:def 5;
        consider KL1 be Linear_Combination of V2 such that
        A19:  (a*f).(b1/.i) = Sum(KL1) & Carrier KL1 c= rng b2 and
        A20:  for t st 1<=t & t<=len ((a*f).(b1/.i) |-- b2) holds
        ((a*f).(b1/.i) |-- b2)/.t=KL1.(b2/.t) by Def7;
        consider KL2 be Linear_Combination of V2 such that
        A21: f.(b1/.i) = Sum(KL2) & Carrier KL2 c= rng b2 and
        A22:  for t st 1<=t & t<=len (f.(b1/.i) |-- b2) holds
        (f.(b1/.i) |-- b2)/.t= KL2.(b2/.t) by Def7;
        b4 is linearly-independent & (a*f).(b1/.i) = a * (f.(b1/.i))
        by VECTSP_7:def 3,MATRLIN:def 4; then
        A23: KL1.(b2/.j) = (a * KL2).(b2/.j) by A1,A19,A21,Th7
        .= a * KL2.(b2/.j) by VECTSP_6:def 9;
        A24: j in Seg width AutMt(a*f,b1,b2) by A9,ZFMISC_1:87; then
        A25: 1 <= j by FINSEQ_1:1;
        len b1 = len AutMt(a*f,b1,b2) by Def8;
        then dom b1 = dom AutMt(a*f,b1,b2) by FINSEQ_3:29;
        then dom b1 <> {} by A9;
        then Seg len b1 <> {} by FINSEQ_1:def 3;
        then len b1 > 0; then
        A26: j in Seg len b2 by A24,Th39; then
        A27: j <= len b2 by FINSEQ_1:1;
        then j <= len (f.(b1/.i) |-- b2) by Def7; then
        A28: p2/.j = KL2.(b2/.j) by A25,A16,A22;
        A29: j in dom b2 by A26,FINSEQ_1:def 3;
        then j in dom (f.(b1/.i) |-- b2) by Lm1; then
        A30: AutMt(f,b1,b2)*(i,j) = p2/.j by A13,A16,PARTFUN1:def 6;
        A31: p1 = (AutMt(a*f,b1,b2))/.i by A17,A14,PARTFUN1:def 6
        .= (a*f).(b1/.i) |-- b2 by A15,Def8;
        then
        A32: j in dom p1 by A29,Lm1;
        j <= len ((a*f).(b1/.i) |-- b2) by A27,Def7;
        then p1/.j = KL1.(b2/.j) by A25,A31,A20;
        hence thesis by A18,A32,A30,A28,A23,PARTFUN1:def 6;
      end;
      A110: [i,j] in Indices (AutMt(f,b1,b2))
      by A2,A6,A9,FINSEQ_3:29;
      (AutMt(a*f,b1,b2))*(i,j)
       = (a * (AutMt(f,b1,b2)))*(i,j) by A11A,A110,MATRIX_3:def 5;
      hence thesis;
    end;
    len (AutMt(a*f,b1,b2)) = len (AutMt(a*f,b1,b2))
    = len (a * (AutMt(f,b1,b2))) by A6,MATRIX_3:def 5;
    hence thesis by A5,A8,MATRIX_0:21;
  end;
