El cuantificador universal expresa que una propiedad se cumple para todos los elementos del dominio de discurso.
El cuantificador universal permite expresar afirmaciones del tipo "todos", "cada uno" o "para cualquier".
En lógica de predicados se representa con el símbolo ∀.
El cuantificador universal indica que una propiedad se cumple para todos los elementos del dominio.
Se lee: para todo x, se cumple P(x).
Si el dominio son los números naturales, podemos escribir:
Se lee: para todo x, si x es par, entonces x es divisible por 2.
Si el dominio son los usuarios de un sistema:
Se lee: para todo usuario x, si x es administrador, entonces x puede editar.
El cuantificador universal siempre depende de un dominio. La frase "todos están activos" no es suficientemente precisa si no indicamos todos quiénes.
| Dominio | Interpretación de ∀x Activo(x) |
|---|---|
| Usuarios | Todos los usuarios están activos |
| Servicios | Todos los servicios están activos |
| Productos | Todos los productos están activos |
Para que una afirmación universal sea verdadera, la propiedad debe cumplirse para todos los elementos del dominio.
Cada elemento del dominio cumple el predicado Par.
Para mostrar que una afirmación universal es falsa, alcanza encontrar un solo contraejemplo.
El número 3 es un contraejemplo porque no es par.
Si afirmamos "todos los usuarios tienen email verificado", basta encontrar un usuario sin email verificado para refutar la afirmación.
const usuarios = [
{ nombre: "Ana", emailVerificado: true },
{ nombre: "Luis", emailVerificado: false }
];
Luis es un contraejemplo para la afirmación universal.
El método every permite verificar si todos los elementos de un arreglo cumplen una condición.
const usuarios = [
{ nombre: "Ana", activo: true },
{ nombre: "Luis", activo: true }
];
const todosActivos = usuarios.every(usuario => usuario.activo);
console.log(todosActivos);
Muchas afirmaciones universales tienen forma condicional.
Se lee: para todo x, si x es usuario premium, entonces x tiene descuento.
Esta forma no exige que todos sean premium. Solo exige que quienes sean premium tengan descuento.
La frase "todos los usuarios premium tienen descuento" no debe traducirse como:
Esa expresión afirmaría que todos los elementos del dominio son premium y tienen descuento. La forma correcta suele ser:
Una afirmación universal sobre un dominio vacío se considera verdadera en lógica clásica, porque no hay ningún contraejemplo.
const usuariosBloqueados = [];
const todosTienenMotivo = usuariosBloqueados.every(
usuario => usuario.motivoBloqueo
);
console.log(todosTienenMotivo);
El resultado es true. No hay usuario bloqueado que viole la regla.
| Lenguaje natural | Forma lógica |
|---|---|
| Todos los usuarios activos pueden ingresar | ∀x (Activo(x) → PuedeIngresar(x)) |
| Cada producto publicado tiene precio | ∀x (Publicado(x) → TienePrecio(x)) |
| Todos los pedidos pagados tienen factura | ∀x (Pagado(x) → TieneFactura(x)) |
El cuantificador universal permite expresar reglas que se aplican a todos los elementos de un dominio. Es fundamental para describir propiedades generales y restricciones en sistemas.
En el próximo tema estudiaremos el cuantificador existencial.