Sto usando SICStus Prolog e hanno una serie di fatti:Prolog: disuguaglianza operatore
student('John Henry', 'Maths').
student('Jim Henry', 'Maths').
student('John Alan', 'Maths').
student('Alan Smith', 'Computing').
student('Gary Henry', 'Maths').
voglio ottenere l'oggetto condiviso di due studenti in cui entrambi gli studenti sono diversi, così ho preso:
sharedSubject(S1, S2, Sub) :- S1 \== S2, student(S1, Sub), student(S2, Sub).
Tuttavia, quando entro:
sharedSubject('John Henry', F, E).
ottengo F = 'John Henry'
. Qualcuno può indicare dove sto sbagliando e cosa devo fare? Grazie.
Entrambe le buone risposte. Ho scelto quello di Paulo a causa della spiegazione. Non ho pensato prima alla istanziazione. – Hydar77