name = 'grandparent/2' slug = 'X je dedek ali babica od Y' description = '''\

grandparent(?X, ?Y): X je dedek ali babica od Y.

?- grandparent(tina, Y).
  Y = vanessa ;
  Y = patricia.
?- grandparent(tina, vanessa).
  true.

Družinska drevesa so podana s predikati parent/2, male/1 in female/1.

''' plan = ['''\

Dedek ali babica ima otroka, ki ima otroka.

''', '''\

Če je X starš od starša od Y, potem je X stari starš od Y.

''', '''\

Dedek ali babica ima otroka, ki ima otroka.

'''] hint = { 'no_common_z': '''\

Si povezal X in Y preko neke skupne (iste!) osebe?

''', # TODO: Tim, tale namig.. nisem prepričan, da mi je všeč... (kako je izražen) -- morda nova slika!? 'gender_is_irrelevant': '''\

Iščemo starega starša in vnuka, spol pri tem ni pomemben.

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

Je to res potrebno?

''', 'or_instead_of_and': '''\

Si morda uporabil podpičje (ki pomeni ALI) namesto vejice (ki pomeni IN)?

''', 'x_must_be_parent': '''\

Dedek ali babica ima gotovo kakšnega otroka, kajne? Torej je starš od nekoga...

''', 'x_need_not_have_parent': '''\

Starš od X ni pomemben, ko iščemo vnuka...

''', 'y_must_have_parent': '''\

Vnuk Y mora imeti starša, kajne? Ta starš pa je...

''', 'y_need_not_be_parent': '''\

Vnuk Y pravzaprav ne rabi imeti otrok, da ima dedka ali babico...

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

Vse kaže, da tvoj predikat vedno vrne "false". Si mu dal pravilno ime, si se morda pri imenu zatipkal?

Če je ime pravilno, se morda splača preveriti tudi, če se nisi zatipkal kje drugje, je morda kakšna pika namesto vejice ali obratno, morda kakšna spremenljivka z malo začetnico?

Možno je seveda tudi, da so tvoji pogoji prestrogi ali celo nemogoči (kot bi bila npr. zahteva, da je X hkrati starš in sestra od Y ali kaj podobnega).

''', }