# coding=utf-8 name = 'brother/2' slug = 'X je brat od Y' description = '''\
brother(?X, ?Y)
: X
je brat od Y
.
?- brother(jeffrey, X). Y = william ; Y = sally.
Družinska drevesa so
podana s predikati parent/2
, male/1
in
female/1
.
Če je X
moški in če imata X
in Y
skupnega starša,
potem je X
brat od Y
.
Si pomislil, da sta X
in Y
lahko ista oseba? Poskusi naslednjo poizvedbo:
?- brother(william, Y).''', 'linkText': 'Kako lahko preverim, da sta
X
in Y
različna?'},
'''\
S pomočjo operatorja \==
lahko preverim, da sta X
in Y
med seboj različna.
Na primer: X \== Y
Brat je navadno moškega spola.
''', 'y_can_be_of_any_gender': '''\Y
je pravzaprav lahko poljubnega spola.
Dobro bi bilo, da imata X
in Y
vsaj enega skupnega starša.
Si morda uporabil operator \==
prezgodaj?
Poskusi ga pomakniti bolj proti koncu. Razlog za probleme je verjetno, da spremenljivki, ki ju primerjaš, še nimata določene vrednosti in sta zato različni. Prolog ne preverja, če kasneje morda postaneta enaki, ampak samo kakšni sta v trenutku, ko naleti na primerjavo.
''', }