reserve S for non empty non void ManySortedSign,
  A for MSAlgebra over S;

theorem Th10:
  for S being non empty non void ManySortedSign, o being
OperSymbol of S for i being Element of NAT for A being feasible MSAlgebra over
S, a being Function st a in Args(o,A) holds transl(o,i,a,A) is Function of (the
  Sorts of A).((the_arity_of o)/.i), (the Sorts of A).the_result_sort_of o
proof
  let S be non empty non void ManySortedSign, o be OperSymbol of S;
  let i be Element of NAT;
  let A be feasible MSAlgebra over S;
  let a be Function;
  assume
A1: a in Args(o,A);
  then
A2: Result(o,A) <> {} by Def1;
A3: dom transl(o,i,a,A) = (the Sorts of A).((the_arity_of o)/.i) by Def4;
A4: rng transl(o,i,a,A) c= (the Sorts of A).the_result_sort_of o
  proof
    let x be object;
    assume x in rng transl(o,i,a,A);
    then consider y being object such that
A5: y in dom transl(o,i,a,A) and
A6: x = transl(o,i,a,A).y by FUNCT_1:def 3;
    reconsider y as Element of A,((the_arity_of o)/.i) by A5,Def4;
    set b = a+*(i,y);
A7: Den(o,A).b in Result(o,A) by A1,A2,Th7,FUNCT_2:5;
    x = Den(o,A).b by A3,A5,A6,Def4;
    hence thesis by A7,PRALG_2:3;
  end;
  Result(o,A) = (the Sorts of A).(the_result_sort_of o) by PRALG_2:3;
  hence thesis by A2,A3,A4,FUNCT_2:def 1,RELSET_1:4;
end;
