Un argumento lógico es un conjunto de proposiciones donde algunas funcionan como razones y otra como conclusión. Su estudio permite evaluar si un razonamiento está bien construido.
Hasta ahora estudiamos proposiciones, operadores y equivalencias. Con esos elementos podemos construir razonamientos más completos llamados argumentos lógicos.
Un argumento busca justificar una conclusión a partir de una o más premisas. En programación, este tipo de razonamiento aparece al validar reglas, analizar algoritmos, depurar errores y demostrar que una condición implica otra.
Un argumento lógico es una estructura formada por:
Consideremos este razonamiento:
Las dos primeras proposiciones son premisas. La última es la conclusión.
Podemos representar el argumento anterior usando símbolos:
El símbolo ∴ se lee "por lo tanto".
En un argumento, las premisas son las razones ofrecidas para aceptar la conclusión.
| Parte | Ejemplo | Función |
|---|---|---|
| Premisa 1 | Si el pago fue aprobado, se genera el pedido | Regla general |
| Premisa 2 | El pago fue aprobado | Caso concreto |
| Conclusión | Se genera el pedido | Resultado inferido |
En lenguaje natural, los argumentos suelen aparecer con expresiones como:
Estas expresiones suelen indicar la conclusión, aunque no siempre aparecen explícitamente.
Los programas contienen razonamientos implícitos. Por ejemplo:
const esAdmin = true;
if (esAdmin) {
console.log("Puede editar");
}
El código refleja una regla: si un usuario es administrador, puede editar. Al saber que esAdmin es verdadero, se concluye que la acción de editar está permitida.
Un argumento es válido cuando la conclusión se sigue necesariamente de las premisas. Es decir, no puede ocurrir que todas las premisas sean verdaderas y la conclusión sea falsa.
Es importante distinguir entre la verdad de las proposiciones y la validez del argumento.
| Concepto | Pregunta que responde |
|---|---|
| Verdad | ¿Esta proposición es verdadera o falsa? |
| Validez | ¿La conclusión se sigue de las premisas? |
Un argumento puede tener forma válida aunque alguna premisa concreta sea falsa.
Este argumento tiene una forma válida:
Forma lógica:
Esta forma se llama Modus Ponens y la estudiaremos más adelante.
Este argumento parece razonable, pero no es válido:
La conclusión no se sigue necesariamente, porque podría ser editor u otro rol con permiso.
Forma lógica:
Depurar un programa implica reconstruir argumentos:
Razonar correctamente ayuda a encontrar errores sin depender solo de prueba y error.
Una prueba de software también puede verse como un argumento: a partir de entradas y reglas conocidas, esperamos una salida determinada.
function puedeComprar(hayStock, pagoAprobado) {
return hayStock && pagoAprobado;
}
console.log(puedeComprar(true, true) === true);
console.log(puedeComprar(true, false) === false);
Las pruebas verifican que la conclusión esperada se obtenga para ciertos casos.
Los argumentos lógicos permiten evaluar razonamientos de manera estructurada. Son la base para estudiar premisas, conclusiones, validez y reglas de inferencia.
En el próximo tema estudiaremos con más detalle las premisas y conclusiones.