From: Tim Vieira Date: Sun, 21 Jul 2013 22:40:33 +0000 (-0400) Subject: added test case from issue #31 - late backchaining declarations. X-Git-Url: https://hydra-www.ietfng.org/gitweb/?a=commitdiff_plain;h=8037b4281f0802aed83d3868a9d8313a4e980fe7;p=dyna2 added test case from issue #31 - late backchaining declarations. --- diff --git a/test/repl/late-bc.dynadoc b/test/repl/late-bc.dynadoc new file mode 100644 index 0000000..19ceb6b --- /dev/null +++ b/test/repl/late-bc.dynadoc @@ -0,0 +1,39 @@ +% simple case of late backchaining, which causes replanning or rule 0. + +> a(X) = f(X) for X in range(1,5). + +> :- backchain f/1. +| f(X) = X. + +Changes +======= +a(1) = 1. +a(2) = 2. +a(3) = 3. +a(4) = 4. + +> rules + +Rules +===== + 1: f(X) = X. + 2: a(X) = f(X) for X in range(1,5). % originally index 0, now 2. + + +> foo(X) += bar(X). +> foo(X) += 2*bar(X). + +> :- backchain bar/1. +> bar(X) = X+1. + +Encountered error in input program: + Unable to plan initializers for rule(s): + foo(X) += bar(X). + foo(X) += 2*bar(X). +Everything was syntactically valid, but we could not +see it through. + +> :- backchain foo/1. +> query foo(3) + +foo(3) = 12.