30. Argumentos lógicos

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.

30.1 Introducción

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.

30.2 Qué es un argumento

Un argumento lógico es una estructura formada por:

  • Premisas: proposiciones que se toman como punto de partida.
  • Conclusión: proposición que se intenta justificar a partir de las premisas.
Un argumento no es solo una opinión. Es una relación entre afirmaciones: unas sirven de apoyo para otra.

30.3 Ejemplo simple

Consideremos este razonamiento:

Si el usuario es administrador, puede editar.
El usuario es administrador.
Por lo tanto, el usuario puede editar.

Las dos primeras proposiciones son premisas. La última es la conclusión.

30.4 Forma lógica del ejemplo

Podemos representar el argumento anterior usando símbolos:

  • p: El usuario es administrador.
  • q: El usuario puede editar.
p → q
p
∴ q

El símbolo se lee "por lo tanto".

30.5 Premisas y conclusión

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

30.6 Argumentos en lenguaje natural

En lenguaje natural, los argumentos suelen aparecer con expresiones como:

  • por lo tanto
  • entonces
  • en consecuencia
  • se sigue que
  • por consiguiente

Estas expresiones suelen indicar la conclusión, aunque no siempre aparecen explícitamente.

30.7 Argumentos en programación

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.

30.8 Validez de un argumento

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.

La validez depende de la forma del razonamiento, no solo del contenido de las frases.

30.9 Verdad y validez

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.

30.10 Ejemplo válido

Este argumento tiene una forma válida:

Si el formulario es válido, el botón se habilita.
El formulario es válido.
Por lo tanto, el botón se habilita.

Forma lógica:

p → q
p
∴ q

Esta forma se llama Modus Ponens y la estudiaremos más adelante.

30.11 Ejemplo inválido

Este argumento parece razonable, pero no es válido:

Si el usuario es administrador, puede editar.
El usuario puede editar.
Por lo tanto, el usuario es administrador.

La conclusión no se sigue necesariamente, porque podría ser editor u otro rol con permiso.

Forma lógica:

p → q
q
∴ p

30.12 Argumentos y depuración

Depurar un programa implica reconstruir argumentos:

  • Si esta condición es verdadera, debería ejecutarse este bloque.
  • Este bloque no se ejecutó.
  • Entonces alguna condición esperada no se cumplió.

Razonar correctamente ayuda a encontrar errores sin depender solo de prueba y error.

30.13 Argumentos y pruebas

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.

30.14 Errores comunes

  • Confundir una conclusión plausible con una conclusión necesaria.
  • Creer que un argumento válido siempre tiene premisas verdaderas.
  • Confundir la implicación original con su recíproca.
  • No identificar claramente cuáles son las premisas.
  • Aceptar una conclusión porque suena razonable, sin revisar la forma del argumento.

30.15 Qué debes recordar de este tema

  • Un argumento lógico tiene premisas y conclusión.
  • Las premisas funcionan como razones para aceptar la conclusión.
  • La validez depende de si la conclusión se sigue necesariamente de las premisas.
  • Verdad y validez no son lo mismo.
  • Los argumentos ayudan a razonar sobre condiciones, algoritmos, pruebas y errores.

30.16 Conclusión

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.