summaryrefslogtreecommitdiff
path: root/prolog/problems/family_relations/cousin_2
diff options
context:
space:
mode:
authorAleš Smodiš <aless@guru.si>2015-08-18 16:06:19 +0200
committerAleš Smodiš <aless@guru.si>2015-08-18 16:06:19 +0200
commit95e2fe57f6e4639f6ae9f1fef368829d5090dbf6 (patch)
tree462ba05eb0c4732ca1c97739548801258bf47b40 /prolog/problems/family_relations/cousin_2
Exported all problems from the SQLite database into the new directory structure.
Diffstat (limited to 'prolog/problems/family_relations/cousin_2')
-rw-r--r--prolog/problems/family_relations/cousin_2/common.py26
-rw-r--r--prolog/problems/family_relations/cousin_2/en.py13
2 files changed, 39 insertions, 0 deletions
diff --git a/prolog/problems/family_relations/cousin_2/common.py b/prolog/problems/family_relations/cousin_2/common.py
new file mode 100644
index 0000000..9285a80
--- /dev/null
+++ b/prolog/problems/family_relations/cousin_2/common.py
@@ -0,0 +1,26 @@
+id = 99
+group = 'family_relations'
+number = 6
+visible = True
+facts = 'family_relations'
+
+solution = '''\
+sister99(X, Y) :-
+ parent(P, X),
+ parent(P, Y),
+ female(X),
+ X \== Y.
+
+brother99(X, Y) :-
+ parent(P, X),
+ parent(P, Y),
+ male(X),
+ X \== Y.
+
+cousin(X, Y) :-
+ parent(PX, X),
+ parent(PY, Y),
+ ( brother99(PX, PY)
+ ;
+ sister99(PX, PY) ).
+'''
diff --git a/prolog/problems/family_relations/cousin_2/en.py b/prolog/problems/family_relations/cousin_2/en.py
new file mode 100644
index 0000000..72faa60
--- /dev/null
+++ b/prolog/problems/family_relations/cousin_2/en.py
@@ -0,0 +1,13 @@
+id = 99
+name = 'cousin/2'
+slug = 'the cousin relation'
+
+description = '''\
+<p><code>cousin(X, Y)</code>: <code>X</code> is a cousin (male or female) of <code>Y</code>.</p>
+<pre>
+ ?- cousin(andrew, X).
+ X = vanessa ;
+ X = patricia.
+</pre>'''
+
+hint = {}