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
  TranslationRel S reduces s,the_sort_of C9
  proof
    defpred P[Element of Free(S,Z)] means
    TranslationRel S reduces s, the_sort_of $1;
    the_sort_of (z-term) = s by SORT;
    then
A1: P[z-term] by REWRITE1:12;
A2: now
      let o,k;
      assume
A3:   k is z-context_including;
      assume
A4:   P[z-context_in k];
      let C being context of z such that
AA:   C = o-term k;
      thus P[C]
      proof
        set t = o-term k;
        now
          take o;
          thus the_result_sort_of o = the_sort_of t by Th8;
          reconsider i = z-context_pos_in k as Element of NAT
          by ORDINAL1:def 12;
          take i;
A7:       dom k = dom the_arity_of o by MSUALG_3:6;
          hence i in dom the_arity_of o by A3,Th71;
          k.i in (the Sorts of Free(S,Z)).((the_arity_of o)/.i) &
          k.i = z-context_in k by A3,A7,Th71,MSUALG_6:2;
          hence (the_arity_of o)/.i = the_sort_of (z-context_in k)
          by SORT;
        end;
        then [the_sort_of (z-context_in k), the_sort_of (o-term k)] in
        TranslationRel S by MSUALG_6:def 3;
        then TranslationRel S reduces the_sort_of (z-context_in k),
        the_sort_of(o-term k) by REWRITE1:15;
        hence thesis by A4,AA,REWRITE1:16;
      end;
    end;
    thus P[C9] from ContextInd(A1,A2);
  end;
