reserve x,y for object,
        D,D1,D2 for non empty set,
        i,j,k,m,n for Nat,
        f,g for FinSequence of D*,
        f1 for FinSequence of D1*,
        f2 for FinSequence of D2*;

theorem
   i in dom (D-concatenation "**" f)
     implies
  (D-concatenation "**" f).i = (D-concatenation "**" (f^g)).i &
  (D-concatenation "**" f).i =
        (D-concatenation "**" (g^f)).(i+len (D-concatenation "**" g))
proof
  set DC=D-concatenation;
  assume A1:i in dom (DC "**" f);
  A2: DC "**" (f^g) = (DC"**"f)^(DC"**"g) by Th3;
  DC "**" (g^f) = (DC"**"g)^(DC"**"f) by Th3;
  hence thesis by A2,A1,FINSEQ_1:def 7;
end;
