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;

theorem Th113:
  for R being NF-var terminating with_UN_property invariant stable
  ManySortedRelation of Free(S,X) holds
  i in dom p & R.((the_arity_of o)/.i) reduces t1,t2 implies
  R.the_result_sort_of o reduces Den(o,Free(S,X)).(p+*(i,t1)),
  Den(o,Free(S,X)).(p+*(i,t2))
  proof
    let R be NF-var terminating with_UN_property invariant stable
    ManySortedRelation of Free(S,X);
    assume
A1: i in dom p & R.((the_arity_of o)/.i) reduces t1,t2;
    then consider r being RedSequence of R.((the_arity_of o)/.i) such that
A2: r.1 = t1 & r.len r = t2;
    defpred P[Nat] means $1 <= len r implies R.the_result_sort_of o reduces
    Den(o,Free(S,X)).(p+*(i,t1)), Den(o,Free(S,X)).(p+*(i,r.$1));
A3: P[1] by A2,REWRITE1:12;
A4: for i st 1 <= i & P[i] holds P[i+1]
    proof let k be Nat; assume
A5:   1 <= k & P[k] & k+1 <= len r;
      k < len r & 1 <= k+1 by A5,NAT_1:13;
      then k in dom r & k+1 in dom r by A5,FINSEQ_3:25;
      then
A7:   [r.k, r.(k+1)] in R.((the_arity_of o)/.i) by REWRITE1:def 2;
      then reconsider rk = r.k, rk1 = r.(k+1) as Element of
      (the Sorts of Free(S,X)).((the_arity_of o)/.i) by ZFMISC_1:87;
      reconsider p1 = p+*(i,rk), p2 = p+*(i,rk1) as
      Element of Args(o,Free(S,X)) by MSUALG_6:7;
      set h = transl(o,i,p,Free(S,X));
A10:  dom p1 = dom the_arity_of o = dom p by MSUALG_6:2;
      h.rk = Den(o,Free(S,X)).p1 & h.rk1 = Den(o,Free(S,X)).p2
      by MSUALG_6:def 4;
      then [Den(o,Free(S,X)).p1, Den(o,Free(S,X)).p2] in R.the_result_sort_of o
      by A7,A1,A10,MSUALG_6:def 5,def 8;
      then R.the_result_sort_of o reduces
      Den(o,Free(S,X)).p1, Den(o,Free(S,X)).p2 by REWRITE1:15;
      hence R.the_result_sort_of o reduces
      Den(o,Free(S,X)).(p+*(i,t1)), Den(o,Free(S,X)).(p+*(i,r.(k+1)))
      by A5,NAT_1:13,REWRITE1:16;
    end;
A5: 0+1 <= len r by NAT_1:13;
    for i st i >= 1 holds P[i] from NAT_1:sch 8(A3,A4);
    hence R.the_result_sort_of o reduces Den(o,Free(S,X)).(p+*(i,t1)),
    Den(o,Free(S,X)).(p+*(i,t2)) by A2,A5;
  end;
