
theorem Th3:
  for S being non empty non void ManySortedSign for o being
  OperSymbol of S for A being MSAlgebra over S holds Args(o,A) <> {} iff for i
  being Element of NAT st i in dom the_arity_of o holds (the Sorts of A).((
  the_arity_of o)/.i) <> {}
proof
  let S be non empty non void ManySortedSign;
  let o be OperSymbol of S;
  let A be MSAlgebra over S;
A1: dom ((the Sorts of A)*the_arity_of o) = dom the_arity_of o by PRALG_2:3;
A2: Args(o,A) = product ((the Sorts of A)*the_arity_of o) by PRALG_2:3;
  hereby
    assume
A3: Args(o,A) <> {};
    let i be Element of NAT;
    assume
A4: i in dom the_arity_of o;
    then
A5: (the Sorts of A).((the_arity_of o).i) = ((the Sorts of A)*the_arity_of
    o ).i by FUNCT_1:13;
A6: (the_arity_of o)/.i = (the_arity_of o).i by A4,PARTFUN1:def 6;
    ((the Sorts of A)*the_arity_of o).i in rng ((the Sorts of A)*
    the_arity_of o) by A1,A4,FUNCT_1:def 3;
    hence (the Sorts of A).((the_arity_of o)/.i) <> {} by A2,A3,A5,A6,CARD_3:26
;
  end;
  assume
A7: for i being Element of NAT st i in dom the_arity_of o holds (the
  Sorts of A).((the_arity_of o)/.i) <> {};
  assume Args(o,A) = {};
  then {} in rng ((the Sorts of A)*the_arity_of o) by A2,CARD_3:26;
  then consider x being object such that
A8: x in dom the_arity_of o and
A9: {} = ((the Sorts of A)*the_arity_of o).x by A1,FUNCT_1:def 3;
  reconsider x as Element of NAT by A8;
A10: (the_arity_of o)/.x = (the_arity_of o).x by A8,PARTFUN1:def 6;
  (the Sorts of A).((the_arity_of o)/.x) <> {} by A7,A8;
  hence thesis by A8,A9,A10,FUNCT_1:13;
end;
