lookup([(X,A)|_],X,A).
lookup([_|L],X,A) :- lookup(L,X,A).
hi(_,t,bool).
hi(_,f,bool).
hi(g,var(X),Y) :- lookup(g,X,Y).
hi(_,in(X),int).
hi(_,fl(X),real_exp).
hi(g,plus(A,B),int) :- hi(g,A,int),hi(g,B,int),!.
J'ai la ligne au-dessus du code Prolog essentiellement vérifie le type d'une opération, plus.Erreur dans Prolog
lorsque je mets la requête suivante au terminal:
hi([],plus(in(1),in(2)),T).
je reçois la réponse comme faux au lieu de T = int
.
Quelle pourrait être la bonne ligne de code dans mon programme? Je suis incapable de trier l'erreur !!!!