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 Th138:
  for v,v1
  for h being Endomorphism of Free(S,Y)
  for g being one-to-one FinSequence of dom v st
  rng g = {xi where xi is Element of dom v: ex s,y st v.xi = [y,s]} &
  dom v c= dom v1 & v|((dom v) \ rng g) = v1|((dom v) \ rng g) &
  for i st i in dom g holds (h.v)|(g/.i qua Node of v)=v1|(g/.i qua Node of v)
  holds h.v = v1
  proof
    let v,v1;
    let h be Endomorphism of Free(S,Y);
    let g be one-to-one FinSequence of dom v;
    assume
Z0: rng g = {xi where xi is Element of dom v: ex s,y st v.xi = [y,s]};
    assume Z1: dom v c= dom v1;
    assume v|((dom v) \ rng g) = v1|((dom v) \ rng g);
    then
A5: (h.v)|((dom v) \ rng g) = v1|((dom v) \ rng g) by Z0,Th135;
    assume Z3: for i st i in dom g holds
    (h.v)|(g/.i qua Node of v) = v1|(g/.i qua Node of v);
    h.v c= v1
    proof let a,b;
      assume [a,b] in h.v;
      then
A1:   a in dom(h.v) & b = h.v.a by FUNCT_1:1;
      then per cases by Z0,Th137;
      suppose a in (dom v)\rng g;
        then
A2:     ((h.v)|((dom v) \ rng g)).a = h.v.a & a in dom v &
        (v1|((dom v) \ rng g)).a = v1.a by FUNCT_1:49;
        thus thesis by Z1,A5,A1,A2,FUNCT_1:1;
      end;
      suppose ex nu being Element of dom v st nu in rng g &
        ex mu being Node of (h.v)|nu st a = nu^mu;
        then consider nu being (Element of dom v), mu being Node of (h.v)|nu
        such that
A3:     nu in rng g & a = nu^mu;
        consider i being object such that
A6:     i in dom g & nu = g.i by A3,FUNCT_1:def 3;
        reconsider i as Nat by A6;
        nu = g/.i by A6,PARTFUN1:def 6;
        then
A7:     (h.v)|nu = v1|nu by A6,Z3;
A8:     nu in dom v c= dom (h.v) by Th135;
        mu in dom((h.v)|nu) = (dom (h.v))|nu & dom(v1|nu) = (dom v1)|nu
        by TREES_2:def 10;
        then b = ((h.v)|nu).mu = v1.a & a in dom v1
        by Z1,A7,A1,A3,A8,TREES_1:def 6,TREES_2:def 10;
        hence thesis by FUNCT_1:1;
      end;
    end;
    hence h.v = v1 by Th136;
  end;
