name = 'aunt/2' slug = 'X je teta od Y' description = '''\
aunt(X, Y)
: X
je teta od Y
.
?- aunt(sally, Y). Y = vanessa ; Y = patricia.
Družinska drevesa so
podana s predikati parent/2
, male/1
in
female/1
.
Morda lahko uporabiš rešitev kakšne prejšnje naloge?
''', '''\Če je X
sestra od starša od Y
,
potem je X
teta od Y
.
X
mora biti teta od Y
, ne obratno.
Si morda narobe upošteval prioriteto operatorjev IN ter ALI?
Operator IN veže močneje od ALI, če želiš spremeniti prioriteto, lahko uporabiš oklepaje.
''', 'x_must_have_sibling': '''\Teta ima navadno brata ali sestro...
''', 'x_must_be_female': '''\Teta je navadno ženskega spola.
''', # TODO: Loni should mark female gender on some aunt hints! 'y_must_have_parent': '''\Verjetno bi bilo smiselno, da ima nečak kakšnega starša?
''', 'aunt_vs_mother': '''\Kako je teta lahko hkrati še mama od Y
?
Si morda pozabil, da teta in starš od Y
ne smeta biti ista oseba?
X
pravzaprav ne rabi imeti otrok, da je lahko teta od nekoga...
Nečak ali nečakinja Y
pravzaprav ne rabi imeti otrok, da ima teto...
Starš od nečaka Y
je lahko tudi moškega spola
(kar pomeni, da ne more biti sestra od X
).
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
).
Zanimivost: nalogo bi lahko rešil tudi z uporabo rešitve za relacijo "sister".
Teta je namreč sestra od starša od Y
.