Tried to bind * to NULL value.
"Hans Moser" <[email protected]> Thu, 06 Jan 2011 21:07:58 +0100
| Newsgroups | gmane.comp.ai.powerloom |
|---|---|
| Message-ID | <[email protected]> |
I got "WARNING: Tried to bind |V|?s2 to NULL value. Potentially a PowerLoom bug". I can't see any error in my code and the negative questio works.
Thanks.
;;;;
;;;; PowerLoom 4.0.0.beta
;;;;
(in-package "STELLA")
(defmodule "TEST"
:documentation "Test module"
:includes ("PL-USER"))
(in-module "TEST")
(set-feature justifications)
(defrelation individual (?x))
(defrelation bounded (?x))
(defrelation unbounded (?x))
(defrelation member (?x ?s))
(defrelation equal (?x ?y))
(assert (forall (?x) (or (set ?x) (individual ?x))))
(assert (forall (?x) (or (not (set ?x)) (not (individual ?x)))))
(assert (forall (?x) (or (bounded ?x) (unbounded ?x))))
(assert (forall (?x) (or (not (bounded ?x)) (not (unbounded ?x)))))
(assert (forall (?x ?s) (=> (member ?x ?s) (bounded ?x))))
(assert (forall (?x ?s) (=> (member ?x ?s) (set ?s))))
(assert (forall (?x ?y) (=> (equal ?x ?y) (equal ?y ?x))))
(assert (forall (?s1 ?s2) (=> (and (set ?s1) (set ?s2))
(<=> (forall (?x) (<=> (member ?x ?s1) (member ?x ?s2)))
(equal ?s1 ?s2)))))
(assert (set A))
(assert (set B))
(assert (individual C))
(assert (member C A))
(assert (forall (?m) (=> (member ?m A) (member ?m B))))
(assert (forall (?m) (=> (member ?m B) (member ?m A))))
;;;;
;;;; ERROR?
;;;;
* (ask (equal A B))
WARNING: Tried to bind |V|?s2 to NULL value. Potentially a PowerLoom bug
debugger invoked on a COMMON-LISP:SIMPLE-ERROR:
There is no applicable method for the generic function
#<COMMON-LISP:STANDARD-GENERIC-FUNCTION COPY (13)>
when called with arguments
(:NULL_VALUE).
Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name):
0: [ABORT] Exit debugger, returning to top level.
((SB-PCL::FAST-METHOD COMMON-LISP:NO-APPLICABLE-METHOD (COMMON-LISP:T))
#<unavailable argument>
#<unavailable argument>
#<COMMON-LISP:STANDARD-GENERIC-FUNCTION COPY (13)>)[:EXTERNAL]
0] 0
* (ask (not (equal A B)))
FALSE
*
* (why)
1 (NOT (EQUAL A B))
follows by Modus Ponens
with substitution {?x/C, ?x/, ?x/, ?x/, ?s2/B, ?s1/A}
since 1.1 ! (FORALL (?x1 ?x2)
(<= (NOT (EQUAL ?x1 ?x2))
(AND (SET ?x1)
(SET ?x2)
(OR (EXISTS (?x)
(AND (MEMBER ?x ?x1)
(NOT (MEMBER ?x ?x2))))
(EXISTS (?x)
(AND (MEMBER ?x ?x2)
(NOT (MEMBER ?x ?x1))))
(AND (NOT (EQUAL ?x1 ?x2))
(FORALL (?x)
(<= (MEMBER ?x ?x2)
(MEMBER ?x ?x1)))
(FORALL (?x)
(<= (MEMBER ?x ?x1)
(MEMBER ?x ?x2))))))))
and 1.2 (OR (EXISTS (C)
(AND (MEMBER C A)
(NOT (MEMBER C B))))
(EXISTS (?x)
(AND (MEMBER ?x B)
(NOT (MEMBER ?x A))))
(AND (NOT (EQUAL A B))
(FORALL (?x)
(<= (MEMBER ?x B)
(MEMBER ?x A)))
(FORALL (?x)
(<= (MEMBER ?x A)
(MEMBER ?x B)))))
and 1.3 ! (SET B)
and 1.4 ! (SET A)
1.2 (OR (EXISTS (C)
(AND (MEMBER C A)
(NOT (MEMBER C B))))
(EXISTS (?x)
(AND (MEMBER ?x B)
(NOT (MEMBER ?x A))))
(AND (NOT (EQUAL A B))
(FORALL (?x)
(<= (MEMBER ?x B)
(MEMBER ?x A)))
(FORALL (?x)
(<= (MEMBER ?x A)
(MEMBER ?x B)))))
follows by Or-Introduction
since 1.2.1 (EXISTS (C)
(AND (MEMBER C A)
(NOT (MEMBER C B))))
1.2.1 (EXISTS (C)
(AND (MEMBER C A)
(NOT (MEMBER C B))))
follows by Existential Introduction
since 1.2.1.1 ! (MEMBER C A)
and 1.2.1.2 (NOT (MEMBER C B))
|kv|(<|i|@JUSTIFICATION,|i|@EXPLANATION-INFO> <|i|@PRIMITIVE-STRATEGY,|i|@EXPLAN
ATION-INFO> <|i|@JUSTIFICATION,|i|@EXPLANATION-INFO> <|i|@PRIMITIVE-STRATEGY,|i|
@EXPLANATION-INFO> <|i|@PRIMITIVE-STRATEGY,|i|@EXPLANATION-INFO> <|i|@JUSTIFICAT
ION,|i|@EXPLANATION-INFO> <|i|@PRIMITIVE-STRATEGY,|i|@EXPLANATION-INFO> <|i|@JUS
TIFICATION,|i|@EXPLANATION-INFO>)
*
--
Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief!
Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail