reserve I for non empty set,
  J for ManySortedSet of I,
  S for non void non empty ManySortedSign,
  i for Element of I,
  c for set,
  A for MSAlgebra-Family of I,S,
  EqR for Equivalence_Relation of I,
  U0,U1,U2 for MSAlgebra over S,
  s for SortSymbol of S,
  o for OperSymbol of S,
  f for Function;

theorem Th17:
  for y be Element of Args(o,product A) st (the_arity_of o) <> {}
  holds (commute y) in product doms (A?.o)
proof
  let y be Element of Args(o,product A);
  set D = union the set of all
 (the Sorts of A.i9).s9 where i9 is Element of I,s9 is
  Element of (the carrier of S) ;
A1: y in Funcs (dom (the_arity_of o),Funcs (I,D)) by Th14;
  assume (the_arity_of o) <> {};
  then commute y in Funcs (I,Funcs (dom (the_arity_of o),D)) by A1,FUNCT_6:55;
  then
A2: ex f be Function st f = commute y & dom f = I & rng f c= Funcs (dom (
  the_arity_of o),D) by FUNCT_2:def 2;
A3: now
    let i1 be object;
    assume i1 in dom (doms (A?.o));
    then reconsider ii =i1 as Element of I by PRALG_2:11;
A4: now
      let n be object;
      assume
A5:   n in dom ((the Sorts of A.ii)*(the_arity_of o));
      then
A6:   n in dom (the_arity_of o) by PRALG_2:3;
      then (the_arity_of o).n in rng (the_arity_of o) by FUNCT_1:def 3;
      then reconsider s1 = (the_arity_of o).n as SortSymbol of S;
A7:   ex ff be Function st ff = y & dom ff = dom (the_arity_of o) & rng ff
      c= Funcs(I,D) by A1,FUNCT_2:def 2;
      then n in dom y by A5,PRALG_2:3;
      then y.n in rng y by FUNCT_1:def 3;
      then consider g be Function such that
A8:   g = y.n and
      dom g = I and
      rng g c= D by A7,FUNCT_2:def 2;
      ((commute y).ii).n = g.ii & g.ii in (the Sorts of A.ii).s1 by A1,A6,A8
,Th16,FUNCT_6:56;
      hence ((commute y).ii).n in ((the Sorts of A.ii)*(the_arity_of o)).n by
A5,FUNCT_1:12;
    end;
    (commute y).ii in rng (commute y) by A2,FUNCT_1:def 3;
    then
    ex h be Function st h = (commute y).ii & dom h = dom ( the_arity_of o)
    & rng h c= D by A2,FUNCT_2:def 2;
    then dom((commute y).ii) = dom ((the Sorts of A.ii)*(the_arity_of o)) by
PRALG_2:3;
    then (commute y).ii in product ((the Sorts of A.ii)*(the_arity_of o)) by A4
,CARD_3:9;
    then (commute y).ii in Args(o,A.ii) by PRALG_2:3;
    hence (commute y).i1 in (doms (A?.o)).i1 by PRALG_2:11;
  end;
  dom (commute y) = dom (doms (A?.o)) by A2,PRALG_2:11;
  hence thesis by A3,CARD_3:9;
end;
