]> hydra-www.ietfng.org Git - dyna2/commitdiff
added test case from issue #31 - late backchaining declarations.
authorTim Vieira <tim.f.vieira@gmail.com>
Sun, 21 Jul 2013 22:40:33 +0000 (18:40 -0400)
committerTim Vieira <tim.f.vieira@gmail.com>
Sun, 21 Jul 2013 22:40:33 +0000 (18:40 -0400)
test/repl/late-bc.dynadoc [new file with mode: 0644]

diff --git a/test/repl/late-bc.dynadoc b/test/repl/late-bc.dynadoc
new file mode 100644 (file)
index 0000000..19ceb6b
--- /dev/null
@@ -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.