theorem Th30:
  for V be VectSp of K for F be linear-transformation of V,V, V1
be finite-dimensional Subspace of V, F1 be linear-transformation of V1,V1 st V1
  = ker ((F+(-L)*id V) |^n) & F|V1=F1 ex J be non-empty
  FinSequence_of_Jordan_block of L,K, b1 be OrdBasis of V1 st AutMt(F1,b1,b1) =
  block_diagonal(J,0.K)
proof
  let V be VectSp of K;
  let F be linear-transformation of V,V;
  let V1 be finite-dimensional Subspace of V;
  let F1 be linear-transformation of V1,V1 such that
A1: V1 = ker ((F+(-L)*id V) |^n) and
A2: F|V1=F1;
  set FL=F+(-L)*id V;
  reconsider FLV=FL|V1 as nilpotent linear-transformation of V1,V1 by A1,Th14;
A3: now
    let x be object;
    assume x in dom FLV;
    then reconsider v1=x as Vector of V1 by FUNCT_2:def 1;
    reconsider v=v1 as Vector of V by VECTSP_4:10;
    (id V).v=v by FUNCT_1:18;
    then
A4: (-L)*((id V).v)=(-L)*((id V1).v1) by FUNCT_1:18,VECTSP_4:14;
A5: F.v1=F1.v1 by A2,FUNCT_1:49;
    thus FLV.x = (F+(-L)*id V).v by FUNCT_1:49
      .= F.v + ((-L)*id V).v by MATRLIN:def 3
      .= F.v+(-L)*((id V).v) by MATRLIN:def 4
      .= F1.v1+(-L)*((id V1).v1) by A4,A5,VECTSP_4:13
      .= F1.v1+((-L)*id V1).v1 by MATRLIN:def 4
      .= (F1+(-L)*id V1).x by MATRLIN:def 3;
  end;
  dom FLV = the carrier of V1 by FUNCT_2:def 1
    .= dom (F1+(-L)*(id V1)) by FUNCT_2:def 1;
  then
A6: FLV=F1+(-L)*(id V1) by A3;
  consider J be non-empty FinSequence_of_Jordan_block of 0.K,K, b1 be OrdBasis
  of V1 such that
A7: AutMt(FLV,b1,b1) = block_diagonal(J,0.K) by Th29;
  L+0.K=L by RLVECT_1:def 4;
  then reconsider JM=J (+) mlt(len J|->L,1.(K,Len J)) as
  FinSequence_of_Jordan_block of L,K by Th12;
  now
    let x be object such that
A8: x in dom JM;
    reconsider i=x as Nat by A8;
A9: JM.i = J.i + mlt(len J|->L,1.(K,Len J)).i by A8,MATRIXJ1:def 10;
    dom JM=dom J by MATRIXJ1:def 10;
    then J.i <> {} by A8,FUNCT_1:def 9;
    hence JM.x is non empty by A9,MATRIX_3:def 3;
  end;
  then reconsider JM as non-empty FinSequence_of_Jordan_block of L,K by
FUNCT_1:def 9;
  take JM,b1;
  set Aid=AutMt(id V1,b1,b1);
  set AF1=AutMt(F1,b1,b1);
A10: now
A11: Indices Aid=Indices AF1 by MATRIX_0:26;
    let i,j such that
A12: [i,j] in Indices AF1;
    Indices (AF1+(-L)*Aid)= Indices AF1 by MATRIX_0:26;
    hence (AF1+(-L)*Aid+L*Aid)*(i,j) = (AF1+(-L)*Aid)*(i,j)+(L*Aid)*(i,j) by
A12,MATRIX_3:def 3
      .=(AF1*(i,j)+((-L)*Aid)*(i,j))+(L*Aid)*(i,j) by A12,MATRIX_3:def 3
      .= AF1*(i,j)+(((-L)*Aid)*(i,j) +(L*Aid)*(i,j)) by RLVECT_1:def 3
      .= AF1*(i,j)+((-L)*(Aid*(i,j)) +(L*Aid)*(i,j)) by A12,A11,MATRIX_3:def 5
      .= AF1*(i,j)+((-L)*(Aid*(i,j)) +L*(Aid*(i,j))) by A12,A11,MATRIX_3:def 5
      .= AF1*(i,j)+(-L+L)*(Aid*(i,j)) by VECTSP_1:def 3
      .= AF1*(i,j)+0.K*(Aid*(i,j)) by VECTSP_1:16
      .= AF1*(i,j)+0.K
      .= AF1*(i,j) by RLVECT_1:def 4;
  end;
A13: Len mlt(len J|->L,1.(K,Len J)) = Len 1.(K,Len J) by MATRIXJ1:62
    .= Len J by MATRIXJ1:56;
  dom Len J=dom 1.(K,Len J) by MATRIXJ1:def 8;
  then
A14: len 1.(K,Len J) = len (Len J) by FINSEQ_3:29
    .= len J by CARD_1:def 7;
A15: Sum Len J = len AutMt(FLV,b1,b1) by A7,MATRIXJ1:def 5
    .= len b1 by MATRIX_0:def 2;
A16: Width mlt(len J|->L,1.(K,Len J)) = Width 1.(K,Len J) by MATRIXJ1:62
    .= Len J by MATRIXJ1:56
    .= Width J by MATRIXJ1:46;
  Mx2Tran(AutMt((-L)*(id V1),b1,b1),b1,b1) = (-L)*(id V1) by MATRLIN2:34
    .= (-L)*Mx2Tran(Aid,b1,b1) by MATRLIN2:34
    .= Mx2Tran((-L)*Aid,b1,b1) by MATRLIN2:38;
  then AutMt((-L)*(id V1),b1,b1) = (-L)*Aid by MATRLIN2:39;
  then AutMt(FLV,b1,b1)+L*Aid = AF1+(-L)*Aid+L*Aid by A6,MATRLIN:42
    .= AF1 by A10,MATRIX_0:27;
  hence AF1 = block_diagonal(J,0.K)+L*1.(K,Sum Len J) by A7,A15,MATRLIN2:28
    .= block_diagonal(J,0.K)+L*block_diagonal(1.(K,Len J),0.K) by MATRIXJ1:61
    .= block_diagonal(J,0.K)+ block_diagonal(mlt(len J|->L,1.(K,Len J)),L*0.
  K) by A14,MATRIXJ1:65
    .= block_diagonal(J,0.K)+block_diagonal(mlt(len J|->L,1.(K,Len J)),0.K)
    .= block_diagonal(JM,0.K+0.K) by A13,A16,MATRIXJ1:72
    .= block_diagonal(JM,0.K) by RLVECT_1:def 4;
end;
