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 Th23:
  for x be Element of Args(o,product A) st the_arity_of o <> {}
  for i be Element of I holds proj(A,i)#x = (commute x).i
proof
  let x be Element of Args(o,product A) such that
A1: the_arity_of o <> {};
  set C = 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;
  let i be Element of I;
A2: x in Funcs (dom the_arity_of o,Funcs(I,C)) by Th14; then
A3: commute x in Funcs(I,Funcs(dom (the_arity_of o),C)) by A1,FUNCT_6:55;
  then dom commute x = I by FUNCT_2:92;
  then
A4: (commute x).i in rng commute x by FUNCT_1:def 3;
SS: dom x = dom the_arity_of o by MSUALG_6:2;
A5: now
A6: rng x c= Funcs(I,C) by A2,FUNCT_2:92;
    let n be object such that
A7: n in dom the_arity_of o;
    x.n in product Carrier(A,(the_arity_of o)/.n) by A7,Th15;
    then
A8: x.n in dom (proj (Carrier(A,(the_arity_of o)/.n),i)) by CARD_3:def 16;
    n in dom x by A2,A7,FUNCT_2:92;
    then x.n in rng x by FUNCT_1:def 3;
    then consider g be Function such that
A9: g = x.n and
    dom g = I and
    rng g c= C by A6,FUNCT_2:def 2;
    thus ((proj(A,i))#x).n = ((proj(A,i)).((the_arity_of o)/.n)).(x.n) by A7
,Th13
      .= (proj (Carrier(A,(the_arity_of o)/.n),i)).(x.n) by Def2
      .= g.i by A9,A8,CARD_3:def 16
      .= ((commute x).i).n by A2,A7,A9,FUNCT_6:56;
  end;
A10: x in product doms ((proj(A,i))*the_arity_of o) by Th12;
  rng commute x c= Funcs(dom (the_arity_of o), C) by A3,FUNCT_2:92;
  then
A11: dom ((commute x).i) = dom the_arity_of o by A4,FUNCT_2:92;
  dom (proj(A,i)) = the carrier of S by PARTFUN1:def 2; then
A12: rng the_arity_of o c= dom (proj(A,i));
  dom ((proj(A,i))#x) = dom ((Frege((proj(A,i))*the_arity_of o)).x) by
MSUALG_3:def 5
    .= dom (((proj(A,i))*the_arity_of o)..x) by A10,PRALG_2:def 2
    .= dom ((proj(A,i))*the_arity_of o) /\ dom x by PRALG_1:def 19
    .= dom (the_arity_of o) /\ dom x by A12,RELAT_1:27;
  hence thesis by A11,A5,SS;
end;
