I think calvin pevee wrote: > > merlinMain.r.executeCommand("(do-backward-chaining > r-adv-type)");
One problem here is that there -is- no use made of a template named r-adv-type, so backward chaining is not done. Looking at your code this ought to be just "adv-type", not "r-adv-type". Maybe you thought that do-backward-chaining names a rule; it doesn't, it names a template for which backward chaining triggers should be generated. You've got three templates names adv-type, adv-type-ask, and adv-attr, and rules with names like r-adv-type and adv-type-ask-something-else. As in all types of programming, using good names makes it easier to write and understand code, while using bad names like these (bad in the sense that they're cryptic and all very similar) makes it difficult. I would consider changing all the names to "type", "attribute", "advice", "ask-advice", or whatever -- names which won't be so confusing. Jason's also pointed out another problem, that ?x isn't defined at the time that you use it in an assert. --------------------------------------------------------- Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov -------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] --------------------------------------------------------------------