Las reglas de inferencia permiten obtener conclusiones válidas a partir de premisas. Son patrones de razonamiento que conservan la validez lógica.
Una regla de inferencia es un patrón que permite pasar de ciertas premisas a una conclusión de manera válida.
Estas reglas son fundamentales en demostraciones lógicas, razonamiento matemático, verificación de algoritmos y análisis de condiciones en programas.
Inferir significa obtener una conclusión a partir de información previa.
Por ejemplo, si sabemos que "si p entonces q" y además sabemos que p ocurre, podemos inferir q.
Las reglas de inferencia válidas garantizan que no pasamos de premisas verdaderas a una conclusión falsa.
Esto no significa que las premisas sean verdaderas en todos los casos. Significa que, si las premisas son verdaderas, la conclusión se sigue correctamente.
Las reglas suelen escribirse colocando las premisas arriba y la conclusión abajo.
El símbolo ∴ se lee "por lo tanto".
Modus Ponens permite afirmar el consecuente de una implicación cuando se cumple su antecedente.
Ejemplo: si el pago fue aprobado, se genera el pedido. El pago fue aprobado. Por lo tanto, se genera el pedido.
Modus Tollens permite negar el antecedente cuando se niega el consecuente de una implicación.
Ejemplo: si el usuario es administrador, puede editar. El usuario no puede editar. Por lo tanto, no es administrador.
El silogismo hipotético permite encadenar implicaciones.
Ejemplo: si el usuario paga, se genera el pedido. Si se genera el pedido, se emite factura. Por lo tanto, si el usuario paga, se emite factura.
El silogismo disyuntivo permite concluir una alternativa cuando se descarta la otra.
Ejemplo: el usuario se autentica con email o con teléfono. No se autenticó con email. Por lo tanto, se autenticó con teléfono.
| Regla | Forma | Idea |
|---|---|---|
| Modus Ponens | p → q, p ∴ q | Afirma la consecuencia |
| Modus Tollens | p → q, ¬q ∴ ¬p | Niega el antecedente al negar la consecuencia |
| Silogismo hipotético | p → q, q → r ∴ p → r | Encadena reglas |
| Silogismo disyuntivo | p ∨ q, ¬p ∴ q | Descarta una alternativa |
No todo patrón parecido a una regla válida es correcto.
| Nombre | Forma inválida | Problema |
|---|---|---|
| Afirmar el consecuente | p → q, q ∴ p | q puede ocurrir por otra razón |
| Negar el antecedente | p → q, ¬p ∴ ¬q | q puede ocurrir aunque p no ocurra |
Un if simple suele reflejar Modus Ponens.
const pagoAprobado = true;
if (pagoAprobado) {
console.log("Generar pedido");
}
La regla es: si el pago fue aprobado, se genera el pedido. Dado que el pago fue aprobado, se ejecuta la consecuencia.
Las reglas de inferencia ayudan a depurar programas.
Esta forma se parece a Modus Tollens.
Los sistemas expertos y motores de reglas usan inferencias para obtener conclusiones a partir de hechos.
Este tipo de razonamiento puede implementarse como reglas en software.
Las reglas básicas de inferencia son patrones confiables para obtener conclusiones. A partir de ellas construiremos demostraciones y analizaremos razonamientos más complejos.
En el próximo tema estudiaremos Modus Ponens en detalle.