Abrir el simulador
if (a < b || (a >= b && c == d)) que if (a < b || c == d)? Detrás de las tres frases está la misma pregunta: qué se puede deducir de qué. La lógica proposicional es la herramienta más sencilla para responderla, y la base de la programación lógica, la verificación de software, los circuitos digitales y buena parte de la inteligencia artificial.
Lo que vas a aprender
- Traducir frases del lenguaje natural a fórmulas, incluidas las que más confunden (“solo si”, “es necesario”, “a menos que”).
- Leer una fórmula con la prioridad de las conectivas y calcular su valor en una interpretación.
- Clasificar fórmulas en válidas, satisfacibles e insatisfacibles, y conjuntos en consistentes e inconsistentes.
- Decidir si un razonamiento es correcto con una tabla de verdad.
- Pasar cualquier fórmula a forma normal conjuntiva y a forma clausal.
- Demostrar un razonamiento por resolución, derivando la cláusula vacía.
Cómo se usa el simulador
- Con premisas y conclusión, el simulador dice si el razonamiento es correcto y, si no lo es, da un contraejemplo.
- Con una sola fórmula, la clasifica: válida, satisfacible o insatisfacible.
- Con varias fórmulas sin conclusión, dice si el conjunto es consistente.
- Las proposiciones son letras minúsculas (
p,q,r,p1…).VyFson las constantes verdadero y falso.
Fundamentos teóricos
Proposiciones y conectivas
Una proposición es la unidad mínima de información de la que se puede decir si es verdadera o falsa: “llueve”, “Juan es médico”. No lo son las preguntas, las exclamaciones ni las frases cuya verdad depende de una variable (” es mayor que 3”), que pertenecen a la lógica de predicados. Las proposiciones se combinan con cinco conectivas:Sintaxis y prioridad
Las fórmulas bien formadas se construyen a partir de las atómicas (las proposiciones y las constantes y ): si y son fórmulas, también lo son , , , y . Para ahorrar paréntesis se usa una prioridad, de más a menos: Así, se lee . Entre conectivas del mismo nivel manda la de la izquierda: es . El simulador escribe esos paréntesis aunque no hagan falta, porque sin ellos la fórmula se lee mal.Semántica: interpretaciones y tablas de verdad
Una interpretación asigna V o F a cada proposición. Con proposiciones distintas hay interpretaciones. El valor de una fórmula se calcula con las tablas de las conectivas:Clasificación de fórmulas
Equivalencia lógica
Dos fórmulas son equivalentes, , si tienen el mismo valor en todas las interpretaciones, es decir, si es válida. Las equivalencias que más se usan:Consecuencia lógica: cuándo un razonamiento es correcto
es consecuencia lógica de las premisas , y se escribe , si todo modelo común de las premisas es también modelo de . Un razonamiento es correcto cuando la conclusión es consecuencia lógica de las premisas. Hay dos formas equivalentes de comprobarlo: La tabla de verdad usa el Teorema I: se buscan las filas en las que todas las premisas son verdaderas y se mira la conclusión. Si en alguna es falsa, esa fila es un contraejemplo y el razonamiento no es correcto. El método funciona siempre, pero con proposiciones hay filas: con 10 ya son 1024.Forma normal conjuntiva y forma clausal
Un literal es una proposición o su negación; es su complementario ( y ). Una fórmula está en forma normal conjuntiva (FNC) si es una conjunción de disyunciones de literales, como . Cada disyunción es una cláusula, y el conjunto de cláusulas es la forma clausal (FC). La cláusula sin literales es la cláusula vacía , que es insatisfacible. Cualquier fórmula se puede pasar a FNC en cinco pasos, los mismos que muestra el simulador:Eliminar ↔
Eliminar →
Meter las negaciones
Distribuir ∨ sobre ∧
Simplificar
Resolución
La resolución (Robinson, 1965) usa una sola regla de inferencia, muy fácil de automatizar: Se quita un par de literales complementarios y se junta lo que queda de las dos cláusulas: el resultado es la resolvente. Funciona porque, si es falso, tiene que ser verdad , y si es verdadero, tiene que serlo ; en los dos casos es verdad. Para demostrar un razonamiento se trabaja por refutación, con el Teorema II:- Se pasan a forma clausal las premisas y la negación de la conclusión.
- Se resuelven pares de cláusulas y se añaden las resolventes.
- Si aparece la cláusula vacía , el conjunto es inconsistente y el razonamiento es correcto.
- Si se han resuelto todos los pares posibles sin llegar a , el conjunto es consistente y el razonamiento no es correcto.
Ejemplos resueltos
Ejemplo 1 · El paraguas, con la tabla de verdad
Ejemplo 1 · El paraguas, con la tabla de verdad
Ejemplo 2 · El paraguas, por resolución
Ejemplo 2 · El paraguas, por resolución
- (premisa 1)
- (premisa 2)
- (premisa 2)
- (negación de la conclusión)
- , resolviendo 1 y 2 sobre
- , resolviendo 3 y 5 sobre
- , resolviendo 4 y 6 sobre
Ejemplo 3 · Forma clausal con un bicondicional
Ejemplo 3 · Forma clausal con un bicondicional
Ejemplo 4 · Un razonamiento incorrecto
Ejemplo 4 · Un razonamiento incorrecto
Ejemplo 5 · Clasificar una fórmula
Ejemplo 5 · Clasificar una fórmula
Experimenta con el simulador
Busca el contraejemplo
Tres métodos, un resultado
El principio del espejo
Consistente o no
La prioridad importa
Errores frecuentes
- Traducir “p solo si q” como . Es .
- Pensar que es falsa cuando es falsa. Solo es falsa con verdadera y falsa.
- Confundir satisfacible con válida. Que una fórmula sea verdadera en alguna fila no basta para que sea una tautología.
- Olvidar negar la conclusión antes de resolver. Si se resuelve con en lugar de , no se está demostrando nada.
- Resolver sobre dos pares a la vez. De y no se deduce : cada resolución quita un solo par, y aquí cualquier resolvente es una tautología.
- Distribuir al revés. Para la FNC se distribuye sobre , no sobre (eso da la forma normal disyuntiva).
Limitaciones
La lógica proposicional no puede hablar de objetos ni de sus propiedades. “Todos los hombres son mortales; Sócrates es hombre; luego Sócrates es mortal” es un razonamiento correcto que aquí no se puede demostrar: hacen falta los cuantificadores (, ) de la lógica de predicados. Además, comprobar si una fórmula es satisfacible (el problema SAT) es NP-completo: no se conoce ningún método que lo haga en tiempo polinómico. La tabla de verdad crece como y la resolución puede generar muchísimas cláusulas. El simulador dibuja tablas de hasta 7 proposiciones y se detiene al llegar a 3000 cláusulas. Aun así, los resolvedores SAT modernos resuelven problemas industriales con millones de variables.Un poco de historia
Aristóteles estudió los silogismos en el siglo IV a. C., pero la lógica como cálculo nace con George Boole, que en 1854 trató las proposiciones con las reglas del álgebra. Gottlob Frege dio en 1879 el primer sistema formal completo. En 1935 Gerhard Gentzen propuso la deducción natural, que imita cómo razonan las personas, y en 1965 John Alan Robinson inventó la resolución, pensada para que razonen las máquinas. De ella salió el lenguaje Prolog (1972), que ejecuta programas resolviendo cláusulas de Horn.Preguntas frecuentes
¿Qué diferencia hay entre ⊨ y ⊢?
¿Qué diferencia hay entre ⊨ y ⊢?
¿Por qué de unas premisas inconsistentes se deduce cualquier cosa?
¿Por qué de unas premisas inconsistentes se deduce cualquier cosa?
¿Qué es una cláusula de Horn?
¿Qué es una cláusula de Horn?
¿Sirve esto para simplificar condiciones en un programa?
¿Sirve esto para simplificar condiciones en un programa?
a < b y = c == d, la condición a < b || (a >= b && c == d) es , equivalente a . Escríbela en el simulador como y verás que es válida.¿Qué tiene que ver con el álgebra de Boole?
¿Qué tiene que ver con el álgebra de Boole?