reserve i for Nat, x,y for set;
reserve S for non empty non void ManySortedSign;
reserve X for non-empty ManySortedSet of S;

theorem Th29:
  for S being non void non empty ManySortedSign
  for o,a,b,c being set
  for r being SortSymbol of S st o is_of_type <*a,b,c*>, r
  for A being MSAlgebra over S
  st (the Sorts of A).a <> {} & (the Sorts of A).b <> {} &
     (the Sorts of A).c <> {} & (the Sorts of A).r <> {}
  for x being Element of (the Sorts of A).a
  for y being Element of (the Sorts of A).b
  for z being Element of (the Sorts of A).c
  holds Den(In(o, the carrier' of S), A).<*x,y,z*> is
        Element of (the Sorts of A).r
  proof
    let S be non void non empty ManySortedSign;
    let o,a,b,c be set;
    let r be SortSymbol of S;
    assume
A1: (the Arity of S).o = <*a,b,c*> & (the ResultSort of S).o = r; then
A2: o in dom the Arity of S & dom the Arity of S c= the carrier' of S
    by FUNCT_1:def 2,RELAT_1:def 18; then
    reconsider s = o as OperSymbol of S;
    let A be MSAlgebra over S;
    assume A4: (the Sorts of A).a <> {};
    assume A5: (the Sorts of A).b <> {};
    assume A6: (the Sorts of A).c <> {};
    assume A7: (the Sorts of A).r <> {};
    let x be Element of (the Sorts of A).a;
    let y be Element of (the Sorts of A).b;
    let z be Element of (the Sorts of A).c;
A8: <*a,b,c*> = the_arity_of s by A1;
    dom the Sorts of A = the carrier of S by PARTFUN1:def 2; then
A9: the Sorts of A is Function of the carrier of S, rng the Sorts of A &
    rng the Sorts of A <> {} by FUNCT_2:2;
    ((the Sorts of A)#*the Arity of S).o
    = (the Sorts of A)#.<*a,b,c*> by A1,A2,FUNCT_2:15
    .= product ((the Sorts of A)*<*a,b,c*>) by A8,FINSEQ_2:def 5
    .= product <*(the Sorts of A).a, (the Sorts of A).b, (the Sorts of A).c*>
    by A8,A9,FINSEQ_2:37; then
A10: <*x,y,z*> in Args(s, A) by A4,A5,A6,FINSEQ_3:125;
    Result(s, A) = (the Sorts of A).the_result_sort_of s by FUNCT_2:15;
    hence Den(In(o, the carrier' of S), A).<*x,y,z*> is
    Element of (the Sorts of A).r by A1,A7,A10,FUNCT_2:5;
  end;
