Las leyes de identidad muestran que ciertas combinaciones con verdadero o falso no modifican el valor de una proposición.
Las leyes de identidad son equivalencias lógicas que permiten simplificar expresiones. Se basan en la idea de valor neutro: un valor que, al combinarse con una proposición, no cambia su resultado.
En lógica proposicional, verdadero es el valor neutro de la conjunción y falso es el valor neutro de la disyunción.
Las leyes de identidad son:
La primera dice que una proposición combinada con verdadero mediante AND conserva su valor. La segunda dice que una proposición combinada con falso mediante OR conserva su valor.
La expresión p ∧ V equivale a p. Esto ocurre porque una conjunción solo exige que ambas partes sean verdaderas; si una parte ya es siempre verdadera, el resultado depende únicamente de p.
| p | V | p ∧ V |
|---|---|---|
| V | V | V |
| F | V | F |
La columna final coincide con la columna de p.
La expresión p ∨ F equivale a p. Esto ocurre porque una disyunción con falso no agrega ningún caso verdadero nuevo.
| p | F | p ∨ F |
|---|---|---|
| V | F | V |
| F | F | F |
La columna final también coincide con la columna de p.
La idea de identidad aparece también en aritmética. El 0 es neutro para la suma y el 1 es neutro para la multiplicación.
| Contexto | Operación | Identidad |
|---|---|---|
| Aritmética | Suma | x + 0 = x |
| Aritmética | Multiplicación | x × 1 = x |
| Lógica | Conjunción | p ∧ V ≡ p |
| Lógica | Disyunción | p ∨ F ≡ p |
En JavaScript podemos observar estas equivalencias usando valores booleanos.
const p = false;
console.log((p && true) === p);
console.log((p || false) === p);
Ambas comparaciones devuelven true, porque las expresiones son equivalentes a p.
Si una condición contiene una conjunción con true, esa parte puede eliminarse.
const emailVerificado = true;
const condicionOriginal = emailVerificado && true;
const condicionSimplificada = emailVerificado;
console.log(condicionOriginal === condicionSimplificada);
La versión simplificada es más clara y expresa la misma lógica.
Si una condición contiene una disyunción con false, esa parte puede eliminarse.
const esAdmin = false;
const condicionOriginal = esAdmin || false;
const condicionSimplificada = esAdmin;
console.log(condicionOriginal === condicionSimplificada);
A veces aparecen valores neutros al construir condiciones de forma dinámica. Por ejemplo, cuando se empieza con una condición base que luego se combina con otras.
let cumpleFiltros = true;
const filtrarPorCategoria = true;
const categoriaCoincide = false;
if (filtrarPorCategoria) {
cumpleFiltros = cumpleFiltros && categoriaCoincide;
}
console.log(cumpleFiltros);
El valor inicial true funciona como identidad para ir acumulando condiciones con AND.
Cuando acumulamos alternativas con OR, el valor inicial natural es false.
let coincideAlgunaRegla = false;
const esAdmin = false;
const esEditor = true;
coincideAlgunaRegla = coincideAlgunaRegla || esAdmin;
coincideAlgunaRegla = coincideAlgunaRegla || esEditor;
console.log(coincideAlgunaRegla);
El valor inicial false no cambia el resultado hasta que alguna alternativa sea verdadera.
Las leyes de identidad no deben confundirse con las leyes de dominación.
| Tipo | Equivalencia | Resultado |
|---|---|---|
| Identidad | p ∧ V ≡ p | El resultado depende de p |
| Identidad | p ∨ F ≡ p | El resultado depende de p |
| Dominación | p ∧ F ≡ F | El resultado queda fijado en falso |
| Dominación | p ∨ V ≡ V | El resultado queda fijado en verdadero |
Las leyes de identidad permiten eliminar partes redundantes de una expresión.
Paso a paso:
Supongamos una condición generada durante una refactorización:
const cuentaActiva = true;
if ((cuentaActiva && true) || false) {
console.log("La cuenta está activa");
}
Aplicando leyes de identidad, puede simplificarse a:
if (cuentaActiva) {
console.log("La cuenta está activa");
}
Las leyes de identidad muestran cómo ciertos valores no alteran una proposición. Son herramientas simples pero útiles para simplificar expresiones y entender el comportamiento de AND y OR.
En el próximo tema estudiaremos las leyes de dominación.