reserve D for non empty set,
  i,j,k for Nat,
  n,m for Nat,
  r for Real,
  e for real-valued FinSequence;

theorem Th25:
  for M1 be Matrix of n,k,REAL for M2 being Matrix of m,k,REAL
  holds Sum (M1^M2) = (Sum M1)^(Sum M2)
proof
  let M1 be Matrix of n,k,REAL;
  let M2 be Matrix of m,k,REAL;
A1: dom Sum(M1^M2) = Seg len Sum(M1^M2) by FINSEQ_1:def 3;
A2: now
    let i be Nat;
    assume
A3: i in dom Sum(M1^M2);
    then i in Seg len (M1^M2) by A1,Def1;
    then
A4: i in dom (M1^M2) by FINSEQ_1:def 3;
    now
      per cases by A4,FINSEQ_1:25;
      suppose
A5:     i in dom M1;
        len M1 = len Sum M1 by Def1;
        then
A6:     dom M1 = dom Sum M1 by FINSEQ_3:29;
        thus Sum(M1^M2).i = Sum ((M1^M2).i) by A3,Def1
          .= Sum (M1.i) by A5,FINSEQ_1:def 7
          .= (Sum M1).i by A5,A6,Def1
          .= ((Sum M1)^(Sum M2)).i by A5,A6,FINSEQ_1:def 7;
      end;
      suppose
A7:     ex n be Nat st n in dom M2 & i = len M1 + n;
A8:     len M1 = len Sum M1 by Def1;
        len M2 = len Sum M2 by Def1;
        then
A9:     dom M2 = dom Sum M2 by FINSEQ_3:29;
        consider n be Nat such that
A10:    n in dom M2 and
A11:    i = len M1 + n by A7;
        thus Sum(M1^M2).i = Sum ((M1^M2).i) by A3,Def1
          .= Sum (M2.n) by A10,A11,FINSEQ_1:def 7
          .= (Sum M2).n by A10,A9,Def1
          .= ((Sum M1)^(Sum M2)).i by A10,A11,A8,A9,FINSEQ_1:def 7;
      end;
    end;
    hence Sum(M1^M2).i = ((Sum M1)^(Sum M2)).i;
  end;
  len Sum(M1^M2) = len (M1^M2) by Def1
    .= len M1 + len M2 by FINSEQ_1:22
    .= len Sum M1 + len M2 by Def1
    .= len Sum M1 + len Sum M2 by Def1
    .= len ((Sum M1)^(Sum M2)) by FINSEQ_1:22;
  hence thesis by A2,FINSEQ_2:9;
end;
