Modus Ponens es una regla de inferencia que permite obtener una consecuencia cuando se conoce una implicación y se verifica su antecedente.
Modus Ponens es una de las reglas de inferencia más importantes y usadas. Su nombre suele traducirse como "modo que afirma".
La idea es simple: si sabemos que una condición implica una consecuencia, y además sabemos que la condición se cumple, entonces podemos afirmar la consecuencia.
La forma de Modus Ponens es:
La primera premisa es una implicación. La segunda premisa afirma el antecedente. La conclusión afirma el consecuente.
Podemos leer la regla así:
La conclusión es segura siempre que las premisas sean verdaderas.
En este razonamiento, p es "llueve" y q es "la calle se moja".
Forma lógica:
Un condicional básico puede representar esta regla.
const esAdmin = true;
if (esAdmin) {
console.log("Puede acceder al panel");
}
La regla implícita es: si esAdmin es verdadero, entonces se permite el acceso al panel.
Para que Modus Ponens fuera inválido, tendría que existir un caso donde las premisas sean verdaderas y la conclusión falsa. Veamos la tabla.
| p | q | p → q | Premisa p | Conclusión q |
|---|---|---|---|---|
| V | V | V | V | V |
| V | F | F | V | F |
| F | V | V | F | V |
| F | F | V | F | F |
No hay ninguna fila donde p → q y p sean verdaderas mientras q sea falsa.
Supongamos esta regla:
Si además sabemos que el pago fue aprobado, podemos inferir que se genera la factura.
const pagoAprobado = true;
if (pagoAprobado) {
generarFactura();
}
Modus Ponens no debe confundirse con este patrón inválido:
Ejemplo inválido:
La conclusión no es necesaria: puede editar por otro motivo.
En una implicación p → q, p es una condición suficiente para q. Si p ocurre, q queda garantizada según la regla.
Esta distinción evita confundir Modus Ponens con afirmar el consecuente.
Podemos aplicar Modus Ponens varias veces.
Si p implica q, q implica r, y p ocurre, entonces podemos obtener q y luego r.
Este tipo de razonamiento aparece en flujos de negocio y algoritmos con pasos dependientes.
El encadenamiento puede verse en una secuencia condicional.
const pagoAprobado = true;
if (pagoAprobado) {
const pedidoGenerado = true;
if (pedidoGenerado) {
console.log("Descontar stock");
}
}
Modus Ponens es una regla básica y poderosa: si una regla condicional es válida y se cumple su antecedente, podemos obtener su consecuente.
En el próximo tema estudiaremos Modus Tollens.