reserve
  S for (4,1) integer bool-correct non empty non void BoolSignature,
  X for non-empty ManySortedSet of the carrier of S,
  T for vf-free integer all_vars_including inheriting_operations free_in_itself
  (X,S)-terms VarMSAlgebra over S,
  C for (4,1) integer bool-correct non-empty image of T,
  G for basic GeneratorSystem over S,X,T,
  A for IfWhileAlgebra of the generators of G,
  I for integer SortSymbol of S,
  x,y,z,m for pure (Element of (the generators of G).I),
  b for pure (Element of (the generators of G).the bool-sort of S),
  t,t1,t2 for Element of T,I,
  P for Algorithm of A,
  s,s1,s2 for Element of C-States(the generators of G);
reserve
  f for ExecutionFunction of A, C-States(the generators of G),
  (\falseC)-States(the generators of G, b);
reserve u for ManySortedFunction of FreeGen T, the Sorts of C;

theorem Th22:
  for S being non empty non void ManySortedSign
  for a being SortSymbol of S
  for o being OperSymbol of S st the_arity_of o = <*a*>
  for A being MSAlgebra over S holds
  Args(o,A) = product <*(the Sorts of A).a*>
  proof
    let S be non empty non void ManySortedSign;
    let a be SortSymbol of S;
    let o be OperSymbol of S;
    assume A1: the_arity_of o = <*a*>;
    let A be MSAlgebra over S;
A2: dom the Sorts of A = the carrier of S by PARTFUN1:def 2;
    thus Args(o,A) = product ((the Sorts of A)*the_arity_of o) by PRALG_2:3
    .= product <*(the Sorts of A).a*> by A1,A2,FINSEQ_2:34;
  end;
