summaryrefslogtreecommitdiff
path: root/prolog/problems/family_relations/descendant_2
diff options
context:
space:
mode:
Diffstat (limited to 'prolog/problems/family_relations/descendant_2')
-rw-r--r--prolog/problems/family_relations/descendant_2/common.py13
-rw-r--r--prolog/problems/family_relations/descendant_2/en.py14
2 files changed, 27 insertions, 0 deletions
diff --git a/prolog/problems/family_relations/descendant_2/common.py b/prolog/problems/family_relations/descendant_2/common.py
new file mode 100644
index 0000000..408b3c7
--- /dev/null
+++ b/prolog/problems/family_relations/descendant_2/common.py
@@ -0,0 +1,13 @@
+id = 101
+group = 'family_relations'
+number = 8
+visible = True
+facts = 'family_relations'
+
+solution = '''\
+descendant(X, Y) :-
+ parent(Y, X).
+descendant(X, Y) :-
+ parent(Y, Z),
+ descendant(X, Z).
+'''
diff --git a/prolog/problems/family_relations/descendant_2/en.py b/prolog/problems/family_relations/descendant_2/en.py
new file mode 100644
index 0000000..d4ac794
--- /dev/null
+++ b/prolog/problems/family_relations/descendant_2/en.py
@@ -0,0 +1,14 @@
+id = 101
+name = 'descendant/2'
+slug = 'the descendant relation'
+
+description = '''\
+<p><code>descendant(X, Y)</code>: <code>X</code> is a descendant (child, grandchild,...) of <code>Y</code>.</p>
+<pre>
+ ?- descendant(patricia, X).
+ X = william ;
+ X = tina ;
+ X = thomas.
+</pre>'''
+
+hint = {}