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 Th3:
  D-concatenation "**" (f^g) =
       (D-concatenation "**" f) ^ (D-concatenation "**" g)
proof
  set DC=D-concatenation;
  reconsider df=DC"**"f,dg=DC"**"g as Element of (D*+^) by MONOID_0:def 34;
  thus DC "**" (f^g) = DC.(DC"**"f,DC"**"g) by MONOID_0:67,FINSOP_1:5
                    .= (the multF of D*+^).(DC"**"f,DC"**"g)
                         by MONOID_0:def 36
                    .= df*dg by ALGSTR_0:def 18
                    .= (DC"**"f)^(DC"**"g) by MONOID_0:def 34;
end;
