JESS: Truth Maintenance

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

JESS: Truth Maintenance

Md Oliya
Hi,

I am doing some experiments with regards to truth maintenance.

Assume that I have a rule like:

(defrule simpleRule (aaa) =>(bbb))

Asserting an (aaa) fact and (run)ning the rule will result in a new fact (bbb).
Nevertheless, retracting (aaa) will not retract (bbb) as well, and I found it quite contrary to what was mentioned on page 139 of the book "Jess in Action."

Am I missing some config options?

Thanks for your comments in advance.
--Oli
Reply | Threaded
Open this post in threaded view
|

Re: JESS: Truth Maintenance

Friedman-Hill, Ernest
I don't see where page 139 says anything about dependencies between  
facts. It does talk about how the state of the *agenda* is maintained  
-- the list of rules that haven't fired yet. But the effects of rules  
that fired in the past are not, by default, undone.

By default, there's no relationship between (aaa) and (bbb). Jess has  
the "logical" conditional element to specify dependencies among facts,  
and it can be used to easily implement your example below:

(defrule simpleRule
     (logical (aaa))
     =>
     (bbb))


It's discussed on pages 114-116 of Jess in Action.



On Jun 3, 2011, at 7:33 AM, Md Oliya wrote:

> Hi,
>
> I am doing some experiments with regards to truth maintenance.
>
> Assume that I have a rule like:
>
> (defrule simpleRule (aaa) =>(bbb))
>
> Asserting an (aaa) fact and (run)ning the rule will result in a new  
> fact (bbb).
> Nevertheless, retracting (aaa) will not retract (bbb) as well, and I  
> found it quite contrary to what was mentioned on page 139 of the  
> book "Jess in Action."
>
> Am I missing some config options?
>
> Thanks for your comments in advance.
> --Oli

---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: (925) 294-2154
Sandia National Labs
PO Box 969, MS 9012                            [hidden email]
Livermore, CA 94550                             http://www.jessrules.com





--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [hidden email]'
in the BODY of a message to [hidden email], NOT to the list
(use your own address!) List problems? Notify [hidden email].
--------------------------------------------------------------------

Reply | Threaded
Open this post in threaded view
|

Re: JESS: Truth Maintenance

Md Oliya
Thanks for the reply, the "logical" keyword works indeed.

As for page 139, i thought passing of the "remove" tokens down the rete is meaningful in the context of logical retraction.

--Oli


On Fri, Jun 3, 2011 at 9:55 PM, Ernest Friedman-Hill <[hidden email]> wrote:
I don't see where page 139 says anything about dependencies between facts. It does talk about how the state of the *agenda* is maintained -- the list of rules that haven't fired yet. But the effects of rules that fired in the past are not, by default, undone.

By default, there's no relationship between (aaa) and (bbb). Jess has the "logical" conditional element to specify dependencies among facts, and it can be used to easily implement your example below:

(defrule simpleRule
   (logical (aaa))
   =>
   (bbb))


It's discussed on pages 114-116 of Jess in Action.




On Jun 3, 2011, at 7:33 AM, Md Oliya wrote:

Hi,

I am doing some experiments with regards to truth maintenance.

Assume that I have a rule like:

(defrule simpleRule (aaa) =>(bbb))

Asserting an (aaa) fact and (run)ning the rule will result in a new fact (bbb).
Nevertheless, retracting (aaa) will not retract (bbb) as well, and I found it quite contrary to what was mentioned on page 139 of the book "Jess in Action."

Am I missing some config options?

Thanks for your comments in advance.
--Oli

---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: <a href="tel:%28925%29%20294-2154" value="+19252942154" target="_blank">(925) 294-2154
Sandia National Labs
PO Box 969, MS 9012                            [hidden email]
Livermore, CA 94550                             http://www.jessrules.com





--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [hidden email]'
in the BODY of a message to [hidden email], NOT to the list
(use your own address!) List problems? Notify [hidden email].
--------------------------------------------------------------------