Re: Unexpected Powerloom truth maintenance behavior....
Hans Chalupsky <[email protected]> Thu, 21 Aug 2008 16:09:53 -0700
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <[email protected]> |
Yes, we have to see how to improve this. Currently, the type assertions inferred from the domains of a relation are handled by a special mechanism if *type-check-policy* is :AUTOMATICALLY-FIX-TYPE-VIOLATIONS (the default). They are asserted in the top-level module and not the inference cache, and we can't blindly remove them, since they might have been asserted explicitly or be the result of other assertions as well. We only want to assert them if we have to, which is why they are handled somewhat differently from other inferred information. One way to work around this for now is to set *type-check-policy* to :REPORT-TYPE-VIOLATIONS and then assert all types explicitly, in which case it is your responsibility to assert and retract them, but at least you won't be surprised by PowerLoom doing things behind the scenes. Hans >>>>> Thomas Russ <[email protected]> writes: > On Aug 21, 2008, at 9:31 AM, Srini Ram wrote: >> (defmodule "TEST" >> :includes ("PL-USER")) >> (in-module "TEST") >> >> ;(clear-module "TEST") >> (reset-features) >> >> (defconcept person (?x)) >> (defrelation spouse ((?x person) (?y person)) >> :axioms (symmetric spouse)) >> >> (assert (spouse jack jill)) ; expect (person jack) (person jill) to >> be also asserted because of domain of person >> >> (ask (person jack)) >> TRUE ;; as expected >> >> (retract (spouse jack jill)) ;; expect (person jack) to >> also be retracted by truth maintenance system >> >> (ask (person jack)) >> TRUE ;; unexpected >> >> Am I missing something. > No. PowerLoom is missing something. > This is a bug. > I'm not sure about how to fix it, though. > _______________________________________________ > powerloom-forum mailing list > [email protected] > http://mailman.isi.edu/mailman/listinfo/powerloom-forum