reserve i,j,n,k,m for Nat,
     a,b,x,y,z for object,
     F,G for FinSequence-yielding FinSequence,
     f,g,p,q for FinSequence,
     X,Y for set,
     D for non empty set;
reserve
  B,A,M for BinOp of D,
  F,G for D* -valued FinSequence,
  f for FinSequence of D,
  d,d1,d2 for Element of D;

theorem Th63:
  A "**" (F^G) = ( A "**" F )^(A "**"G)
proof
  set FG=F^G;
A1: len ( A "**" F ) = len F & len ( A "**" G ) = len G by CARD_1:def 7;
A2: len (A "**" FG) =len FG =len F+len G by CARD_1:def 7,FINSEQ_1:22;
  for n st 1<=n & n <= len F+len G holds (A "**" FG).n =
    (( A "**" F )^(A "**"G)).n
  proof
    let n such that
A3:   1<=n & n <= len F+len G;
    per cases by FINSEQ_1:25,A3,A2,FINSEQ_3:25;
    suppose
A4:     n in dom F;
      then n in dom ( A "**" F ) by A1,FINSEQ_3:29;
      hence (( A "**" F )^(A "**"G)).n = ( A "**" F ).n by FINSEQ_1:def 7
      .= A "**" (F .n) by A4,Def10
      .= A"**" (FG.n) by A4,FINSEQ_1:def 7
      .= (A "**" FG).n by A3,A2,FINSEQ_3:25,Def10;
    end;
    suppose ex k st k in dom G & n=len F + k;
      then consider k such that
A5:     k in dom G & n=len F + k;
      k in dom ( A "**" G ) by A5,A1,FINSEQ_3:29;
      hence (( A "**" F )^(A "**"G)).n = ( A "**" G ).k by A1,A5,FINSEQ_1:def 7
      .= A "**" (G .k) by A5,Def10
      .= A"**" (FG.n) by A5,FINSEQ_1:def 7
      .= (A "**" FG).n by A3,A2,FINSEQ_3:25,Def10;
    end;
  end;
  hence thesis by CARD_1:def 7,A2;
end;
