reserve
  a,b for object, I,J for set, f for Function, R for Relation,
  i,j,n for Nat, m for (Element of NAT),
  S for non empty non void ManySortedSign,
  s,s1,s2 for SortSymbol of S,
  o for OperSymbol of S,
  X for non-empty ManySortedSet of the carrier of S,
  x,x1,x2 for (Element of X.s), x11 for (Element of X.s1),
  T for all_vars_including inheriting_operations free_in_itself
  (X,S)-terms MSAlgebra over S,
  g for Translation of Free(S,X),s1,s2,
  h for Endomorphism of Free(S,X);
reserve
  r,r1,r2 for (Element of T),
  t,t1,t2 for (Element of Free(S,X));
reserve
  Y for infinite-yielding ManySortedSet of the carrier of S,
  y,y1 for (Element of Y.s), y11 for (Element of Y.s1),
  Q for all_vars_including inheriting_operations free_in_itself
  (Y,S)-terms MSAlgebra over S,
  q,q1 for (Element of Args(o,Free(S,Y))),
  u,u1,u2 for (Element of Q),
  v,v1,v2 for (Element of Free(S,Y)),
  Z for non-trivial ManySortedSet of the carrier of S,
  z,z1 for (Element of Z.s),
  l,l1 for (Element of Free(S,Z)),
  R for all_vars_including inheriting_operations free_in_itself
  (Z,S)-terms MSAlgebra over S,
  k,k1 for Element of Args(o,Free(S,Z));
reserve c,c1,c2 for set, d,d1 for DecoratedTree;
reserve
  w for (Element of Args(o,T)),
  p,p1 for Element of Args(o,Free(S,X));
reserve C for (context of x), C1 for (context of y), C9 for (context of z),
  C11 for (context of x11), C12 for (context of y11), D for context of s,X;
reserve
  S9 for sufficiently_rich non empty non void ManySortedSign,
  s9 for SortSymbol of S9,
  o9 for s9-dependent OperSymbol of S9,
  X9 for non-trivial ManySortedSet of the carrier of S9,
  x9 for (Element of X9.s9);
reserve h1 for x-constant Homomorphism of Free(S,X), T,
  h2 for y-constant Homomorphism of Free(S,Y), Q;
reserve
  s2 for s1-reachable SortSymbol of S,
  g1 for Translation of Free(S,Y),s1,s2,
  g for Translation of Free(S,X),s1,s2;

theorem Th93:
  X is non-trivial & the_sort_of C = s1 implies
  for x1 being Element of X.s1
  for C1 being (context of x1), C2 being context of x st C2 = C1-sub(C)
  holds transl C2 = (transl C1)*(transl C)
  proof
    assume that
ZZ: X is non-trivial and
Z0: the_sort_of C = s1;
    let x1 be Element of X.s1;
    let C1 be (context of x1);
    let C2 be context of x;
    assume Z1: C2 = C1-sub(C);
    reconsider f = transl C as Function of (the Sorts of Free(S,X)).s,
    (the Sorts of Free(S,X)).s1 by Z0;
    transl C2 = (transl C1)*f
    proof
      let t be Element of (the Sorts of Free(S,X)).s;
A1:   the_sort_of t = s by SORT;
      then
A2:   (transl C2).t = C2-sub t & (transl C).t = C-sub t by TRANS;
      the_sort_of (C-sub t) = s1 by Z0,SORT;
      then (transl C1).(C-sub t) = C1-sub(C-sub t) by TRANS;
      then ((transl C1)*f).t = C1-sub(C-sub t) by A2,FUNCT_2:15;
      hence thesis by ZZ,A2,Z0,Z1,A1,Th60;
    end;
    hence transl C2 = (transl C1)*(transl C);
  end;
