summaryrefslogtreecommitdiff
path: root/prolog/problems/lists/divide_3/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/lists/divide_3/common.py')
-rw-r--r--prolog/problems/lists/divide_3/common.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/prolog/problems/lists/divide_3/common.py b/prolog/problems/lists/divide_3/common.py
index 34b7fe9..2d93c4c 100644
--- a/prolog/problems/lists/divide_3/common.py
+++ b/prolog/problems/lists/divide_3/common.py
@@ -88,7 +88,7 @@ def hint(code, aux_code):
# forcing result onto recursion; case of divide(T, [H1|L1], [H2|L2])
if not prolog.engine.ask_truthTO(engine_id, 'divide([a,b,c], _, _)') and \
prolog.engine.ask_truthTO(engine_id,
- 'asserta( divide([cob], [yowza,cob], [brix]) ), divide([yowza,brix,cob], [yowza,cob], [brix]), retract( divide([cob], [yowza,cob], [brix]) )'):
+ 'asserta( divide([cob], [yowza,cob], [brix]) ), divide([yowza,brix,cob], [cob], []), retract( divide([cob], [yowza,cob], [brix]) )'):
return [{'id': 'forcing_result_onto_recursion'}]
# base case succeeds with arbitrary result
@@ -108,10 +108,10 @@ def hint(code, aux_code):
if not prolog.engine.ask_truthTO(engine_id, 'divide([], [], [])'):
return [{'id': 'base_case'}]
- # target predicate seems to always be false
- if not prolog.engine.ask_truthTO(engine_id, 'divide([_,_,_,_,_], _, _)') and \
- not prolog.engine.ask_truthTO(engine_id, 'divide([_,_,_,_,_,_], _, _)'):
- return [{'id': 'predicate_always_false'}]
+# # target predicate seems to always be false
+# if not prolog.engine.ask_truthTO(engine_id, 'divide([_,_,_,_,_], _, _)') and \
+# not prolog.engine.ask_truthTO(engine_id, 'divide([_,_,_,_,_,_], _, _)'):
+# return [{'id': 'predicate_always_false'}]
# base cases work, the recursive doesn't (but it doesn't timeout)
# this may be left as the last, most generic hint