41. Dominio de discurso

El dominio de discurso es el conjunto de objetos sobre el que hablan las variables, predicados y cuantificadores de una expresión lógica.

41.1 Introducción

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.

41.2 Definición

El dominio de discurso es el conjunto de objetos sobre los que se interpretan las variables de una expresión lógica.

Si el dominio son los usuarios de un sistema, entonces una variable x representa un usuario, no un número, producto o archivo.

41.3 Por qué importa

El valor de verdad de una afirmación puede cambiar según el dominio.

∀x Par(x)

Si el dominio es {2, 4, 6}, la afirmación es verdadera. Si el dominio es {1, 2, 3}, es falsa.

41.4 Ejemplos de dominios

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

41.5 Dominio explícito

A veces el dominio se indica de manera explícita.

Para todo usuario x, si x está activo, entonces x puede ingresar.

Aquí el dominio está formado por usuarios.

41.6 Dominio implícito

Otras veces el dominio se supone por el contexto.

Todos están activos.

Esta frase es ambigua si no sabemos de quiénes habla. ¿Todos los usuarios? ¿Todos los productos? ¿Todos los servicios?

41.7 Dominio y cuantificador universal

El cuantificador universal afirma algo sobre todos los elementos del dominio.

∀x Activo(x)

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.

41.8 Dominio y cuantificador existencial

El cuantificador existencial afirma que al menos un elemento del dominio cumple cierta propiedad.

∃x SinStock(x)

Si el dominio son productos, significa que existe al menos un producto sin stock.

41.9 Dominio en programación

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.

41.10 Dominio en bases de datos

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.

41.11 Restringir el dominio

Muchas veces conviene restringir el dominio para que una afirmación sea precisa.

Todos los productos publicados tienen precio.

El dominio no son todos los objetos del sistema, sino los productos publicados.

∀x (ProductoPublicado(x) → TienePrecio(x))

41.12 Dominio vacío

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.

"Todos los usuarios bloqueados tienen motivo de bloqueo" es verdadera si no hay usuarios bloqueados.

En programación, este comportamiento aparece con métodos como every sobre arreglos vacíos.

41.13 Ejemplo con arreglo vacío

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.

41.14 Errores comunes

  • No indicar cuál es el dominio de una variable.
  • Cambiar el dominio durante un razonamiento sin advertirlo.
  • Interpretar "todos" sin aclarar todos de qué conjunto.
  • Confundir una tabla completa con una consulta filtrada.
  • No considerar el caso de dominio vacío.

41.15 Qué debes recordar de este tema

  • El dominio de discurso es el conjunto de objetos sobre el que hablan las variables.
  • El valor de verdad de una afirmación puede cambiar si cambia el dominio.
  • Los cuantificadores se interpretan dentro de un dominio.
  • En programación, arreglos, colecciones y consultas pueden actuar como dominios.
  • Definir bien el dominio evita ambigüedades y errores lógicos.

41.16 Conclusió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.