Menu

exceptWhen question

2004-08-31
2004-09-02
  • Matt Whealton

    Matt Whealton - 2004-08-31

    Is it necessary for the FORMULA in an exceptWhen statement (exceptWhen FORMULA ASSERTION) to be an already concluded fact (or set of facts) in the knowledge base?

    My rule is:
    (exceptWhen
       (communicationAuthorizedSameOffice ?PERS1 ?PERS2)
       (implies
          (communicationAuthorizedDealProject ?PERS1 ?PERS2)
          (isMonitoredCommunication ?PERS1 ?PERS2)))

    The rule did not work when communicationAuthorizedSameOffice has direction Backward, but does with direction Forward. The predicate communicationAuthorizedSameOffice for a pair of persons is not directly asserted in the KB, but relies on other predicates to be concluded.

    So, is the Forward strictly necessary? Or is there an inference parameter in ASK that allows FORMULA assertions in exceptWhen to backchain?

    Apologies in advance if there is a place where the inference behavior wrt to exceptWhen is documented, and I just missed it.

    Thanks,
    Matt

     
    • Bill Jarrold

      Bill Jarrold - 2004-09-02

      As I recall, given (#$exceptWhen FORMULA ASSERTION), the default is that the inference
      engine to attempt to prove FORMULA up
      to a backchain depth of 1.  There might
      be an inference engine parameter that you
      might be able to tweak.

      See if you can prove a FORMULA that has
      #$communicationAuthorizedSameOffice as arg0
      with a backchain of 1.

       
    • Matt Whealton

      Matt Whealton - 2004-09-02

      Bill:
      Thanks for the suggestion. Though the picture still seems to be the same.

      I changed the direction of communicationAuthorizedSameOffice to BACKWARD, removed the deduced assertions, and was able to prove an assertion with it as arg0 with 1 transformation (backchain) step. But now the exceptWhen fails again.

      So it appears that an exceptWhen FORMULA is only proven at the moment for zero backchain deductions like isa and genls, or direct asserted facts in the KB.

      I haven't been able to find a place to give the inference engine a parameter to change that..

       

Log in to post a comment.