From d4de1e190bd5e60a910622baaa170a4b7e0914b5 Mon Sep 17 00:00:00 2001 From: Aleksander Sadikov Date: Sat, 20 Aug 2016 01:26:58 +0200 Subject: English translation for cousin/2 added. --- prolog/problems/family_relations/cousin_2/en.py | 73 ++++++++++++++++++++++++- 1 file changed, 70 insertions(+), 3 deletions(-) diff --git a/prolog/problems/family_relations/cousin_2/en.py b/prolog/problems/family_relations/cousin_2/en.py index 4ca9c87..a5627ee 100644 --- a/prolog/problems/family_relations/cousin_2/en.py +++ b/prolog/problems/family_relations/cousin_2/en.py @@ -2,11 +2,78 @@ name = 'cousin/2' slug = 'the cousin relation' description = '''\ -

cousin(X, Y): X is a cousin (male or female) of Y.

+

cousin(X, Y): X is a cousin of Y.

 ?- cousin(andrew, X).
   X = vanessa ;
   X = patricia.
-
''' + +

Family trees are +described with predicates parent/2, male/1, and +female/1.

+''' + +plan = ['''\ +

Perhaps you can make use of the solution to one of the previous exercises?

+

I have a child, my sibling also has a child...

+

But of course it's also possible to solve without any of the previous solutions...

+''', '''\ +

If PX is a parent of X and +PY is a parent of Y and if +PX and PY are siblings, +then X is a cousin to Y.

+''', '''\ +

I have a child, my sibling has a child, these two children
+are therefore...

+'''] + +hint = { + 'gender_is_irrelevant': '''\ +

Is gender really important?

+''', + + 'gender_is_irrelevant_markup': '''\ +

Is this necessary?

+''', + + 'precedence_fail': '''\ +

Did you mix up the precedence of operators or & and?

+

Operator and has higher precedence than operator or. +If you wish to change that you can always use the brackets.

+''', + + 'cousin_vs_sibling': '''\ +

How can a cousin X at the same time also be a sibling of Y? +Did you perhaps forget that the parents of X and Y should not be the same? +(Be careful: if both a mother and a father are listed in the database, then prolog could find them as two +different parents, which is logically absolutely correct.)

+

+''', + + 'cousin_to_oneself': '''\ +

How can someone be a cousin to him- or herself? +Perhaps X and Y have the same parent?

+

+

Try this query: ?- cousin(X, X).

+''', + + 'cousin_need_not_be_parent': '''\ +

A cousin doesn't need to have children...

+''', + + 'predicate_always_false': '''\ +

It seems your predicate is always "false". Did you give it the correct name, +or is it perhaps misspelled?

+

If the name is correct, check whether something else is misspelled, perhaps there is a full stop instead of +a comma or vice versa, or maybe you typed a variable name in lowercase?

+

It is, of course, also possible that your conditions are too restrictive, or even impossible to satisfy +(as would be, for example, the condition that X is both a parent and a sister of Y, or +something similarly impossible).

+''', + +# 'interesting_tidbit': '''\ +#

Zanimivost: nalogo bi lahko rešil tudi z uporabo rešitve za relacijo "sister". +# Teta je namreč sestra od starša od Y.

+# ''', +} -hint = {} -- cgit v1.2.1