reserve i,j,m,n,k for Nat,
  x,y for set,
  K for Field,
  a,a1,a2 for Element of K,
  D for non empty set,
  d,d1,d2 for Element of D,
  M,M1,M2 for (Matrix of D),
  A,A1,A2,B1,B2 for (Matrix of K),
  f,g for FinSequence of NAT;
reserve F,F1,F2 for FinSequence_of_Matrix of D,
  G,G9,G1,G2 for FinSequence_of_Matrix of K;
reserve S,S1,S2 for FinSequence_of_Square-Matrix of D,
  R,R1,R2 for FinSequence_of_Square-Matrix of K;
reserve N for (Matrix of n,K),
  N1 for (Matrix of m,K);
reserve p,p1 for FinSequence of K;

theorem Th64:
  len G = len p & len G1 <=len p1 implies mlt(p^p1,G^G1) = mlt(p,G )^mlt(p1,G1)
proof
  assume that
A1: len G=len p and
A2: len G1<=len p1;
A3: dom G=dom p by A1,FINSEQ_3:29;
  dom G1=Seg len G1 by FINSEQ_1:def 3;
  then dom G1 c= Seg len p1 by A2,FINSEQ_1:5;
  then
A4: dom G1 c= dom p1 by FINSEQ_1:def 3;
  set M1=mlt(p1,G1);
  set M=mlt(p,G);
  set GG1=G^G1;
  set pp1=p^p1;
  set MM=mlt(pp1,GG1);
A5: dom GG1=Seg len GG1 by FINSEQ_1:def 3;
A6: dom MM=dom GG1 by Def9;
A7: dom M1=dom G1 by Def9;
  then
A8: len M1=len G1 by FINSEQ_3:29;
A9: dom M=dom G by Def9;
  then
A10: len M=len G by FINSEQ_3:29;
  len GG1=len G+len G1 by FINSEQ_1:22;
  then len GG1<=len p+len p1 by A1,A2,XREAL_1:7;
  then dom GG1 c= Seg (len p+len p1) by A5,FINSEQ_1:5;
  then
A11: dom GG1 c= dom pp1 by FINSEQ_1:def 7;
A12: now
    let i such that
A13: 1<=i and
A14: i<=len GG1;
A15: i in dom GG1 by A13,A14,FINSEQ_3:25;
    then
A16: pp1/.i =pp1.i by A11,PARTFUN1:def 6;
A17: MM.i=pp1/.i*GG1.i by A6,A15,Def9;
    now
      per cases by A15,FINSEQ_1:25;
      suppose
A18:    i in dom G;
        then
A19:    GG1.i=G.i by FINSEQ_1:def 7;
A20:    p.i=p/.i by A3,A18,PARTFUN1:def 6;
        pp1.i=p.i by A3,A18,FINSEQ_1:def 7;
        hence MM.i = M.i by A9,A17,A16,A18,A19,A20,Def9
          .= (M^M1).i by A9,A18,FINSEQ_1:def 7;
      end;
      suppose
        ex n st n in dom G1 & i=len G+n;
        then consider n such that
A21:    n in dom G1 and
A22:    i=len G+n;
A23:    GG1.i=G1.n by A21,A22,FINSEQ_1:def 7;
A24:    p1/.n=p1.n by A4,A21,PARTFUN1:def 6;
        pp1.i=p1.n by A1,A4,A21,A22,FINSEQ_1:def 7;
        hence MM.i = M1.n by A7,A17,A16,A21,A23,A24,Def9
          .= (M^M1).i by A7,A10,A21,A22,FINSEQ_1:def 7;
      end;
    end;
    hence MM.i=(M^M1).i;
  end;
A25: len (M^M1)=len M+len M1 by FINSEQ_1:22;
  len MM=len GG1 by A6,FINSEQ_3:29;
  hence thesis by A10,A8,A25,A12,FINSEQ_1:22;
end;
