Sustitución lógica
Definición
Una sustitución es un mapeo finito de variables a términos. Se escribe, por ejemplo, . Aplicar la sustitución a una expresión reemplaza simultáneamente las variables indicadas: . Las variables no incluidas quedan intactas.
En la notación de estas notas, significa aplicar a la expresión . La sustitución permite instanciar fórmulas y registrar el resultado de la unificación.
Aplicación y composición
Si , la aplicación simultánea a da : el que aparece dentro del término insertado no se vuelve a sustituir en esa misma aplicación. Al componer sustituciones, en cambio, la segunda puede aplicarse a los términos producidos por la primera. Por ejemplo, aplicar primero y después equivale a la composición (la convención de orden debe declararse; aquí se lee de izquierda a derecha en el tiempo).
La sustitución debe respetar el alcance de cuantificadores: al sustituir dentro de fórmulas cuantificadas se evita capturar variables libres. En los algoritmos de unificación de términos, esta precaución se simplifica usando variables y términos explícitos, mientras que al instanciar fórmulas se debe renombrar una variable ligada si colisiona con una variable libre del término insertado.
Ejemplo en inferencia
Para resolver con , el unificador se aplica a la cláusula restante completa: . Después se elimina el par de literales complementarios. Véase resolución de primer orden.
flowchart LR A["Cláusula: ¬Humano(x) ∨ Mortal(x)"] --> B["Aplicar θ = {x/Sócrates}"] C["Hecho: Humano(Sócrates)"] --> D["Unificar átomos complementarios"] B --> D D --> E["Eliminar el par complementario"] E --> F["Resolvente: Mortal(Sócrates)"]
Referencias
- Clase: Inferencia en lógica de primer orden, diapositiva 8.
- Russell, S. J. y Norvig, P. (2020). Artificial Intelligence: A Modern Approach (4.ª ed.), §9.2; sitio del libro.
- Genesereth, M. R. y Nilsson, N. J. (1987). Logical Foundations of Artificial Intelligence, capítulo 3. DOI/editorial.