Lógica de Primer Orden

Documentos relacionados
Lógica de Primer Orden

UNIDAD I: LÓGICA PROPOSICIONAL

Introducción. Lógica de proposiciones: introducción. Lógica de proposiciones. P (a) x. Conceptos

Significado de las f.b.f (fórmulas bien formadas) en términos de objetos, propiedades y relaciones en el mundo

MLM Matemática Discreta

Metodología de Programación I Lógica de Primer Orden

IIC Matemática Discreta

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

Para representar los conjuntos, los elementos y la relación de pertenencia, mediante símbolos, tendremos en cuenta las siguientes convenciones:

PROLOG Inteligencia Artificial Universidad de Talca, II Semestre Jorge Pérez R.

Subespacios vectoriales en R n

VII. Estructuras Algebraicas

Historia y Filosofía de la Lógica

Relaciones binarias. ( a, b) = ( c, d) si y solamente si a = c y b = d

Apuntes de Matemática Discreta 1. Conjuntos y Subconjuntos

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

Objetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden

INTRODUCCION A LA LÓGICA DE ENUNCIADOS

Álgebras de Boole. Juan Medina Molina. 25 de noviembre de 2003

Apuntes de Matemática Discreta 9. Funciones

Escenas de episodios anteriores

Ejemplo 1.2 En el capitulo anterior se demostró que el conjunto. V = IR 2 = {(x, y) : x, y IR}

ÍNDICE PRESENTACIÓN INTRODUCCIÓN Lógica y Filosofía de la Lógica Más allá de este libro... 16

Números Reales. MathCon c

Repaso de Lógica de Primer Orden

Tema 3. Espacios vectoriales

Espacios generados, dependencia lineal y bases

Seminario: Expresividad semántica y lógica de segundo orden:

Tema 6: Programación Lógica: semántica declarativa. Lenguajes y Paradigmas de Programación

NÚMEROS NATURALES Y NÚMEROS ENTEROS

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

Espacios Vectoriales

Nota 2. Luis Sierra. Marzo del 2010

Introducción a la Teoría de Probabilidad

RAZONAMIENTOS LÓGICOS EN LOS PROBLEMAS DE MATEMÁTICAS

BASES Y DIMENSIÓN. Propiedades de las bases. Ejemplos de bases.

1.4.- D E S I G U A L D A D E S

Cómo?: Resolviendo el sistema lineal homógeneo que satisfacen las componentes de cualquier vector de S. x4 = x 1 x 3 = x 2 x 1

Nociones Básicas de Sémantica: Semántica Denotacional

342 SOBRE FORMAS TERNARIAS DE SEGUNDO GRADO.

Aplicaciones lineales continuas

Conjuntos Numéricos. Las dos operaciones en que se basan los axiomas son la Adición y la Multiplicación.

Tablas. Estas serán las tablas que usaremos en la mayoría de ejemplos. Empleado

Introducción. Metadatos

y los conos serán todos los diagramas (acá usamos la palabra en el sentido habitual, no en el que acabamos de definir) de la forma

3. Modelo relacional: Estructura e integridad.

{} representa al conjunto vacío, es decir, aquel que no contiene elementos. También se representa por.

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Módulo 9 Sistema matemático y operaciones binarias

5 LÓGICA DE PRIMER ORDEN

EJERCICIOS DEL CAPÍTULO I

A estas alturas de nuestros conocimientos vamos a establecer dos reglas muy prácticas de cómo sumar dos números reales:

4 APLICACIONES LINEALES. DIAGONALIZACIÓN

Capítulo VI. Diagramas de Entidad Relación

Grupos. Subgrupos. Teorema de Lagrange. Operaciones.

OR (+) AND( ). AND AND

Relaciones entre conjuntos

Ejemplos y problemas resueltos de análisis complejo ( )

Lección 24: Lenguaje algebraico y sustituciones

INSTITUTO SUPERIOR TECNOLÓGICO NORBERT WIENER

Operaciones Morfológicas en Imágenes Binarias

Estructuras algebraicas

Tema 2. Espacios Vectoriales Introducción

CAMINOS EXPLICATIVOS. Humberto Maturana

Lógica, conjuntos, relaciones y funciones

Capítulo 1 Lenguajes formales 6

1. Producto escalar, métrica y norma asociada

2.3.- Modelo relacional de datos (aproximación lógica)

2.3.- Modelo relacional de datos (aproximación lógica) La lógica de 1er orden La lógica de 1er orden La lógica de 1er orden

ESTRUCTURAS ALGEBRAICAS

Subconjuntos destacados en la

Matrices equivalentes. El método de Gauss

1. Se establecen los conceptos fundamentales (símbolos o términos no definidos).

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 1: Lógica Proposicional

CONJUNTOS Y RELACIONES BINARIAS

4. Modelo Relacional: Manipulación de los datos.

La ventana de Microsoft Excel

Problemas indecidibles

2 LÓGICA DE PRIMER ORDEN

Aproximación local. Plano tangente. Derivadas parciales.

Operaciones Booleanas y Compuertas Básicas

FICHEROS Y BASES DE DATOS (E44) 3º INGENIERÍA EN INFORMÁTICA. Tema 8. Elementos Básicos

Reglas de inferencia:

Lógica de Predicados de Primer Orden

Estructuras Discretas. César Bautista Ramos Carlos Guillén Galván Daniel Alejandro Valdés Amaro

EJERCICIOS DE MATEMÁTICAS I HOJA 4. Ejercicio 1. Se consideran los vectores

9.1 Primeras definiciones

TEMA: ECUACIONES CON NÚMEROS NATURALES ECUACIONES DE PRIMER GRADO CON UNA INCÓGNITA.

Introducción. Paradigma de Lógica Gran importancia en la I.A. Origen: prueba de teoremas y razonamiento deductivo. Lógica.

I. RELACIONES Y FUNCIONES 1.1. PRODUCTO CARTESIANO { }

Lenguajes y Compiladores

Ejercicios guiados de comentario de texto. Ejercicio 2. Descartes

ESTRUCTURAS ALGEBRAICAS

ANÁLISIS DE DATOS NO NUMERICOS

ESTRUCTURAS ALGEBRAICAS 1

Semana 08 [1/15] Axioma del Supremo. April 18, Axioma del Supremo

Tema 12: Teorema de Herbrand

Tarea 4 Soluciones. la parte literal es x3 y 4

Definición Se llama suceso aleatorio a cualquier subconjunto del espacio muestral.

Lenguajes y Compiladores

Transcripción:

Capítulo 2 Lógica de Primer Orden Resumen En términos generales, la Programación Lógica concierne al uso de la lógica para representar y resolver problemas. Más adelante precisaremos que, en realidad, usaremos una lógica restringida a cláusulas de Horn y la resolución como regla de inferencia (Nenhuys-Chen y de Wolf, 1997). Por ahora, este capítulo introduce los conceptos de la lógica de primer orden necesarios para abordar los aspectos formales de la Programación Lógica. Para ello, se adopta un enfoque basado en sistemas formales, que nos permita describir el lenguaje, la teoría del modelo y la teoría de prueba de la lógica de primer orden. Con este aparato, se introducen los conceptos de unificación y resolución como regla de inferencia. 2.1. Introducción Cuando describimos situaciones de nuestro interés, solemos hacer uso de enunciados declarativos. Decimos que estos enunciados son declarativos en el sentido lingüístico del término, esto es, se trata de expresiones del lenguaje natural que son o bien verdaderas, o bien falsas; en contraposición a los enunciados imperativos e interrogativos. La lógica proposicional es declarativa en este sentido, las proposiciones representan hechos que se dan o no en la realidad. La lógica de primer orden tienen un compromiso ontólogico más fuerte (Russell y Norvig, 2003), donde la realidad implica además, objetos y relaciones entre ellos. Consideren los siguientes ejemplos de enunciado declarativo: 1. Julia es madre y Luis es hijo de Julia. 2. Toda madre ama a sus hijos. donde el enunciado (1) se refiere a los objetos de discurso Julia y Luis, usando propiedades de estos objetos, como ser madre; así como relaciones entre éstos, como hi jo. El enunciado (2) se refiere a relaciones que aplican a todas las madres, en tanto que objetos de discurso. A esto nos referimos cuando hablamos de representación 21

22 2 Lógica de Primer Orden de un problema en el contexto de la Programación Lógica, a describir una situación en términos de objetos y relaciones entre ellos. Si se aplican ciertas reglas de razonamiento a tales representaciones, es posible obtener nuevas conclusiones. Esto concierne a la resolución de problemas en Programación Lógica. Por ejemplo, conociendo (1) y (2) es posible inferir (vía Modus Ponens) que: 3. Julia ama a Luis. La idea central de la programación lógica es describir los objetos que conforman un universo de discurso, personas en el ejemplo; así como las relaciones entre ellos, siguiendo con el ejemplo hi jo y madre; y computar tales descripciones para obtener conclusiones como (3). Al describir el problema que queremos resolver, también podemos hacer uso de funciones, relaciones en las cuales sólo hay un valor dada una entrada. Por ejemplo, madre de puede representarse como una función (todo hijo tiene una sola madre), pero hijo de no. Esto se ilustra en la gráfica 2.1. luis pedro madre de madre de maria juana maria juana hijo de hijo de luis pedro Figura 2.1 La relación madre de es una función; mientras que hijo de no lo es. Como en todo sistema formal, es necesario especificar cuidadosamente la sintaxis de tales enunciados declarativos, es decir, que expresiones pertenecen al lenguaje de la lógica de primer orden, y cuales no; la semántica de estas expresiones, es decir qué hace que una expresión sea verdadera o falsa; así como las reglas de razonamiento que permiten concluir (3) a partir de (1) y (2). Tales cuestiones son el tema de estudio de la lógica matemática. Esta sesión del curso introduce los elementos de la lógica de primer orden, necesarios para abordar la resolución como regla de inferencia en lógica de primer orden y su uso en el lenguaje de programación Prolog. El material aquí presentado está basado principalmente en los textos de Genesereth y Nilsson (1987), capítulo 2; y el de Nilsson y Maluszynski (2000), capítulo 1. Una lectura complementaria a estos textos son los capítulos 8 y 9 del texto de Russell y Norvig (2003).

2.3 El lenguaje de la lógica de primer orden 23 2.2. Sistemas formales La especificación cuidadosa de la sintaxis y semántica de la lógica de primer orden, se consigue definiendo a ésta última como un sistema formal. Para ello, es necesario considerar tres aspectos: Languaje. Este elemento está asociado a la sintaxis de la lógica de primer orden y de los programas lógicos. El lenguaje de un sistema formal está dado por un conjunto de símbolos conocido como alfabeto y una serie de reglas de construcción o sintácticas. Una expresión es cualquier secuencia de símbolos pertenecientes al alfabeto (primarios). Cualquier expresión es, o no es, una fórmula bien formada (fbf). Las fórmulas bien formadas son las expresiones que pueden formarse con los símbolos del alfabeto a partir de las reglas de construcción y por tanto, pertenecen al languaje de la lógica de primer orden. Teoría de modelo. Este elemento está asociado a la semántica de la lógica de primer orden. La teoría del modelo establece la interpretación de las fbfs en un sistema formal. Su función es relacionar las fbfs con alguna representación simplificada de la realidad que nos interesa, para establecer cuando una fbf es falsa y cuando verdadera. Esta versión de realidad corresponde a lo que informalmente llamamos modelo. Sin embargo, en lógica, el significado de modelo está íntimamente relacionado con el lenguaje del sistema formal: si la interpretación M hace que la fbf α 1 sea verdadera, se dice que M es un modelo de α o que M satisface α, y se escribe M = α. Una fbf es válida si toda interpretación es un modelo para ella. Teoría de prueba. Este elemento está asociado con el razonamiento deductivo. La teoría de la prueba tiene como objetivo hacer de cada enunciado matemático una fórmula demostrable y rigurosamente deducible. Para ello, la actividad matemática debería quedar reducida a la manipulación de símbolos y sucesiones de símbolos regulada por un conjunto de instrucciones dadas al respecto. La construcción de tal teoría implica, además del lenguaje del sistema formal, un subconjunto de fbf que tendrán el papel axiomas en el sistema, y un conjunto de reglas de inferencia que regulen diversas operaciones sobre los axiomas. Las fbf obtenidas mediante la aplicación sucesiva de las reglas de inferencia a partir de los axiomas se conocen como teoremas del sistema. 2.3. El lenguaje de la lógica de primer orden Básicamente, la lógica de primer orden, también conocida como cálculo de predicados, introduce un conjunto de símbolos que nos permiten expresarnos acerca de los objetos en un dominio de discurso dado. El conjunto de todos estos objetos 1 El símbolo α se usa aquí como una variable meta-lógica, es decir, una variable que tiene como referente el lenguaje del sistema formal mismo, y por lo tanto, no forma parte del lenguaje del sistema en si. Se usaran letras griegas como variables meta-lógicas.

24 2 Lógica de Primer Orden se conoce como universo de discurso (U). Los miembros del universo de discurso pueden ser objetos concretos, ej., un libro, un robot, etc; abstractos, ej., números; e incluso, ficticios, ej., unicornios, etc. Un objeto es algo sobre lo cual queremos expresarnos. Como ejemplo, consideren el multi citado mundo de los bloques Genesereth y Nilsson (1987) que se muestra en la figura 2.2. El universo de discurso para tal escenario es el conjunto que incluye los cinco bloques, la el brazo robótico y la mesa: {a, b, c, d, e, brazo, mesa}. Brazo robótico E A B D C Mesa Figura 2.2 El mundo de los bloques, usado para ejemplificar el cálculo de predicados. Una función es un tipo especial de relación entre los objetos del dominio de discurso. Este tipo de relaciones mapea un conjunto de objetos de entrada a un objeto único de salida. Por ejemplo, es posible definir la función parcial sombrero que mapea un bloque al bloque que se encuentra encima de él, si tal bloque existe. Las parejas correspondientes a esta función parcial, dado el escenario mostrado en la figura 2.2 son: {(b,a),(c,d),(d,e)}. El conjunto de todas las funciones consideradas en la conceptualización del mundo se conoce como base funcional. Un segundo tipo de relación sobre los objetos del dominio de discurso son los predicados. Diferentes predicados pueden definirse en el mundo de los bloques, ej., el predicado sobre que se cumple para dos bloques, si y sólo si el primero está inmediatamente encima del segundo. Para la escena mostrada en la figura 2.2, sobre/2 se define por los pares {(a,b),(d,c),(e,d)}. Otro predicado puede ser libre/1, que se cumple para un bloque si y sólo si éste no tiene ningún bloque encima. Este predicado tiene los siguientes elementos {a, e}. El conjunto de todos los predicados usados en la conceptuación se conoce como base relacional. Para universos de discurso finitos, existe un límite superior en el número posible de predicados n-arios que pueden ser definidos. Para un universo de discurso de cardinalidad b (cardinalidad es el número de elementos de un conjunto), existen b n distintas n-tuplas. Cualquier predicado n-ario es un subconjunto de estas b n tuplas. Por lo tanto, un predicado n-ario debe corresponder a uno de máximo 2 (bn) conjuntos posibles. Además de las funciones y predicados, la flexibilidad de la lógica de primer orden resulta del uso de variables y cuantificadores. Las variables, cuyos valores son objetos del universo de discurso, se suelen representar por cualquier secuencia

2.3 El lenguaje de la lógica de primer orden 25 de caracteres que inicie con una mayúscula. El cuantificador para todo ( ) nos permite expresar hechos acerca de todos los objetos en el universo del discurso, sin necesidad de enumerarlos. Por ejemplo, toda madre... El cuantificador existe ( ) nos permite expresar la existencia de un objeto en el universo de discurso con cierta propiedad en partícular, por ejemplo, X libre(x) enlamesa(x) expresa que hay al menos un objeto que no tiene bloques sobre él y aue se encuentra sobre la mesa. 2.3.1. Sintaxis de la lógica de primer orden Los símbolos primarios de la lógica de primer orden se obtienen al considerar un conjunto numerable de variables, símbolos de predicado y símbolos de funciones. Se asume que los miembros del conjunto Var toman valores en el universo de discurso. Asociado a cada predicado y función, hay un número natural conocido como su aridad, que expresa su número de argumentos. Los predicados de aridad 0 se asumen como variables proposicionales. Las funciones de aridad 0 se asumen como constantes. Considerando los operadores lógicos y los cuantificadores, tenemos que los símbolos primarios o alfabeto del lenguaje de la lógica de primer orden son los que se muestran en la tabla 2.1 Conjunto de constantes: Const Conjunto de variables: Var Conjunto de predicados: Pred Conjunto de funciones: Func Operadores monarios: (negación) Operadores binarios: (disyunción) Cuantificadores: (cuantificador universal) Paréntesis: (, ) Cuadro 2.1 Alfabeto del lenguaje de la lógica de primer orden. El lenguaje del cálculo de predicados L FOL se especifica recursivamente como sigue: Primero definimos un conjunto de términos del lenguaje Term, como la unión de constantes y variables Const Var; así como la aplicación de las funciones en Func a una secuencia de términos, cuyo tamaño queda determinado por la aridad de la función. Recuerden que las funciones de aridad cero representan constantes. Las siguientes reglas sintácticas expresan que los términos son fbf en el lenguaje: Sintaxis 1 Si α Const, entonces α Term Sintaxis 2 Si α Var, entonces α Term Sintaxis 3 Si α/n Func, entonces α(φ 1,...,φ n ) Term ssi φ i=1,...,n Term.

26 2 Lógica de Primer Orden Al igual que en el caso de las funciones, la sintaxis de los predicados involucra la aridad del predicado y que sus argumentos sean a su vez términos. Recuerden que los predicados de aridad cero se interpretan como variables proposicionales: Sintaxis 4 Si α/n Pred, entonces α(φ 1,...,φ n ) L FOL ssi φ i=1,...,n Term. La sintaxis de la negación y la disyunción se definen como: Sintaxis 5 Si α L FOL, entonces α L FOL Sintaxis 6 Si α L FOL y β L FOL, entonces (α β) L FOL La sintaxis del cuantificador universal es como sigue: Sintaxis 7 Si α L FOL yx Vars es una variable que ocurre en α, entonces X α L FOL Las definiciones de la conjunción, la implicación, la equivalencia material, verdadero y falso, son como en la lógica proposicional: Definición 1 (conjunción) (α β)= def ( α β); Definición 2 (implicación) (α β)= def ( α β); Definición 3 (equivalencia material) (α β)= def ((α β) (β α)); Definición 4 (falso) f = def α α; Definición 5 (verdadero) t = def f La definición del cuantificador existencial es la siguiente: Definición 6 (cuantificador existencial) X α = def ( X α) Siendo estrictos, el cuantificador propiamente dicho, es el símbolo de cuantificador seguido de una variable, puesto que X y Y tienen significados diferentes. En una fbf de la forma X α, se dice que la fbf α está bajo el alcance del cuantificador X. En tal caso, se dice que la ocurrencia de X en α está acotada, en caso contrario se dice que la ocurrencia de la variable es libre. Por ejemplo, en X sobre(x,y ) la variable X está acotada, mientras que Y está libre. Un término sin variables se conoce como término de base, por ejemplo: sobre(a,b). 2.4. La semántica de la lógica de primer orden Antes de introducir las definiciones formales de la semántica de la lógica de primer orden, consideremos algunas expresiones posibles en estálógica, usando como ejemplo el mundo de los bloques (Figura 2.2). Si queremos expresar que al menos algún bloque no tiene nada encima, podemos usar los predicados bloque/1 y libre/1 en la siguiente expresión: X bloque(x) libre(x). Esta fbf expresa que existe un

2.4 La semántica de la lógica de primer orden 27 X tal que X es un bloque y X está libre (no tiene otro bloque encima). Observen que cuando usamos cuantificadores, siempre tenemos en mente el universo de discurso en cuestión o dominio. El dominio puede especificarse en término de conjuntos. Luego, si el dominio D es el conjunto de constantes {a,b,c,d,e,brazo,mesa}, podemos decir que B D = {a,b,c,d,e} es el conjunto de bloques en D. Entonces, es posible plantear una expresión equivalente a X bloque(x) libre(x), usando la fbf X libre(x), si especificamos que libre/1 tiene como dominio B. Una interpretación del predicado libre/1 es un subconjunto de B tal que si un bloque está libre, pertenece a este subconjunto. Para un predicado de aridad dos, como sobre/2 cuyo dominio son los bloques B B, podemos decir que su interpretación es un subconjunto de B B. En general, para un predicado de aridad n, su interpretación es un subconjunto en D n. 2.4.1. Teoría de modelo de la lógica de primer orden Para obtener un modelo para el lenguaje L FOL formamos el par M = D,V, donde D es el universo de discurso, ej. cualquier colección de objetos sobre la que queremos expresarnos, y la interpretación V es una función, tal que: Para cualquier predicado α de aridad n, V (α) regresa las n-tuplas que corresponden a la interpretación del predicado. En el ejemplo, siguiendo nuevamente la figura 2.2, consideren el predicado sobre/2. Su interpretación es un subconjunto de D 2 = D D. Para la escena mostrada, V (sobre)={(a,b),(e,d),(d,c)}. Para una constante, la función V regresa la misma constante, ej. V (a)=a. Algunas veces la expresión V (α) se abrevia α V. Una posible interpretación V para la escena del mundo de los bloques mostrada en al figura 2.2, es: a V = a b V = b c V = c d V = d e V = e sobre V = {(a,b),(e,d),(d,c)} enlamesa V = {b,c} libre V = {a,e} porencima V = {(a,b),(e,d),(e,c),(d,c)} Todo esto puede especificarse formalmente con la siguiente definición:

28 2 Lógica de Primer Orden Definición 7 (Interpretación) Una interpretación V, con respecto a un dominio de discurso D, es una función que satisface las siguientes propiedades: i) Si α Const, Entonces V (α)=α; ii) Si α/n Pred, Entonces V (α) D n. Observen que las variables no están incluidas en la interpretación. Interpretar las variables de manera independiente a otros símbolos en el lenguaje, es una práctica aceptada. Decimos que U es una asignación de variables basada en el modelo M = D,V si para todo α Var, U(α) Term. Por ejemplo, en el mundo de los bloques X U = a, es una asignación de variables. Esta abreviatura a veces se expande como U = {X\a} y se conoce como substitución. Una interpretación V y una asignación de variables U pueden combinarse en una asignación conjunta T VU que aplica a los términos de primer orden en general. La asignación de términos T dadas la interpretación V y la asignación de variables U, es un mapeo de términos a objetos del universo de discurso que se define como sigue: Semántica 1 Si α Const, entonces T VU (α)=v (α). Semántica 2 Si α Var, entonces T VU (α)=u(α). Semántica 3 Si α Term y es de la forma α(φ 1,...,φ n );yv(α)=g; y T VU (φ i )= x i, entonces T VU (α(φ 1,...,φ n )) = g(x 1,...,x n ). El concepto de satisfacción guarda una relación importante con las interpretaciones y las asignaciones. Por convención, el hecho de que el enunciado α sea satisfecho bajo una interpretación V y una asignación U, se escribe: = V α[u] Entonces podemos escribir M = V U (α) para expresar que α es verdadera en el modelo M = D,V cuando las variables en α toman valores de acuerdo a la asignación U. Por ejemplo, M = V U (sobre(x,b)) si X\a U. En realidad, la noción de satisfacción varía dependiendo de la clase del enunciado α. Así tenemos que una interpretación V y una asignación de variables U satisfacen una ecuación, si y sólo si la correspondiente asignación de términos T VU mapea los términos igualados a un mismo objeto. Cuando este es el caso, los términos se dicen correferenciados: Semántica 4 M = V (α = β)[u] ssi T VU (α)=t VU (β). Para el caso de un enunciado atómico que no sea una ecuación, la satisfacción se cumple si y sólo si la tupla formada por los objetos designados por los términos en el enunciado, es un elemento de la relación designada por la relación constante: Semántica 5 M = V α(τ 1,...,τ n )[U] ssi (T VU (τ 1 ),...,T VU (τ n )) V (α). Consideren como ejemplo la interpretación V definida para el mundo de los boques. Puesto que la constante a designa al bloque a y la constante b al bloque b, y

2.5 Inferencia en la lógica de primer orden 29 el par ordenado (a,b) es miembro del conjunto que interpreta la relación sobre, entonces es el caso que = V sobre(a,b)[u], por lo cual podemos decir que sobre(a,b) es verdadera en esa intepretación. Evidentemente: Semántica 6 M = V (α)[u] ssi M = V α[u]. y: Semántica 7 M = V (α β)[u] ssi M = V α[u] óm = β[u]. Un enunciado cuantificado universalmente se satisface, si y sólo si el enunciado bajo el alcance del cuantificador, se satisface para todas las asignaciones posibles de la variable cuantificada. Un enunciado cuantificado existencialmente se satisface, si y sólo si el enunciado bajo el alcance del cuantificador es satisfecho por una asignación de variables. Semántica 8 M = V X α[u], ssi para toda β en el universo de discurso, es el caso que M = V α[u ], donde U (X)=β yu (γ)=u(γ) para toda γ = X. Debido a la última condición en esta regla, se dice que U es una asignación X- alternativa a U. La regla semántica también puede leerse como: M = V X α[u] si para toda asignación de variables X-alternativa U, M = V α[u ]. Si una interpretación V safisface a un enunciado α para toda asignación de variables, se dice que V es un modelo de α. Un enunciado se dice satisfacible si existe alguna interpretación y asignación de variables que lo satisfaga. De otra forma, se dice que el enunciado es insatisfacible. Una fbf α es válida si y sólo si se satisface en toda intepretación y asignación de variables. Las fbf válidas lo son en virtud de su estructura lógica, por lo que no proveen información acerca del dominio descrito. Por ejemplo p(x) p(x) es una fbf válida. 2.5. Inferencia en la lógica de primer orden Volvamos al ejemplo de la introducción: 1. Toda madre ama a sus hijos. 2. Julia es madre y Luis es hijo de Julia. Conociendo (1) y (2) es posible concluir que: 3. Julia ama a Luis. Podemos formalizar este ejemplo en Lógica de Primer Orden como sigue: 1. X Y madre(x) hi jo de(y,x) ama(x,y ) 2. madre( julia) hi jo de(luis, julia)

30 2 Lógica de Primer Orden 3. ama( julia, luis) Una vez que hemos formalizado nuestros enunciados, el proceso de inferencia puede verse como un proceso de manipulación de fbf, donde a partir de formulas como (1) y (2), llamadas premisas, se produce la nueva fbf (3) llamada conclusión. Estas manipulaciones se pueden formalizar mediante reglas de inferencia. Entre las reglas de inferencia de la lógica de primer orden encontramos: Modus Ponens. O regla de eliminación de la implicación. Esta regla dice que siempre que las fbfs de la forma α y α β pertenezcan a las premisas o sean concluidas a partir de ellas, podemos inferir β: α α β β ( E) Eliminación de cuantificador universal. Esta regla expresa que siempre que una fbf de la forma Xα pertenezca a las premisas o sea concluida a partir de ellas, una nueva fbf puede ser concluida al remplazar todas las ocurrencias libres de X en α por algún término t que es libre con respecto a X (todas las variables en t quedan libres al substituir X por t. La regla se presenta como sigue: Xα(X) α(t) ( E) Introducción de conjunción. Cuando las fbf α y β pertenezcan a las premisas o sean concluidas a partir de ellas, podemos inferir α β: α β α β ( I) La correctez de estas reglas puede ser demostrada directamente a partir de la definición de la semántica de las fbf en L FOL. El uso de las reglas de inferencia puede ilustrarse con el ejemplo formalizado. Las premisas son: 1. X Y madre(x) hi jo de(y,x) ama(x,y ) 2. madre( julia) hi jo de(luis, julia) Al aplicar la eliminación de cuantificador universal ( E) a (1) obtenemos: 3. Y (madre( julia) hi jo de(y, julia) ama( julia,y ) Al aplicar nuevamente ( E) a (3) obtenemos: 4. madre( julia) hi jo de(luis, julia) ama( julia, luis) Finalmente, al aplicar Modus Ponens a (2) y (4): 5. ama( julia, luis)

2.6 Substituciones 31 La conclusión (5) ha sido obtenida rigurosamente, aplicando las reglas de inferencia. Esto ilustra el concepto de derivación. El hecho de que una formula α sea derivable a partir de un conjunto de fórmulas se escribe α. Si las reglas de inferencia son consistentes (sound), siempre que α entonces = α. Esto es, si nuestra lógica es consistente, cualquier fbf que puede ser derivada de otra fbf, es tambien una consecuencia lógica de ésta última. Definición 8 (Consistencia y completitud) Un conjunto de reglas de inferencia se dice consistente si, para todo conjunto de fbf cerradas (sin ocurrencia de variables libres) y cada fbf cerrada α, siempre que α se tiene que = α. Las reglas de inferencia se dicen completas si α siempre que = α. 2.6. Substituciones Formalmente, como ya se mencionó, una substitución es un mapeo de las variables del lenguaje a los términos del mismo: Definición 9 (Substitución) Una substitución es un conjunto finito de pares de la forma {X 1 /t 1,...,X n /t n } donde cada t n es un término y cada X n es una variable, tal que X i = t i yx i = X j si i = j. La substitución vacía se denota por ε. Asumamos que Dom({X 1 /t 1,...,X n /t n }) denota al conjunto {X 1,...,X n }, también conocido como dominio; yrange({x 1 /t 1,...,X n /t n }) denota al conjunto {t 1,...,t n }, también conocido como rango. Entonces la regla anterior expresa que las variables en el dominio de una substitución son únicas y no incluyen la substitución de la variable por si misma. La aplicación Xθ de la substitución θ a la variable X se define como: t Si X/t θ Xθ = X En otro caso observen que para las variables no incluidas en Dom(θ), θ aparece como la función identidad. Es importante extener el concepto de substitución a las fbf: Definición 10 (Aplicación) Sea θ una substitución {X 1 /t 1,...,X n /t n } y α una fbf. La aplicación αθ es la fbf obtenida al remplazar simultáneamente t i por toda ocurrencia de X i en α (1 i n). αθ se conoce como un caso (instance) de α. Ejemplos: ama(x,y ) madre(x){x/ julia,y /luis} = ama( julia, luis) madre( julia) p( f (X,Z), f (Y,a)) {X/a,Y /Z,W/b} = p( f (a,z), f (Z,a)) p(x,y ) {X/ f (Y ),Y /b} = p( f (Y ),b)

32 2 Lógica de Primer Orden Definición 11 (Composición) Sean θ y σ dos substituciones de la forma: θ = {X 1 /s 1,...X m /s m }σ = {Y 1 /t 1,...Y n /t n } La composición θσ se obtiene a partir del conjunto: {X 1 /s 1 σ,...x m /s m σ,y 1 /t 1,...Y n /t n } de la manera siguiente: eliminar todas las X i /s i σ para las que X i = s i σ (1 i m) y eliminar también aquellas Y j /t j para las cuales Y j Dom(θ) (1 j n). Por ejemplo: {X/ f (Z),Y /W}{X/a,Z/a,W/Y } = {X/ f (a),z/a,w/y } Definición 12 (Substitución idempotente) Una substitución θ se dice idempotente si θ = θθ. Se puede probar que una substitución θ es idempotente si y sólo si Dom(θ) Range(θ) =/0, es decir si el dominio y el rango de la substitución son disjuntos. Otras propiedades de las substituciones son: Definición 13 (Propiedades de las substituciones) Sean θ,α y β substituciones y sea F una fbf. Entonces: E(θ α)=(eθ)α (θα)β = θ(αβ) εθ = θε = θ Observen que, aunque las substituciones son asociativas, éstas no son conmutativas. Las substituciones son importantes para definir una regla de inferencia de especial relevancia para nosotros, conocida como la regla de resolución. Con las definiciones introducidas en este capítulo podemos abordar el tema de los programas lógicos definitivos.