# coding=utf-8 name = 'mother/2' slug = 'X je mama od Y' description = '''\
mother(?X, ?Y)
: X
je mama od Y
.
?- mother(tina, william). true. ?- mother(nevia, Y). Y = luana ; Y = daniela.
Družinska drevesa so
podana s predikati parent/2
, male/1
in
female/1
.
Če je X
ženska in je hkrati X
starš od Y
,
potem je X
mama od Y
.
Si morda uporabil podpičje (ki pomeni ALI) namesto vejice (ki pomeni IN)?
''', 'or_instead_of_and_two_rules': '''\Si morda zapisal dve pravili, eno za spol in eno za "starševstvo"? Pozor: velja eno ALI drugo, ne nujno eno IN drugo!
''', 'x_must_be_female': '''\Mama je navadno ženskega spola.
''', 'x_must_be_parent': '''\Mama naj bi imela vsaj enega otroka... torej je starš od nekoga.
''', 'y_can_be_of_any_gender': '''\Y
je pravzaprav lahko poljubnega spola.
Y
pravzaprav ne rabi imeti otrok, da ima mamo...
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
).