reserve S for non empty non void ManySortedSign;
reserve X for non-empty ManySortedSet of S;
reserve x,y,z for set, i,j for Nat;
reserve
  A0 for (X,S)-terms non-empty MSAlgebra over S,
  A1 for all_vars_including (X,S)-terms MSAlgebra over S,
  A2 for all_vars_including inheriting_operations (X,S)-terms MSAlgebra over S,
  A for all_vars_including inheriting_operations free_in_itself
  (X,S)-terms MSAlgebra over S;

theorem Th41:
  for o being OperSymbol of S holds Args(o,A1) c= Args(o, Free(S,X))
  proof
    let o be OperSymbol of S;
    let x be object; assume x in Args(o,A1); then
A1: x in product((the Sorts of A1)*the_arity_of o) by PRALG_2:3;
A2: dom((the Sorts of A1)*the_arity_of o) = dom the_arity_of o by PRALG_2:3;
A3: dom((the Sorts of Free(S,X))*the_arity_of o) = dom the_arity_of o
    by PRALG_2:3;
    now
      let a be object; assume
A4:   a in dom the_arity_of o; then
A5:   (the_arity_of o).a in the carrier of S by FUNCT_1:102;
A6:   ((the Sorts of A1)*the_arity_of o).a =
      (the Sorts of A1).((the_arity_of o).a) by A4,FUNCT_1:13;
A7:   ((the Sorts of Free(S,X))*the_arity_of o).a =
      (the Sorts of Free(S,X)).((the_arity_of o).a) by A4,FUNCT_1:13;
      the Sorts of A1 is MSSubset of Free(S,X) by Def6;
      hence ((the Sorts of A1)*the_arity_of o).a c=
      ((the Sorts of Free(S,X))*the_arity_of o).a
      by A5,A6,A7,PBOOLE:def 2,def 18;
    end; then
    product((the Sorts of A1)*the_arity_of o) c=
    product((the Sorts of Free(S,X))*the_arity_of o) by A2,A3,CARD_3:27; then
    x in product((the Sorts of Free(S,X))*the_arity_of o) by A1;
    hence x in Args(o, Free(S,X)) by PRALG_2:3;
  end;
