El dominio de discurso es el conjunto de objetos sobre el que hablan las variables, predicados y cuantificadores de una expresión lógica.
En lógica de predicados, una variable como x puede representar distintos objetos. Para interpretar correctamente una expresión, necesitamos saber de qué conjunto pueden tomarse esos objetos.
Ese conjunto se llama dominio de discurso.
El dominio de discurso es el conjunto de objetos sobre los que se interpretan las variables de una expresión lógica.
El valor de verdad de una afirmación puede cambiar según el dominio.
Si el dominio es {2, 4, 6}, la afirmación es verdadera. Si el dominio es {1, 2, 3}, es falsa.
| Dominio | Qué puede representar x |
|---|---|
| Números naturales | 0, 1, 2, 3... |
| Usuarios del sistema | Ana, Luis, Marta... |
| Productos de una tienda | Producto A, Producto B... |
| Pedidos pendientes | Solo pedidos que aún no fueron completados |
A veces el dominio se indica de manera explícita.
Aquí el dominio está formado por usuarios.
Otras veces el dominio se supone por el contexto.
Esta frase es ambigua si no sabemos de quiénes habla. ¿Todos los usuarios? ¿Todos los productos? ¿Todos los servicios?
El cuantificador universal afirma algo sobre todos los elementos del dominio.
Esta expresión significa que todos los objetos del dominio están activos. Si el dominio cambia, también cambia el alcance de la afirmación.
El cuantificador existencial afirma que al menos un elemento del dominio cumple cierta propiedad.
Si el dominio son productos, significa que existe al menos un producto sin stock.
En programación, un arreglo puede funcionar como dominio para evaluar predicados.
const usuarios = [
{ nombre: "Ana", activo: true },
{ nombre: "Luis", activo: false }
];
const todosActivos = usuarios.every(usuario => usuario.activo);
const existeInactivo = usuarios.some(usuario => !usuario.activo);
El dominio es el conjunto de elementos del arreglo usuarios.
En una base de datos, una tabla o el resultado de una consulta puede funcionar como dominio.
SELECT *
FROM productos
WHERE stock = 0;
La consulta evalúa el predicado stock = 0 sobre los productos de la tabla.
Muchas veces conviene restringir el dominio para que una afirmación sea precisa.
El dominio no son todos los objetos del sistema, sino los productos publicados.
Un caso especial ocurre cuando el dominio no tiene elementos.
En lógica clásica, una afirmación universal sobre un dominio vacío se considera verdadera de forma vacía, porque no existe contraejemplo.
En programación, este comportamiento aparece con métodos como every sobre arreglos vacíos.
const usuariosBloqueados = [];
const todosTienenMotivo = usuariosBloqueados.every(
usuario => usuario.motivoBloqueo
);
console.log(todosTienenMotivo);
El resultado es true porque no hay ningún elemento que viole la condición.
El dominio de discurso da contexto a variables, predicados y cuantificadores. Sin un dominio claro, expresiones como "todos" o "existe" pueden interpretarse de manera incorrecta.
En el próximo tema estudiaremos el cuantificador universal.