Observation: People tend to think about control issues in
domain-specific terms that are alien to Prodigy (eg people can't date
themselves, or why leave a location if you want to talk to another
person, and you're both there) but there are actually
domain-independent terms (described below) in which to couch these ideas.

****************************************************************
INCONSISTENT TYPING
recommendation: bindings rejection.
notes:
--Should be inferable statically using the appropriate typing axioms.
--Should be doable nicely in 4.0.
--avoiding reflexive bindings (eg dating oneself) is a subcase of this.

Examples:
Date-WorldII:
askedfordate(sam,sam)
oppsex(sam,sam)
(and (male sam) (female sam))
Should be able to learn:
	(DO-NOT-DATE-SELF
	 (lhs (and (current-node <node>)
		   (current-goal (nolongerneedsdate <ob1>)
		   (current-op accept-date)
	       (candidate-bindings <node> (<ob1> <ob1>))))
	 (rhs (reject bindings (<ob1> <ob1>))))
****************************************************************
GREEDY HEURISTIC:
recommendation: bindings preference
notes:
--reducable to pv in some cases.
--if we can introduce the notion of resource minimization/maximization
then simple inductive arguments might get us the appropriate ck.

Examples:

;;; When two people are trying to talk, it seems foolish for them to
;;; walk away from each other.
;;;

    (STAY-PUT
     (lhs (and (current-node <node>)
	   (current-goal <node> (aretalking <p1> <p2>))
	   (candidate-op <node> converse)
	   (known <node> (and
			  (location <loc>)
			  (at <p1> <loc>)
			  (at <p2> <loc>)))))
     (rhs (select operator converse)))
****************************************************************
