26. Leyes asociativas

Las leyes asociativas indican que, al combinar varias proposiciones con el mismo operador, la forma de agruparlas no cambia el valor lógico.

26.1 Introducción

Las leyes asociativas permiten cambiar la agrupación de proposiciones cuando todas se combinan con el mismo operador lógico.

Estas leyes se aplican a la conjunción y a la disyunción. Son útiles para reorganizar expresiones largas sin cambiar su valor de verdad.

26.2 Las dos leyes asociativas

Las leyes asociativas son:

(p ∧ q) ∧ r ≡ p ∧ (q ∧ r)
(p ∨ q) ∨ r ≡ p ∨ (q ∨ r)

En ambos casos, cambia la agrupación, pero no cambia el resultado lógico final.

26.3 Asociatividad de la conjunción

Si tres proposiciones se combinan con AND, el resultado será verdadero solo cuando las tres sean verdaderas. No importa si agrupamos primero p ∧ q o q ∧ r.

(p ∧ q) ∧ r ≡ p ∧ (q ∧ r)

Ambas expresiones significan que se deben cumplir p, q y r.

26.4 Tabla resumida para AND

La conjunción de tres proposiciones solo es verdadera cuando todas son verdaderas.

p q r (p ∧ q) ∧ r p ∧ (q ∧ r)
V V V V V
V V F F F
V F V F F
F V V F F
F F F F F

La tabla está resumida, pero muestra el comportamiento clave: las columnas finales coinciden.

26.5 Asociatividad de la disyunción

Si tres proposiciones se combinan con OR, el resultado será verdadero cuando al menos una sea verdadera. La agrupación no cambia esa regla.

(p ∨ q) ∨ r ≡ p ∨ (q ∨ r)

Ambas expresiones significan que alcanza con que se cumpla p, q o r.

26.6 Tabla resumida para OR

La disyunción de tres proposiciones solo es falsa cuando todas son falsas.

p q r (p ∨ q) ∨ r p ∨ (q ∨ r)
V F F V V
F V F V V
F F V V V
F F F F F
V V V V V

Las columnas finales coinciden en todos los casos representados.

26.7 Asociatividad en JavaScript

Con valores booleanos puros, las agrupaciones equivalentes producen el mismo resultado.

const p = true;
const q = false;
const r = true;

console.log(((p && q) && r) === (p && (q && r)));
console.log(((p || q) || r) === (p || (q || r)));

26.8 Quitar paréntesis innecesarios

Gracias a la asociatividad, una cadena de operadores iguales puede escribirse sin paréntesis.

(p ∧ q) ∧ r ≡ p ∧ q ∧ r
(p ∨ q) ∨ r ≡ p ∨ q ∨ r

En JavaScript:

const registroValido = edadValida && emailValido && passwordValida;
const tieneRolPermitido = esAdmin || esEditor || esSupervisor;

26.9 No mezclar operadores distintos

La asociatividad se aplica cuando se repite el mismo operador. No permite cambiar libremente agrupaciones que mezclan AND y OR.

(p ∧ q) ∨ r no equivale necesariamente a p ∧ (q ∨ r)

Cuando hay operadores distintos, debemos usar precedencia, paréntesis y otras leyes como la distributiva.

26.10 Ejemplo de diferencia

Estas dos expresiones pueden producir resultados distintos:

(p ∧ q) ∨ r
p ∧ (q ∨ r)

Con p = F, q = V y r = V:

  • (p ∧ q) ∨ r resulta verdadera.
  • p ∧ (q ∨ r) resulta falsa.

Por eso no debemos aplicar asociatividad cuando se mezclan operadores distintos.

26.11 Relación con conmutatividad

La asociatividad cambia agrupaciones. La conmutatividad cambia el orden.

Ley Qué permite cambiar Ejemplo
Conmutativa Orden p ∧ q ≡ q ∧ p
Asociativa Agrupación (p ∧ q) ∧ r ≡ p ∧ (q ∧ r)

26.12 Aplicación en simplificación

La asociatividad permite reagrupar expresiones para aplicar otras leyes.

(p ∧ q) ∧ p ≡ p ∧ q ∧ p ≡ p ∧ p ∧ q ≡ p ∧ q

En este ejemplo usamos asociatividad, conmutatividad e idempotencia.

26.13 Cuidado con JavaScript y funciones

En lógica pura, la agrupación no cambia el valor de una cadena de AND u OR. En JavaScript, si las expresiones llaman funciones, hay que considerar evaluación de cortocircuito y efectos secundarios.

const resultado = validarSesion() && verificarPermiso() && registrarAcceso();

Desde la lógica booleana, las agrupaciones son equivalentes. Desde el comportamiento del programa, importa qué funciones se ejecutan y en qué orden.

26.14 Errores comunes

  • Aplicar asociatividad a expresiones que mezclan AND y OR.
  • Confundir asociatividad con conmutatividad.
  • Eliminar paréntesis que sí eran necesarios para mezclar operadores distintos.
  • Ignorar efectos secundarios de funciones dentro de condiciones.
  • Reagrupar implicaciones como si fueran AND u OR.

26.15 Qué debes recordar de este tema

  • (p ∧ q) ∧ r ≡ p ∧ (q ∧ r).
  • (p ∨ q) ∨ r ≡ p ∨ (q ∨ r).
  • La asociatividad cambia agrupaciones, no el orden.
  • Solo se aplica directamente cuando se repite el mismo operador.
  • No debe usarse para mezclar libremente AND con OR.

26.16 Conclusión

Las leyes asociativas permiten cambiar la forma de agrupar conjunciones o disyunciones sin alterar el valor lógico. Son útiles para simplificar expresiones largas y combinarlas con otras leyes.

En el próximo tema estudiaremos las leyes distributivas.