--- /dev/null
+% 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.