reserve S for non void non empty ManySortedSign,
  U0 for MSAlgebra over S;
reserve S for non void non empty ManySortedSign,
  X for ManySortedSet of the carrier of S,
  o for OperSymbol of S,
  b for Element of ([:the carrier' of S,{the
  carrier of S}:] \/ Union (coprod X))*;

theorem Th5:
  [[o,the carrier of S],b] in REL(X) iff len b = len (the_arity_of
o) & for x be set st x in dom b holds (b.x in [:the carrier' of S,{the carrier
of S}:] implies for o1 be OperSymbol of S st [o1,the carrier of S] = b.x holds
the_result_sort_of o1 = (the_arity_of o).x) & (b.x in Union (coprod X) implies
  b.x in coprod((the_arity_of o).x,X))
proof
  defpred P[OperSymbol of S,Element of ([:the carrier' of S,{the carrier of S}
  :] \/ Union (coprod X))*] means len $2 = len (the_arity_of $1) & for x be set
st x in dom $2 holds ($2.x in [:the carrier' of S,{the carrier of S}:] implies
  for o1 be OperSymbol of S st [o1,the carrier of S] = $2.x holds
  the_result_sort_of o1 = (the_arity_of $1).x) & ($2.x in Union (coprod X)
  implies b.x in coprod((the_arity_of $1).x,X));
  set a = [o,the carrier of S];
  the carrier of S in {the carrier of S} by TARSKI:def 1;
  then
A1: a in [:the carrier' of S,{the carrier of S}:] by ZFMISC_1:87;
  then reconsider
  a as Element of [:the carrier' of S,{the carrier of S}:] \/ Union
  (coprod X) by XBOOLE_0:def 3;
  thus [[o,the carrier of S],b] in REL(X) implies P[o,b]
  proof
    assume [[o,the carrier of S],b] in REL(X);
    then for o1 be OperSymbol of S st [o1,the carrier of S] = a holds P[o1,b]
    by Def7;
    hence thesis;
  end;
  assume
A2: P[o,b];
  now
    let o1 be OperSymbol of S;
    assume [o1,the carrier of S] = a;
    then o1 = o by XTUPLE_0:1;
    hence P[o1,b] by A2;
  end;
  hence thesis by A1,Def7;
end;
