Negaciones
En cuestiones de lógica clásica, la negación es uno de los elementos básicos, PROLOG está basado completamente en los postulados lógicos, por tal motivo, estos comandos son sumamente importantes para la realización de un programa en este lenguaje.
Tenemos diferentes representaciones de negación tales como not( ) y \+.
Not()
Este comando niega la resolución del predicado, en el caso de tener not(predicado) si “predicado” es cierto, entonces la resolución final será falso. Por ejemplo, si tenemos el siguiente código:
1 2 3 4 |
dato(dato1). dato(dato2). verificar(X):-dato(X). negar(X):-not(verificar(X)). |
al consultar por medio de la interfaz de PROLOG, “verificar(dato1).”, obtendremos a la salida “True”, sin embargo, si consultamos “negar(dato1).”, obtendremos a la salida “False”. Este comportamiento se debe al comando “not” que fue colocado sobre la regla verificar( ).
De una forma muy similar podemos cambiar el código anterior por este nuevo código, obteniendo la negación cuando el predicado se cumple.
1 2 |
verificar(X):-dato(X). negar(X):-\+(verificar(X)). |
Ejercicio 1. Realizar un ejercicio en el cual se determine cuando una persona es rica, si sobrepasa el millón de dólares, o si la persona es pobre. Para ese caso es necesario utilizar una declaración de negación para realizar el ejercicio.
Ejercicio 2. Realizar un ejercicio para determinar si un alumno de licenciatura es regular, o en su defecto es irregular. De la misma manera que en el ejercicio 1, es necesario utilizar un comando de negación.