
  tactic-name is a symbol.  type is either :static or :dynamic .  lambda-list is a two argument lambda-list.  body is a function body.
 Defines a new conflict resolution tactic of the given name. The  type of the tactic may be :static if the body does not look into the slots of the objects making up the instantiation, otherwise :dynamic . The  lambda-list binds to two instantiation objects and the function body  body should return non- nil if and only if the first instantiation object is preferred to the second. deftactic also defines a function of the same.
The newly defined tactic may be used as any in-built tactic.
(deftactic prefer-trucks :static (inst1 inst2)
(flet ((truck-p (obj) (typep obj 'truck)))
(and (some #'truck-p (inst-token inst1))
(notany #'truck-p (inst-token inst2)))))
 The new tactic may be used in a defcontext form:
 (defcontext my-context :strategy (prefer-trucks))