theorem Th25:
  for J be FinSequence_of_Jordan_block of 0.K,K for M be Matrix of
len b1,len b1,K st M = block_diagonal(J,0.K) for m st for i st i in dom J holds
  len (J.i) <= m holds Mx2Tran(M,b1,b1) |^ m = ZeroMap(V1,V1)
proof
  let J be FinSequence_of_Jordan_block of 0.K,K;
  let M be Matrix of len b1,len b1,K such that
A1: M = block_diagonal(J,0.K);
  reconsider Z=ZeroMap(V1,V1) as linear-transformation of V1,V1;
  set MT=Mx2Tran(M,b1,b1);
  let m such that
A2: for i st i in dom J holds len (J.i) <= m;
A3: dom Z=the carrier of V1 & rng b1 c= the carrier of V1 by FUNCT_2:def 1
,RELAT_1:def 19;
  set MTm=MT|^m;
A4: dom MTm=the carrier of V1 by FUNCT_2:def 1;
  per cases;
  suppose
    len b1=0;
    then dim V1=0 by MATRLIN2:21;
    then (Omega).V1=(0).V1 by VECTSP_9:29;
    then
A5: the carrier of V1 = {0.V1} by VECTSP_4:def 3;
    rng MTm c= the carrier of V1 by RELAT_1:def 19;
    then rng MTm={0.V1} by A5,ZFMISC_1:33;
    then MTm = (the carrier of V1)-->0.V1 by A4,FUNCOP_1:9
      .= Z by GRCAT_1:def 7;
    hence thesis;
  end;
  suppose
A6: len b1>0;
A7: dom J=dom Len J by MATRIXJ1:def 3;
A8: len M=len b1 & len M = Sum Len J by A1,MATRIX_0:24;
A9: now
      let x be object such that
A10:  x in dom b1;
      reconsider n=x as Element of NAT by A10;
      set mm=min(Len J,n);
A11:  n in Seg Sum Len J by A8,A10,FINSEQ_1:def 3;
      then
A12:  mm in dom Len J by MATRIXJ1:def 1;
      then
A13:  (Len J).mm = len (J.mm) by MATRIXJ1:def 3;
A14:  (Len J) |mm =Len (J|mm) by MATRIXJ1:17;
A15:  now
        mm<=len Len J by A12,FINSEQ_3:25;
        then Sum (Len J|mm)<= Sum ((Len J) | (len Len J)) by A14,POLYNOM3:18;
        then
A16:    Sum (Len J|mm)<= len b1 by A8,FINSEQ_1:58;
        let k;
        assume n+k<=Sum (Len J|mm);
        then
A17:    n+k <= len b1 by A16,XXREAL_0:2;
        1<=n & n<=n+k by A11,FINSEQ_1:1,NAT_1:11;
        then 1<=n+k by XXREAL_0:2;
        hence n+k in dom b1 by A17,FINSEQ_3:25;
      end;
      defpred Q[Nat] means (MT|^($1+1)).(b1/.n)=0.V1;
      defpred P[Nat] means n+$1 < Sum(Len J|mm) implies (MT|^($1+1)).(b1/.n)=
      b1/.(n+$1+1);
      set Sm=Sum ((Len J) | (mm-'1));
A18:  (Len J).mm=(Len J)/.mm by A12,PARTFUN1:def 6;
      mm-'1=mm-1 by A11,MATRIXJ1:7;
      then mm-'1+1=mm;
      then (Len J) |mm=((Len J) | (mm-'1))^<*(Len J).mm*> by A12,FINSEQ_5:10;
      then
A19:  Sum (Len J|mm)=Sm+len (J.mm) by A14,A13,RVSUM_1:74;
A20:  Sm < n by A11,MATRIXJ1:7;
      then
A21:  n-'Sm=n-Sm by XREAL_1:233;
      then
A22:  n-'Sm<>0 by A11,MATRIXJ1:7;
A23:  now
        let k;
        assume n+k<=Sum(Len J|mm);
        then
A24:    n+k-Sm<=Sm+len (J.mm)-Sm by A19,XREAL_1:9;
        1<=n-'Sm+k by A22,NAT_1:14;
        then n-'Sm+k in Seg ((Len J)/.mm) by A18,A21,A13,A24;
        then min(Len J,n-'Sm+k+Sum ((Len J) | (mm-'1)))=mm by A12,MATRIXJ1:10;
        hence min(Len J,n+k)=mm by A21;
      end;
A25:  for k st P[k] holds P[k+1]
      proof
        let k such that
A26:    P[k];
        set k1=k+1;
A27:    the carrier of V1= dom (MT|^k1) & n+k1=n+k+1 by FUNCT_2:def 1;
        assume
A28:    n+k1<Sum(Len J|mm);
        then n+k1<Sum(Len J|min(Len J,n+k1)) & n+k1 in dom b1 by A15,A23;
        then
A29:    MT.(b1/.(n+k1)) = 0.K*(b1/.(n+k1))+ b1/.(n+k1+1) by A1,Th24
          .= 0.V1+b1/.(n+k1+1) by VECTSP_1:14
          .= b1/.(n+k1+1) by RLVECT_1:def 4;
        thus (MT|^(k1+1)).(b1/.n) = ((MT|^1)*(MT|^k1)).(b1/.n) by VECTSP11:20
          .= (MT|^1).(b1/.(n+k1)) by A26,A28,A27,FUNCT_1:13,NAT_1:13
          .= b1/.(n+k1+1) by A29,VECTSP11:19;
      end;
      n<=Sum ((Len J) |mm) by A11,MATRIXJ1:def 1;
      then
A30:  Sum (Len J|mm)-'n=Sum (Len J|mm) - n by A14,XREAL_1:233;
A31:  P[0]
      proof
        assume n+0< Sum(Len J|mm);
        then MT.(b1/.n) = 0.K*(b1/.n)+ b1/.(n+1) by A1,A10,Th24
          .= 0.V1+b1/.(n+1) by VECTSP_1:14
          .= b1/.(n+1) by RLVECT_1:def 4;
        hence thesis by VECTSP11:19;
      end;
A32:  for k holds P[k] from NAT_1:sch 2(A31,A25);
A33:  Q[Sum(Len J|mm)-'n]
      proof
        per cases;
        suppose
A34:      Sum(Len J|mm)-'n=0;
          then MT.(b1/.n) = 0.K*(b1/.n) by A1,A10,A30,Th24
            .= 0.V1 by VECTSP_1:14;
          hence thesis by A34,VECTSP11:19;
        end;
        suppose
          Sum(Len J|mm)-'n>0;
          then reconsider S1=(Sum(Len J|mm)-'n)-1 as Element of NAT by NAT_1:20
;
A35:      the carrier of V1= dom (MT|^(Sum(Len J|mm)-'n)) by FUNCT_2:def 1;
          Sum(Len J|mm)-1<Sum(Len J|mm)-0 by XREAL_1:10;
          then
A36:      (MT|^(S1+1)).(b1/.n) = b1/.(n+S1+1) by A30,A32
            .= b1/.Sum(Len J|mm) by A30;
          Sum(Len J|mm)-'n+n = Sum(Len J|mm) by A30;
          then Sum(Len J|mm) in dom b1 & min(Len J,Sum(Len J|mm))=mm by A15,A23
;
          then
A37:      MT.(b1/.Sum(Len J|mm)) = 0.K*(b1/.Sum(Len J|mm)) by A1,Th24
            .= 0.V1 by VECTSP_1:14;
          thus (MT|^(Sum(Len J|mm)-'n+1)).(b1/.n) = ((MT|^1)*(MT|^(Sum(Len J|
          mm)-'n))).(b1/.n) by VECTSP11:20
            .= (MT|^1).((MT|^(Sum(Len J|mm)-'n)).(b1/.n)) by A35,FUNCT_1:13
            .= 0.V1 by A36,A37,VECTSP11:19;
        end;
      end;
      Sm-n <n-n by A20,XREAL_1:9;
      then
A38:  len (J.mm)+(Sm-n) < len (J.mm)+0 by XREAL_1:6;
      then 0<m by A2,A7,A12,A30,A19;
      then reconsider m1=m-1 as Element of NAT by NAT_1:20;
      len (J.mm) <= m by A2,A7,A12;
      then Sum (Len J|mm)-'n<m1+1 by A30,A19,A38,XXREAL_0:2;
      then
A39:  Sum (Len J|mm)-'n <= m1 by NAT_1:13;
A40:  for k st Sum(Len J|mm)-'n <=k holds Q[k] implies Q[k+1]
      proof
        let k such that
        Sum(Len J|mm)-'n <=k;
        set k1=k+1;
        assume
A41:    Q[k];
A42:    dom (MT|^k1)=the carrier of V1 by FUNCT_2:def 1;
        thus (MT|^(k1+1)).(b1/.n) = ((MT|^1)*(MT|^k1)).(b1/.n) by VECTSP11:20
          .= (MT|^1).((MT|^k1).(b1/.n)) by A42,FUNCT_1:13
          .= MT.(0.V1) by A41,VECTSP11:19
          .= MT.(0.K*0.V1) by VECTSP_1:14
          .= 0.K*MT.(0.V1) by MOD_2:def 2
          .= 0.V1 by VECTSP_1:14;
      end;
      for k st Sum(Len J|mm)-'n <= k holds Q[k] from NAT_1:sch 8(A33,A40);
      then
A43:  (MT|^(m1+1)).(b1/.n) = 0.V1 by A39;
      thus (Z*b1).x = Z.(b1.x) by A10,FUNCT_1:13
        .= Z.(b1/.x) by A10,PARTFUN1:def 6
        .= ((the carrier of V1)-->0.V1).(b1/.x) by GRCAT_1:def 7
        .= 0.V1
        .= MTm.(b1.n) by A10,A43,PARTFUN1:def 6
        .= (MTm*b1).x by A10,FUNCT_1:13;
    end;
    dom (Z*b1)=dom b1 & dom (MTm*b1)=dom b1 by A4,A3,RELAT_1:27;
    hence thesis by A6,A9,FUNCT_1:2,MATRLIN:22;
  end;
end;
