(* There are some open issues here. I think we probably should define all function for relational operators on the domain $ALPHA\_PREDICATE$. It wouldn't make sense to define a type $REL\_PREDICATE$ that is not parameterised in terms of the theory, and the only benefit of such a definition would be to establish closure properties as part of consistency proofs. We can, however as well do this by virtue of laws. I am still somewhat tempted to pass the theory as an additional parameter to operations acting on the predicates of any particular UTP theory, however Ana wasn't too fond of this idea (I really need more experience before making a decision regarding this). *)

ZAX
 RELATION :
 	WF_UTP_THEORY_UNIVERSE   ALPHA_PREDICATE

  th : UTP_THEORY; u : UNIVERSE |
 	(th, u)  WF_UTP_THEORY_UNIVERSE 
 		REL_PREDICATE (th, u) =
 			{p : ALPHA_PREDICATE | p  TheoryPreds (th, u)}

