 reserve n,s for Nat;

theorem Th58:
  for k being Nat holds
    NPower (n,k+1) = NPower (n,k) ^ <*(k+1) |^ n*>
  proof
    let k be Nat;
A1: dom NPower (n,k+1) = dom (NPower (n,k) ^ <*(k+1) |^ n*>)
    proof
      Seg (len NPower (n,k)) = dom NPower (n,k) by FINSEQ_1:def 3
        .= Seg k by Def8; then
A2:   len NPower (n,k) = k by FINSEQ_1:6;
A3:   len <*(k+1) |^ n*> = 1 by FINSEQ_1:40;
      dom (NPower (n,k) ^ <*(k+1) |^ n*>)
         = Seg (len (NPower (n,k)) + len <*(k+1) |^ n*>) by FINSEQ_1:def 7
        .= dom NPower (n,k+1) by Def8,A3,A2;
      hence thesis;
    end;
    for l being Nat st l in dom NPower (n,k+1) holds
      (NPower (n,k+1)).l = (NPower (n,k) ^ <*(k+1) |^ n*>).l
    proof
      let l be Nat;
      assume
A4:   l in dom NPower (n,k+1); then
      l in Seg (k+1) by Def8; then
A5:   1 <= l & l <= k+1 by FINSEQ_1:1;
      set NP = (NPower (n,k) ^ <*(k+1) |^ n*>).l;
      (NPower (n,k) ^ <*(k+1) |^ n*>).l = l |^ n
      proof
        per cases by A5,NAT_1:8;
        suppose l <= k; then
          l in Seg k by A5,FINSEQ_1:1; then
A6:       l in dom NPower (n,k) by Def8; then
          NP = (NPower (n,k)).l by FINSEQ_1:def 7 .= l |^ n by Def8,A6;
          hence thesis;
        end;
        suppose
A7:       l = k + 1;
          Seg k = dom NPower (n,k) by Def8
               .= Seg len NPower (n,k) by FINSEQ_1:def 3; then
          k = len NPower (n,k) by FINSEQ_1:6;
          hence thesis by A7,FINSEQ_1:42;
        end;
      end;
      hence thesis by Def8,A4;
    end;
    hence thesis by A1,FINSEQ_1:13;
  end;
