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
  C9 is basic implies transl C9 is_e.translation_of Free(S,Z),s,the_sort_of C9
  proof set X = Z, C = C9, x = z;
    given o,k such that
Z0: C = o-term k & x-context_in k = z-term;
    set p = k;
    take o;
    thus the_result_sort_of o = the_sort_of C by Z0,Th8;
    reconsider i = x-context_pos_in p as Element of NAT by ORDINAL1:def 12;
    take i;
A1: p is x-context_including by Z0,Th53;
    then i in dom p by Th71;
    hence i in dom the_arity_of o by MSUALG_3:6;
    then x-term = p.i in (the Sorts of Free(S,X)).((the_arity_of o)/.i)
    by Z0,A1,Th71,MSUALG_6:2;
    then
A4: s = the_sort_of (x-context_in p) = (the_arity_of o)/.i by Z0,SORT;
    hence ((the_arity_of o)/.i) = s;
    reconsider a = p as Function;
    take a; thus a in Args(o,Free(S,X));
    dom transl C = (the Sorts of Free(S,X)).s by FUNCT_2:def 1;
    hence dom transl C = dom transl(o,i,a,Free(S,X)) by A4,MSUALG_6:def 4;
    let c be object; assume
    c in dom transl C;
    then reconsider c as Element of (the Sorts of Free(S,X)).s;
    reconsider q = p+*(i,c) as Element of Args(o,Free(S,X)) by A4,MSUALG_6:7;
A6: transl(o,i,a,Free(S,X)).c = Den(o,Free(S,X)).q by A4,MSUALG_6:def 4
    .= o-term q by MSAFREE4:13;
    C-sub c = o-term q & the_sort_of c = s by Z0,Th58,SORT;
    hence thesis by A6,TRANS;
  end;
