Uso correto de findall / 3, especialmente o argumento do último resultado
Sou iniciante em Prolog e estou lidando com um problema que pode parecer estúpido para você, mas realmente não consigo entender o que estou fazendo de errado! Ok, eu tenho esse arquivo fruits.pl e dentro dele tenho algo parecido com isto:
fruit(apple,small,sweet).
fruit(lemon,small,nosweet).
fruit(melon,big,sweet).
Eu já (dentro desse arquivo fizemos um átomo coexistente (X, Y) que verifica se duas frutas podem ser colocadas juntas em uma placa. Funciona bem! Mas agora não consigo criar uma sugestão (X) que leva como parâmetro uma fruta e retorna uma lista de frutas que podem ser colocadas juntas no mesmo prato.A coisa é que eu estava tentando fazer algo assim
suggest(X) :- findall(Y,fruit(Y,_,_), List), coexist(X,Y).
O que você acha? Toda vez que tento executar isso no swi prolog, há um aviso 'variável singleton' e quando pressiono
suggest(apple).
então diz falso .. desculpe pelo meu inglês: /