reserve i, j, m, n, k for Nat,
  x, y for set,
  K for Field,
  a,a1 for Element of K;
reserve V1,V2,V3 for finite-dimensional VectSp of K,
  f for Function of V1,V2,

  b1,b19 for OrdBasis of V1,
  B1 for FinSequence of V1,
  b2 for OrdBasis of V2,
  B2 for FinSequence of V2,

  B3 for FinSequence of V3,
  v1,w1 for Element of V1,
  R,R1,R2 for FinSequence of V1,
  p,p1,p2 for FinSequence of K;

theorem
  for f be linear-transformation of V1,V2 for W1,W2 be Subspace of V1,U1
,U2 be Subspace of V2 st ( dim W1 =0 implies dim U1 = 0 )& ( dim W2 =0 implies
dim U2 = 0 )& V2 is_the_direct_sum_of U1,U2 for fW1 be linear-transformation of
W1,U1, fW2 be linear-transformation of W2,U2 st fW1 = f | W1 & fW2 = f | W2 for
  w1 be OrdBasis of W1, w2 be OrdBasis of W2, u1 be OrdBasis of U1, u2 be
OrdBasis of U2 st w1^w2 = b1 & u1^u2 = b2 holds AutMt(f,b1,b2) = block_diagonal
  (<*AutMt(fW1,w1,u1),AutMt(fW2,w2,u2)*>,0.K)
proof
  let f be linear-transformation of V1,V2;
  let W1,W2 be Subspace of V1,U1,U2 be Subspace of V2 such that
A1: dim W1 =0 implies dim U1 = 0 and
A2: dim W2 =0 implies dim U2 = 0 and
A3: V2 is_the_direct_sum_of U1,U2;
A4: U1/\U2=(0).V2 by A3,VECTSP_5:def 4;
  let fW1 be linear-transformation of W1,U1;
  let fW2 be linear-transformation of W2,U2 such that
A5: fW1=f|W1 and
A6: fW2=f|W2;
  let w1 be OrdBasis of W1,w2 be OrdBasis of W2, u1 be OrdBasis of U1,u2 be
  OrdBasis of U2 such that
A7: w1^w2=b1 and
A8: u1^u2=b2;
A9: len b1=len w1+len w2 by A7,FINSEQ_1:22;
A10: U1 + U2=(Omega).V2 by A3,VECTSP_5:def 4;
  set A=AutMt(f,b1,b2);
A11: len b1=len A by MATRLIN:def 8;
  set A2=AutMt(fW2,w2,u2);
A12: len w2=dim W2 & len u2=dim U2 by Th21;
  then
A13: len w2=len A2 by A2,MATRIX13:1;
  set A1=AutMt(fW1,w1,u1);
A14: len w1=dim W1 & len u1=dim U1 by Th21;
  then
A15: len w1=len A1 by A1,MATRIX13:1;
A16: len u2=width A2 by A2,A12,MATRIX13:1;
A17: len u1=width A1 by A1,A14,MATRIX13:1;
A18: now
    reconsider uu=u1^u2 as OrdBasis of U1+U2 by A4,Th26;
    let i;
A19: dom A=Seg len A by FINSEQ_1:def 3;
    reconsider fb=f.(b1/.i),fbi=f.(b1/.(i+len A1)) as Vector of U1+U2 by A10;
A20: dom A=dom b1 by A11,FINSEQ_3:29;
A21: dom A1=dom w1 by A15,FINSEQ_3:29;
A22: dom fW1=the carrier of W1 by FUNCT_2:def 1;
    thus i in dom A1 implies Line(A,i)=Line(A1,i)^(width A2 |-> 0.K)
    proof
      assume
A23:  i in dom A1;
A24:  dom A1=Seg len A1 by FINSEQ_1:def 3;
      then
A25:  Line(A1,i) = A1.i by A15,A23,MATRIX_0:52
        .= A1/.i by A23,PARTFUN1:def 6
        .= fW1.(w1/.i) |-- u1 by A21,A23,MATRLIN:def 8;
      len A1 <=len A by A9,A15,A11,NAT_1:11;
      then
A26:  Seg len A1 c= Seg len A by FINSEQ_1:5;
      then b1/.i = b1.i by A19,A20,A23,A24,PARTFUN1:def 6
        .= w1.i by A7,A21,A23,FINSEQ_1:def 7
        .= w1/.i by A21,A23,PARTFUN1:def 6;
      then
A27:  fb = fW1.(w1/.i) by A5,A22,FUNCT_1:47;
      thus Line(A,i) = A.i by A11,A23,A24,A26,MATRIX_0:52
        .= A/.i by A19,A23,A24,A26,PARTFUN1:def 6
        .= f.(b1/.i) |--b2 by A19,A20,A23,A24,A26,MATRLIN:def 8
        .= fb|--uu by A10,A8,Th25
        .= (fb+0.(U1+U2)) |-- uu by RLVECT_1:def 4
        .= (fW1.(w1/.i) |-- u1)^(0.U2|--u2) by A4,A27,Th24,VECTSP_4:12
        .= Line(A1,i)^(width A2|->0.K) by A16,A25,Th20;
    end;
A28: dom A2=dom w2 by A13,FINSEQ_3:29;
A29: dom fW2 = the carrier of W2 by FUNCT_2:def 1;
    thus i in dom A2 implies Line(A,i+len A1)=(width A1|->0.K)^Line(A2,i)
    proof
      assume
A30:  i in dom A2;
A31:  dom A2=Seg len A2 by FINSEQ_1:def 3;
      then
A32:  i+len A1 in dom A by A9,A15,A13,A11,A19,A30,FINSEQ_1:60;
      b1/.(i+len A1) = b1.(i+len A1) by A9,A15,A13,A11,A19,A20,A30,A31,
FINSEQ_1:60,PARTFUN1:def 6
        .= w2.i by A7,A15,A28,A30,FINSEQ_1:def 7
        .= w2/.i by A28,A30,PARTFUN1:def 6;
      then
A33:  fbi = fW2.(w2/.i) by A6,A29,FUNCT_1:47;
A34:  Line(A2,i) = A2.i by A13,A30,A31,MATRIX_0:52
        .= A2/.i by A30,PARTFUN1:def 6
        .= fW2.(w2/.i) |-- u2 by A28,A30,MATRLIN:def 8;
      thus Line(A,i+len A1) = A.(i+len A1) by A9,A15,A13,A11,A19,A30,A31,
FINSEQ_1:60,MATRIX_0:52
        .= A/.(i+len A1) by A9,A15,A13,A11,A19,A30,A31,FINSEQ_1:60
,PARTFUN1:def 6
        .= f.(b1/.(i+len A1)) |--b2 by A20,A32,MATRLIN:def 8
        .= fbi|--uu by A10,A8,Th25
        .= (0.(U1+U2)+fbi) |-- uu by RLVECT_1:def 4
        .= (0.U1|--u1)^(fW2.(w2/.i) |-- u2) by A4,A33,Th24,VECTSP_4:12
        .= (width A1|->0.K)^Line(A2,i) by A17,A34,Th20;
    end;
  end;
  set A12=<*A1,A2*>;
A35: Sum Len A12=len A1+len A2 & Sum Width A12=width A1+width A2 by MATRIXJ1:16
,20;
  len b2=len u1+len u2 by A8,FINSEQ_1:22;
  hence thesis by A9,A15,A13,A17,A16,A35,A18,MATRIXJ1:23;
end;
