
theorem Th36:
  for S,S9 being non empty non void ManySortedSign for A being
  non-empty MSAlgebra over S for f being Function of the carrier of S9, the
carrier of S for g being Function st f,g form_morphism_between S9,S for B being
non-empty MSAlgebra over S9 st B = A|(S9,f,g) for s1,s2 being SortSymbol of S9,
t being Function st t is_e.translation_of B, s1, s2 holds t is_e.translation_of
  A, f.s1, f.s2
proof
  let S,S9 be non empty non void ManySortedSign;
  let A be non-empty MSAlgebra over S;
  let f be Function of the carrier of S9, the carrier of S;
  let g be Function such that
A1: f,g form_morphism_between S9,S;
A2: dom g = the carrier' of S9 & rng g c= the carrier' of S by A1;
  let B be non-empty MSAlgebra over S9 such that
A3: B = A|(S9,f,g);
  reconsider g as Function of the carrier' of S9, the carrier' of S by A2,
FUNCT_2:def 1,RELSET_1:4;
  let s1,s2 be SortSymbol of S9, t be Function;
  given o being OperSymbol of S9 such that
A4: the_result_sort_of o = s2 and
A5: ex i being Element of NAT st i in dom the_arity_of o & (the_arity_of
  o)/.i = s1 & ex a being Function st a in Args(o,B) & t = transl(o,i,a,B);
A6: f*the_arity_of o = the_arity_of (g.o) by A1;
  take g.o;
  f*the ResultSort of S9 = (the ResultSort of S)*g by A1;
  hence the_result_sort_of (g.o) = (f*the ResultSort of S9).o by FUNCT_2:15
    .= f.s2 by A4,FUNCT_2:15;
  consider i being (Element of NAT), a being Function such that
A7: i in dom the_arity_of o and
A8: (the_arity_of o)/.i = s1 and
A9: a in Args(o,B) and
A10: t = transl(o,i,a,B) by A5;
  take i;
  rng the_arity_of o c= the carrier of S9 & dom f = the carrier of S9 by
FINSEQ_1:def 4,FUNCT_2:def 1;
  hence i in dom the_arity_of (g.o) by A7,A6,RELAT_1:27;
  hence
A11: (the_arity_of (g.o))/.i = (the_arity_of (g.o)).i by PARTFUN1:def 6
    .= f.((the_arity_of o).i) by A7,A6,FUNCT_1:13
    .= f.s1 by A7,A8,PARTFUN1:def 6;
  then
A12: dom transl(g.o, i, a, A) = (the Sorts of A).(f.s1) by MSUALG_6:def 4;
A13: the Sorts of B = (the Sorts of A)*f by A1,A3,Def3;
  then
A14: (the Sorts of B).s1 = (the Sorts of A).(f.s1) by FUNCT_2:15;
A15: now
    let x be object;
    assume x in (the Sorts of B).s1;
    then
    t.x = Den(o,B).(a+*(i,x)) & transl(g.o,i,a,A).x = Den(g.o,A).(a+*(i,x
    ) ) by A8,A10,A11,A14,MSUALG_6:def 4;
    hence t.x = transl(g.o,i,a,A).x by A1,A3,Th23;
  end;
  take a;
  thus a in Args(g.o,A) by A1,A3,A9,Th24;
  dom t = (the Sorts of B).s1 by A8,A10,MSUALG_6:def 4;
  hence thesis by A12,A13,A15,FUNCT_2:15;
end;
