summaryrefslogtreecommitdiff
path: root/prolog/problems/lists/conc_3/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/lists/conc_3/common.py')
-rw-r--r--prolog/problems/lists/conc_3/common.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/prolog/problems/lists/conc_3/common.py b/prolog/problems/lists/conc_3/common.py
index 105f801..58152a6 100644
--- a/prolog/problems/lists/conc_3/common.py
+++ b/prolog/problems/lists/conc_3/common.py
@@ -30,6 +30,7 @@ hint_type = {
'two_heads_markup': HintPopup('two_heads_markup'),
'two_heads': Hint('two_heads'),
'insertion_into_second_list': Hint('insertion_into_second_list'),
+ 'base_case_arbitrary': Hint('base_case_arbitrary'),
}
test_cases = [
@@ -107,6 +108,10 @@ def hint(code, aux_code):
return [{'id': 'two_heads_markup', 'start': m[0], 'end': m[1]} for m in marks] + \
[{'id': 'two_heads'}]
+ # base case succeeds with arbitrary result
+ if prolog.engine.ask_truthTO(engine_id, 'conc([], [a,b,c], L), var(L)'):
+ return [{'id': 'base_case_arbitrary'}]
+
# missing/failed base case
if not prolog.engine.ask_one(engine_id, 'conc([], [qa,qb,qc], [qa,qb,qc])'):
return [{'id': 'base_case'}]