# coding=utf-8 name = 'ancestor/2' slug = 'X je prednik od Y' description = '''\

ancestor(X, Y): X je prednik (oče, mama, dedek, ...) od Y.

  ?- ancestor(patricia, X).
    X = john ;
    X = michael ;
    X = michelle.
''' plan = ['''\

Sedaj pa bo potrebna rekurzija... kako lahko problem prevedem na (en korak) manjši problem?

Loni naj zbriše imena relacij (parent, ancestor) s te slike!

''', '''\

''', '''\

Če je X starš od nekega Z in je ta Z prednik od Y, potem je X tudi prednik od Y.

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

Je spol res pomemben?

''', 'grandparent_used': '''\

Rešitev z "grandparent" bo premalo splošna, poskusi nadomestiti to z rekurzijo. Skratka, poskusi prevesti na "manjši" problem, npr. prednik v enem koraku manj (en korak bližji prednik)...

''', 'base_case': '''\

Si pomislil na robni pogoj? Kaj je najbolj enostaven par (prednik, potomec)?

''', 'ancestor_to_oneself': '''\

Kako je lahko nekdo prednik samemu sebi?

''', 'descendant_need_not_be_parent': '''\

Potomec Y pravzaprav ne rabi imeti otrok...

''', 'wrong_direction': '''\

Si morda sprogramiral ravno obratno in zamenjal prednika s potomcem? X naj bo prednik od Y in ne obratno!

''', # '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.

# ''', }