reserve G for non empty DTConstrStr,
  s for Symbol of G,
  n,m for String of G;
reserve n1,n2,n3 for String of G;

theorem Th5:
  n1 ==> n2 implies n^n1 ==> n^n2 & n1^n ==> n2^n
proof
  given m1,m2,m3 being String of G, s being Symbol of G such that
A1: n1 = m1^<*s*>^m2 and
A2: n2 = m1^m3^m2 and
A3: s ==> m3;
  thus n^n1 ==> n^n2
  proof
    take n^m1, m2, m3, s;
    thus n^n1 = n^(m1^<*s*>)^m2 by A1,FINSEQ_1:32
      .= n^m1^<*s*>^m2 by FINSEQ_1:32;
    thus n^n2 = n^(m1^m3)^m2 by A2,FINSEQ_1:32
      .= n^m1^m3^m2 by FINSEQ_1:32;
    thus thesis by A3;
  end;
  take m1, m2^n, m3, s;
  thus thesis by A1,A2,A3,FINSEQ_1:32;
end;
