theorem Th13:
  f (#) (F ^ G) = (f (#) F) ^ (f (#) G)
proof
  set H = (f (#) F) ^ (f (#) G);
  set I = F ^ G;
A1: len F = len(f (#) F) by Def5;
A2: len H = len(f (#) F) + len(f (#) G) by FINSEQ_1:22
    .= len F + len(f (#) G) by Def5
    .= len F + len G by Def5
    .= len I by FINSEQ_1:22;
A3: len G = len(f (#) G) by Def5;
  now
    let k be Nat;
    assume
A4: k in dom H;
    now
      per cases by A4,FINSEQ_1:25;
      suppose
A5:     k in dom(f (#) F);
        then
A6:     k in dom F by A1,FINSEQ_3:29;
        then
A7:     k in dom(F ^ G) by FINSEQ_3:22;
A8:     F/.k = F.k by A6,PARTFUN1:def 6
          .= (F ^ G).k by A6,FINSEQ_1:def 7
          .= (F ^ G)/.k by A7,PARTFUN1:def 6;
        thus H.k = (f (#) F).k by A5,FINSEQ_1:def 7
          .= f.(I/.k) * I/.k by A5,A8,Def5;
      end;
      suppose
A9:     ex n be Nat st n in dom(f (#) G) & k = len(f (#) F) + n;
A10:    k in dom I by A2,A4,FINSEQ_3:29;
        consider n be Nat such that
A11:    n in dom(f (#) G) and
A12:    k = len(f (#) F) + n by A9;
A13:    n in dom G by A3,A11,FINSEQ_3:29;
        then
A14:    G/.n = G.n by PARTFUN1:def 6
          .= (F ^ G).k by A1,A12,A13,FINSEQ_1:def 7
          .= (F ^ G)/.k by A10,PARTFUN1:def 6;
        thus H.k = (f (#) G).n by A11,A12,FINSEQ_1:def 7
          .= f.(I/.k) * I/.k by A11,A14,Def5;
      end;
    end;
    hence H.k = f.(I/.k) * I/.k;
  end;
  hence thesis by A2,Def5;
end;
