Programa Prolog para verificar si un número es primo
Escribí el siguiente programa basado en la lógica de que un número primo solo es divisible por 1 y en sí mismo. Así que solo paso por el proceso de dividirlo en todos los números que son mayores que uno y menores que sí mismo, pero parece que tengo un problema ya que obtengo todos los números ingresados como verdaderos. Aquí está mi código ...
divisible(X,Y) :-
Y < X,
X mod Y is 0,
Y1 is Y+1,
divisible(X,Y1).
isprime(X) :-
integer(X),
X > 1,
\+ divisible(X,2).
Gracias por adelantado :)