From 2f2921adb05dbd4aab1bc09bb3e3dcbc082b33f0 Mon Sep 17 00:00:00 2001 From: Tim Vieira Date: Fri, 19 Jul 2013 14:43:00 -0400 Subject: [PATCH] add test for transitive deps in memoized BC rule retraction. --- test/repl/retract-bc-3.dynadoc | 62 ++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 test/repl/retract-bc-3.dynadoc diff --git a/test/repl/retract-bc-3.dynadoc b/test/repl/retract-bc-3.dynadoc new file mode 100644 index 0000000..350c724 --- /dev/null +++ b/test/repl/retract-bc-3.dynadoc @@ -0,0 +1,62 @@ +> :- backchain a/1. +| :- backchain b/1. +| :- backchain c/1. +| :- backchain d/1. +| a(X) = b(X). +| b(X) = c(X). +| c(X) = d(X). +| d(X) = X. + +> as(X) = a(X) for X in range(1,5). +| bs(X) = b(X) for X in range(1,5). +| cs(X) = c(X) for X in range(1,5). +| ds(X) = d(X) for X in range(1,5). + +Changes +======= +as(1) = 1. +as(2) = 2. +as(3) = 3. +as(4) = 4. +bs(1) = 1. +bs(2) = 2. +bs(3) = 3. +bs(4) = 4. +cs(1) = 1. +cs(2) = 2. +cs(3) = 3. +cs(4) = 4. +ds(1) = 1. +ds(2) = 2. +ds(3) = 3. +ds(4) = 4. + +> rules + +Rules +===== + 0: a(X) = b(X). + 1: b(X) = c(X). + 2: c(X) = d(X). + 3: d(X) = X. + 4: as(X) = a(X) for X in range(1,5). + 5: bs(X) = b(X) for X in range(1,5). + 6: cs(X) = c(X) for X in range(1,5). + 7: ds(X) = d(X) for X in range(1,5). + +> retract_rule 2 + +Changes +======= +as(1) = null. +as(2) = null. +as(3) = null. +as(4) = null. +bs(1) = null. +bs(2) = null. +bs(3) = null. +bs(4) = null. +cs(1) = null. +cs(2) = null. +cs(3) = null. +cs(4) = null. -- 2.50.1