Logica – Parte II´ - Departamento de Informática

26
ogica – Parte II R ESOLUCI ´ ON DE P ROBLEMAS Y ALGORITMOS Ingenier ´ ıa en Computaci ´ on Ingenier ´ ıa en Inform ´ atica UNIVERSIDAD NACIONAL DE SAN LUIS DEPARTAMENTO DE I NFORM ´ ATICA NO 2018

Transcript of Logica – Parte II´ - Departamento de Informática

Page 1: Logica – Parte II´ - Departamento de Informática

Logica – Parte II

RESOLUCION DE PROBLEMAS Y ALGORITMOS

Ingenierıa en ComputacionIngenierıa en Informatica

UNIVERSIDAD NACIONAL DE SAN LUIS

DEPARTAMENTO DE INFORMATICA

ANO 2018

Page 2: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Indice

1. Introduccion 2

2. Cuantificadores 3

2.1. Negacion de los Cuantificadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3. Lenguajes de Primer Orden 6

3.1. Terminos y Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2. Variables Libres y Ligadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

4. Semantica de un Lenguaje de Primer Orden 14

4.1. Interpretacion de Enunciados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4.2. Interpretacion de Formulas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2018 – Departamento de Informatica – Universidad Nacional de San Luis 1

Page 3: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Calculo de Predicados

1. Introduccion

La Logica Proposicional es deficiente para interpretar los razonamientos matematicos. Existen muchas proposicionesque no pueden ser expresadas completamente usando solo las herramientas que nos poporciona la Logica Proposicional.Esto se debe a que cuando estudiamos la validez de un argumento no analizamos la estructura interna de las variablesproposicionales que la componen. Consideremos, por ejemplo, la siguiente deduccion:

Todo numero entero es un numero real

87 es un numero entero

entonces, 87 es un numero real.

Este razonamiento es claramente valido para nosotros, aunque no es posible justificarlo con las tecnicas vistas hastaahora. En Logica Proposicional analizamos solamente la estructura de las formulas o proposiciones en terminos de lasproposiciones que las componen. En la deduccion anterior necesitamos un analisis mas fino de las componentes de lasproposiciones que intervienen. Por lo tanto, el lenguaje de la Logica Proposicional tiene poco poder expresivo.

Si llamaramos P a “Todo numero entero es un numero real”, Q a “87 es un numero entero” y R a “87 es un numeroreal” en Logica Proposicional escribirıamos ((P ∧Q) ⇒ R) y no estarıamos en condiciones de demostrar que es validonuestro razonamiento.

Consideremos las siguientes proposiciones:

Q : S ocrates es mortal.

R : Gaturro es mortal.

S : Mi perro es mortal.

Las tres proposiciones simples tienen en comun el predicado linguıstico “es mortal”, y se distinguen entre ellas por elsujeto. La frase “es mortal” esta dando una propiedad del sujeto. Si escribimos:

x es mortal

obtenemos una oracion que no es una proposicion porque su valor de verdad dependera del valor de la variable x. Ası, sia x le asignamos el valor x = “S ocrates” obtenemos la proposicion:

S ocrates es mortal

que es verdadera, mientras que si a x le damos el valor x = “Gaturro” obtenemos la proposicion:Gaturro es mortal

que es falsa.

2018 – Departamento de Informatica – Universidad Nacional de San Luis 2

Page 4: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

En este ejemplo, la frasex es mortal

es una funcion proposicional, y la variable x toma valores en un conjunto llamado universo del discurso. Entonces, aunquelas mismas no son proposiciones, para cada valor que le demos a x obtenemos una proposicion distinta. A las funcionesproposicionales las denotamos con una letra mayuscula seguida de la variable entre parentesis. Por ejemplo:

P (x): x es mortal.

Tambien podemos tener funciones proposicionales con mas de una variable, por ejemplo:x es mayor que y

el cual deberıa denotarse con una letra para representar la funcion proposicional, seguida de dos variables entre parentesis,por ejemplo como M(x, y). El valor de verdad en estos casos dependera de los valores que tomen las variables x e y.Ası, si x = −3 e y = −1, la proposicion “-3 es mayor que -1” tendrıa el valor de verdad Falso, mientras que si x = 4 ey =

√2, la proposicion “4 es mayor que

√2” tomarıa el valor de verdad Verdadero, considerando que nuestro universo

de discurso es el conjunto de los numeros reales R.

2. Cuantificadores

Usando las funciones proposicionales podemos describir proposiciones que poseen el predicado linguıstico en comun,como una unica proposicion donde el/los sujeto/s se representa/n mediante una o mas variables, segun corresponda. Estonos permite describir muchas proposiciones con una sola expresion, dado que podemos obtener una proposicion distintacada vez que reemplacemos a cada variable por algun elemento del universo de discurso. Sin embargo, si queremosdescribir proposiciones como “Todo numero entero”, con una expresion que haga explıcita que la proposicion habla degeneralizar algo por usar la palabra“Todo”, necesitamos a los cuantificadores que nos permitan describir, en este caso, lageneralizacion como parte de la proposicion.

Los cuantificadores nos permiten construir proposiciones a partir de funciones proposicionales ya sea particularizandoo generalizando.

Si consideramos las mismas, por ejemplo, la funcion proposicional:P (x) : x es mayor que 0,

podemos particularizar esto diciendo:Existe un numero real que es mayor que 0,

o generalizarlo diciendo:Todos los numeros reales son mayores que 0.

Notemos que tanto en la particularizacion como en la generalizacion se especifıca un conjunto desde donde tomavalores la variable, al cual llamamos universo de discurso. En este ejemplo particular, es el conjunto de los numerosreales R.

Existe una notacion especıfica para describir la particularizacion y la generalizacion y las han usado hasta ahora en

2018 – Departamento de Informatica – Universidad Nacional de San Luis 3

Page 5: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Matematica:∃x ∈ R | x > 0,

que se lee existe un x ∈ R tal que x es mayor que 0; mientras que:∀x ∈ R, x > 0,

se lee para todo x ∈ R se cumple que x es mayor que 0.

Al sımbolo ∃ se lo denomina cuantificador existencial y al sımbolo ∀ se lo denomina cuantificador universal.

Un cuantificador transforma una funcion proposicional en una formula a la cual se le puede asignar un valor de verdadde Verdadero o Falso

Ejemplo:

Sea la funcion proposicional P (x): 4·x es par. Entonces la formula:∀n ∈ N, P (n)

es decir, “para todo n natural se cumple que 4 · n es par”, es equivalente a enunciar la conjuncion de todas las posiblesproposiciones simples:

4 · 1 es par y 4 · 2 es par y 4 · 3 es par y 4 · 4 es par y . . .

Por lo tanto, esta formula (la conjuncion de todas las proposiciones, tendrıa el valor de verdad Verdadero porque cadauna de las proposiciones que se obtienen al sustituir a n en P (n) por un elemento de N tiene el valor de verdad Verdadero.

Ejemplo:

Dada la funcion proposicional P (x): x es un numero mayor que 1, entonces la formula:∀x ∈ N, P (x)

nos esta enunciando que cualquiera sea el numero natural x, se cumple que x es mayor que 1. Por lo tanto, la formulatendrıa el valor de verdad Falso porque 1 es un numero natural que no es mayor que 1; es decir, la proposicion P (1) quese obtiene cuando x toma el valor 1 le corresponde el valor de verdad Falso. Entonces, no importa que para todos losdemas valores de x, es decir los valores de x = 1, las proposiciones que se obtengan al sustituir en P (x) tengan el valorde verdad Verdadero, porque por ser la formula equivalente a una conjuncion de todas las formulas, esta toma el valor deverdad Falso aunque solo una de las proposiciones que la componen lo sea.

Si en lugar de aplicar el cuantificador universal aplicamos el cuantificador existencial, enunciarıamos la siguienteformula:

∃x ∈ N | P (x),

lo que corresponderıa a enunciar equivalentemente a:1 es mayor que 1 o 2 es mayor que 1 o 3 es mayor que 1 o 4 es mayor que 1 o . . .

y ası siguiendo. Es decir, que la formula que se obtiene al aplicar el cuantificador existencial es equivalente a la disyuncionde todas las proposiciones simples que se obtienen al sustituir a x por un elemento del universo. Particularmente, esta

2018 – Departamento de Informatica – Universidad Nacional de San Luis 4

Page 6: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

formula toma el valor de verdad Verdadero, pues al menos existe un numero natural, por ejemplo el 3, para el cual secumple que sustituyendo a x por 3 en P (x) la proposicion P (3) tiene el valor de verdad Verdadero; es decir es verdadque: 3 es mayor que 1 (recordar que una disyuncion es verdadera si al menos una de las proposiciones que la componenlo es).

Entonces, si P (x) es una funcion proposicional, la formula ∀x ∈ A,P (x) tiene el valor de verdad Verdadero si ysolo si P (a) tiene el valor de verdad Verdadero para todos los a ∈ A. En cambio, si P (x) es una funcion proposicional,entonces la formula ∃x ∈ A | P (x) toma el valor de verdad Verdadero si y solo si P (a) tiene el valor de verdad Verdaderopara algun a ∈ A.

Observacion:

Cuando se utilizan los cuantificadores universal (∀) y existencial (∃) en la representacion simbolica de enunciadoscompuestos, y ellos describen propiedades de un subconjunto del dominio, el conectivo principal en la formula que afectael cuantificador ∀ es ⇒ y el conectivo principal en la que afecta el cuantificador ∃ es ∧. Podemos apreciarlo en ejemploscomo:

Todas las aguilas vuelan, se escribirıa como ∀x, (A(x) ⇒ V (x)), siendo A(x) el predicado que representa “x esaguila” y V (x) el que representa “x vuela”.

Todo lo que brilla es de oro, se escribirıa como ∀x, (brilla(x) ⇒ oro(x)).

Todo ser humano tiene un padre, se escribirıa como ∀x, (H(x) ⇒ ∃y P (y, x)), siendo H(x) el predicado que repre-senta “x es humano” y P (y, x) el que representa que “y es padre de x”.

Hay personas que no son bondadosas, se denotarıa como ∃x, (P (x) ∧ ¬B(x)), siendo P (x) el predicado que repre-senta “x es persona” y B(x) el que representa que “x es bondadoso”.

Sin embargo, siempre se deben tener presentes los contextos en los cuales es valida la observacion anterior; ella nosignifica que las combinaciones ∀ con ⇒ y ∃ con ∧ sean indisolubles. Por ejemplo, Todo brilla o es oro se representarıacomo ∀x, (brilla(x) ∨ oro(x)).

2.1. Negacion de los Cuantificadores

La negacion de una formula cuantificada es tambien una formula, que a su vez puede describirse con un cuantificador.La formula:

Φ : ∀x, P (x)

toma el valor de verdad Verdadero si y solo si P (x) tiene el valor de verdad Verdadero para todo x. La negacion de Φ esotra formula que tomara el valor de verdad Falso siempre que Φ tome el valor de verdad Verdadero, y su valor de verdadsera Verdadero siempre que el valor de verdad de Φ sea Falso.

2018 – Departamento de Informatica – Universidad Nacional de San Luis 5

Page 7: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Luego ¬Φ es la formula que tendra el valor de verdad Verdadero si P (x) es falsa para algun valor de x, y que suvalor de verdad sera Falso si P (x) tiene el valor de verdad Verdadero para todos los valores de x. Dicho de otro modo, Φtendra el valor de verdad Verdadero si ¬P (x) tiene el valor de verdad Verdadero para algun valor de x, y tendra el valorde verdad Falso si ¬P (x) tiene el valor de verdad Falso para todos los valores de x. Luego:

¬(∀x, P (x)) ≡ (∃x | ¬P (x))

Ejemplo:

La negacion de la expresion “Todos los numeros son positivos” es “existe un numero que no es positivo”.

De manera analoga, la negacion de la formula ∃x | P (x) tendra el valor de verdad Verdadero si y solo si P (x) tiene elvalor de verdad Falso para todo x, y le correspondera el valor de verdad Falso si P (x) tiene el valor de verdad Verdaderopara algun x. Equivalentemente, ¬(∃x | P (x)) tomara el valor de verdad Verdadero si ¬P (x) tiene el valor de verdadVerdadero para todo x, y el valor de verdad Falso si ¬P (x) tiene el valor de verdad Falso para algun x. Luego:

¬(∃x | P (x)) ≡ (∀x,¬P (x))

Ejemplo:

La negacion de la expresion “Existe un numero que es primo” es “Todos los numeros cumplen que no son primos”, olo que coloquialmente es equivalente a “Ningun numero es primo”.

3. Lenguajes de Primer Orden

En algunas ramas de la Matematica se trabaja con estructuras que constan de un conjunto de elementos, operacionesdefinidas en el conjunto y/o relaciones definidas en el conjunto. Por ejemplo, un grupo es un conjunto dotado de una ope-racion binaria, denotada por ◦, junto con un conjunto de axiomas. Los anillos son conjuntos dotados de dos operacionesbinarias, denotadas por + y ◦ y que cumplen determinados axiomas. Un grafo es un conjunto junto con una relacionbinaria (no necesariamente una funcion) verificando determinadas condiciones. En todas estas estructuras matematicaslas sentencias no pueden ser expresadas unicamente con el Lenguaje de la Logica Proposicional. Los Lenguajes de PrimerOrden corrigen estas falencias, dado que su poder expresivo es superior. En los Lenguajes de Primer Orden, ademas delos sımbolos del Lenguaje Proposicional, se tienen tambien sımbolos para denotar expresiones como para todo x y existeun x, sımbolos para denotar relaciones, sımbolos para denotar funciones, sımbolos para denotar elementos distinguidosdel conjunto o constantes y algunos sımbolos auxiliares. Por ejemplo, en matematicas estamos acostumbrados a trabajarcon expresiones como:

Todos los numeros naturales son reales

Existen algunos numeros enteros divisibles por 2

Existen numeros naturales menores que 10

2018 – Departamento de Informatica – Universidad Nacional de San Luis 6

Page 8: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Todas estas expresiones pueden ser formalizadas en un lenguaje mas amplio que el Lenguaje Proposicional, dadoque logra expresar mas claramente lo que se esta enunciando. Para poder escribir simbolicamente expresiones tales comoexisten . . . o para todo . . ., se necesitan el cuantificador existencial y el cuantificador universal.

Ejemplo:

La expresion:

Todos los numeros naturales son reales.

se podrıa reescribir como:

Para todo numero, si x es un numero natural, x es un numero real

lo que, incorporando sımbolos de cuantificadores en nuestra expresion y conectando mas claramente las proposiciones,reescribirıamos como:

∀x, si x es un numero natural entonces x es un numero real

lo que a su vez, incorporando otros sımbolos del lenguaje logico serıa:

(∀x (x ∈ N ⇒ x ∈ R))

Ejemplo:

De igual manera, estamos acostumbrados a tratar con relaciones entre objetos. Por ejemplo, la propiedad si x e y sonenteros positivos tales que x < y, entonces existe un entero positivo z tal que y = x+ z, se podrıa reescribir en terminosde nuestro lenguaje logico como:

(∀x (∀y ((x ∈ Z+ ∧ y ∈ Z+) ∧ x < y) ⇒ (∃z (z ∈ Z+ ∧ y = x+ z))))

en este ejemplo hemos necesitado usar dos sımbolos de relacion binarios “igual (=)” y “menor (<)”, y un sımbolo defuncion binario “suma (+)”, definidos en el conjunto de los numeros enteros positivos.

Como en la Logica Proposicional, es necesario definir lo que es un Lenguaje de Primer Orden especificando su alfabeto(sus sımbolos) y que sucesiones finitas de estos sımbolos seran las formulas del lenguaje (a traves de reglas sintacticas).

Definicion:Un Lenguaje de Primer Orden consta de los siguientes conjuntos:

Sımbolos logicos: El vocabulario basico de todo lenguaje de primer orden consta de los siguientes tipos de sımbolos:

2018 – Departamento de Informatica – Universidad Nacional de San Luis 7

Page 9: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Variables: Un conjunto numerable de variables, denotado por Var, simbolizadas por x0 , x1 , . . . , xn, . . . (tam-bien suelen usarse como variables x, y, z, . . .).

Conectivos proposicionales: ∨,∧,⇒,¬.

Cuantificadores: ∀ (cuantificador universal) y ∃ (cuantificador existencial).

S ımbolos auxiliares: (, ).

Simbolos de funciones: Una familia de sımbolos de funciones F , tal que para cada fi ∈ F se tiene definida la aridadn(fi) ∈ N (tambien suelen usarse como sımbolos de funcion: f, g, h, . . .). Puede ser F = ∅.

Simbolos de predicados: Una familia de sımbolos de predicados o relaciones P , tal que para cada Pj ∈ P se tienedefinida la aridad m(j) ∈ N (tambien suelen usarse como sımbolos de predicado: R,S, T, . . .). Debe ser P = ∅.

Simbolos de constantes: Una familia de sımbolos de constantes C. Usualmente se utilizan como sımbolos de constantes:c1 , c2 , . . . (o a, b, c, . . .). Puede ser C = ∅

Los sımbolos logicos y los sımbolos auxiliares son comunes a cualquier lenguaje de primer orden, los sımbolos quedistinguen a un lenguaje de primer orden de otro son los sımbolos de funcion, de predicado y de constante, que son lossımbolos propios o vocabulario σ que lo caracteriza. Por lo tanto, para definir un lenguaje de primer orden L escribiremos:σL = ⟨F ,P , C⟩ para denotar el vocabulario que distingue a ese lenguaje de primer orden L en particular y con Lσ allenguaje propiamente dicho, basado en el vocabulario σ. Es claro que existen muchos lenguajes de primer orden. Cadauno depende de los sımbolos que se incluyan.

El concepto de “predicado” es similar al concepto de “relacion”, solo que un concepto es filosofico y el otro esmatematico.

Veamos algunos ejemplos de lenguajes de primer orden.

Ejemplo:

Sea L un lenguaje de primer orden cuyo vocabulario σL = ⟨F ,P , C⟩, tal que:

F = ∅

P = {R,S} , donde R es unario y S es binario

C = {a}

Aunque todavıa no hemos definido lo que son las formulas en un lenguaje de primer orden, podemos utilizar nuestrosconocimientos de logica elemental para dar algunos ejemplos de enunciados en este lenguaje:

(∀x (∀y ((S(x, a) ∧ S(y, a)) ⇒ (R(x) ∨R(y)))))

(∀x (R(a) ∧ (∃y ¬S(x, y))))

2018 – Departamento de Informatica – Universidad Nacional de San Luis 8

Page 10: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Ejemplo:

Sea L un lenguaje de primer orden cuyo vocabulario σL = ⟨F ,P , C⟩, tal que:

F = {f} , donde f un sımbolo de funcion binario

P = {R} , donde R es binario

C = {c}

En este lenguaje podrıamos escribir enunciados como:

(∃x (∀y ((R(x, f(x, y)) ∨R(y, f(x, y)) ⇒ ¬R(x, y)))))

(∃x (R(c, f(c, x)) ⇒ (∀y ¬R(f(x, c), f(y, c))))

Ejemplo:

Existen muchos ejemplos de lenguajes de primer orden que se utilizan en Matematica, dado que muchas estructurasmatematicas conocidas tienen asociado un lenguaje de primer orden. Sea L un lenguaje de primer orden cuyo vocabularioσL = ⟨F ,P , C⟩, tal que:

F = {+,×} , donde + y × son sımbolos de funcion binario

P = {<,=} , donde < e = son sımbolos de predicado binarios

C = {0, 1}

En este lenguaje podrıamos escribir enunciados como:

(∀x (∀y ((< (x, y)∨ < (y, x))∨ = (x, y)))) (1)

(∀x (∀y(< (x, y) ⇒ (∃z = (+(x, z), y))))) (2)

(∀x (= (x,+(x, 0))∧ = (x,+(0, x)))) (3)

(∀x (∀y = (+(x, y),+(y, x)))) (4)

(∀x (= (x,×(x, 1))∧ = (x,×(1, x)))) (5)

Donde, adelantandonos un poco a darle significado a las formulas, si nuestro universo de discurso fuera el conjuntoN0 e interpretaramos los sımbolos del vocabulario del lenguaje con su significado intuitivo, podrıamos interpretar lasformulas anteriores como:

(1) Dados dos numeros naturales cualesquiera x e y se cumple la ley de tricotomıa: o es x menor que y, o y es menor quex, o son iguales.

(2) Si un numero natural x es menor que otro y , entonces debe existir un numero z tal que x+ z = y.

2018 – Departamento de Informatica – Universidad Nacional de San Luis 9

Page 11: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

(3) El numero 0 es el elemento neutro a izquierda y a derecha de la suma.

(4) La suma es conmutativa.

(5) El numero 1 es el elemento neutro a izquierda y a derecha del producto.

Queda como ejercicio para el lector escribir algunas formulas que expresen otras propiedades matematicas, usandoeste lenguaje. ✷

De igual manera que hicimos en Logica Proposicional, debemos definir el concepto de formula de un lenguaje de pri-mer orden. En general, una formula en un lenguaje de primer orden es una sucesion finita de sımbolos del lenguaje (logicosy propios). Obviamente, y como sucedıa tambien en la Logica Proposicional, no toda sucesion sera una formula. Para pre-cisar exactamente que sucesiones de sımbolos seran considerados como formulas debemos dar las reglas sintacticas quepermiten formarlas. Primero definiremos los terminos del lenguaje, las formulas atomicas y por ultimo las formulas dellenguaje.

3.1. Terminos y Formulas

Recordemos una vez mas que el alfabeto de un lenguaje de primer orden esta formado por los sımbolos logicos y lossımbolos propios del vocabulario.

Definicion: Una lista de sımbolos del alfabeto de un lenguaje de primer orden L es un termino si y solo si se la puedeobtener aplicando un numero finito de veces las siguientes reglas:

(T1) Las variables son terminos.

(T2) Los sımbolos de constantes son terminos.

(T3) Si t1 , . . . , tn son terminos y f es un sımbolo de funcion n-aria, entonces f(t1 , . . . , tn) es un termino.

(T4) Nada mas es un termino.

Ejemplo:

Si se tiene un vocabulario σ = ⟨{f1 , f2}, {P1}, {c1 , c2 , c3}⟩, donde f1 es de aridad 2, f2 es de aridad 1 y P1 es dearidad 2. Los siguientes son ejemplos de terminos en el correspondiente lenguaje de primer orden Lσ:

a) c2 b) x1 c) f1 (x2 , c3 )

d) f2 (x1 ) e) c3 f) f2 (f2 (c1 ))

g) f1 (f1 (f2 (x1 ), c1 ), f2 (c3 )) h) f2 (f1 (x1 , x1 )) i) f2 (f1 (f2 (x1 ), x1 ))

2018 – Departamento de Informatica – Universidad Nacional de San Luis 10

Page 12: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Con los terminos y los sımbolos de predicados podemos construir los elementos basicos de nuestro lenguaje, quellamaremos formulas atomicas:

Definicion: Una formula atomica de un lenguaje de primer orden L con vocabulario σL es una lista de sımbolos de laforma P (t1 , . . . , tk), donde P es un sımbolo de predicado k-ario de σL y t1 , . . . , tk son terminos de L.

Ejemplo:

Considerando el mismo vocabulario σ = ⟨{f1 , f2}, {P1}, {c1 , c2 , c3}⟩, donde f1 es de aridad 2, f2 es de aridad 1 yP1 es de aridad 2. Los siguientes son ejemplos de formulas atomicas del correspondiente lenguaje de primer orden Lσ:

a) P1 (c2 , x1 ) b) P1 (f1 (x2 , c3 ), c3 )

c) P1 (f1 (f1 (f2 (x1 ), c1 ), f2 (c3 )), f2 (c1 )) d) P1 (f2 (f1 (x1 , x1 )), f2 (f1 (x1 , x1 )))

e) P1 (f2 (f1 (f2 (x1 ), x1 )), f2 (f1 (x1 , c1 ))) f) P1 (f2 (c2 ), f1 (f2 (c2 ), f2 (c2 )))

Estamos ahora en condiciones de definir las formulas, que a su vez nos permitiran definir los enunciados de primerorden, que son parte del objetivo fundamental de nuestro estudio del Calculo de Predicados.

Definicion: Una lista de sımbolos del alfabeto de un lenguaje de primer orden L con vocabulario σL es una formula oformula bien formada (fbf) si y solo si se la puede obtener aplicando un numero finito de veces las siguientes reglas:

(F1) Las formulas atomicas son formulas.

(F2) Si ϕ es una formula, tambien lo es ¬ϕ.

(F3) Si ϕ y ψ son formulas, tambien lo son las expresiones (ϕ ∨ ψ), (ϕ ∧ ψ) y (ϕ⇒ ψ).

(F4) Si ϕ es una formula y x denota una variable, entonces (∀x ϕ) y (∃x ϕ) son formulas.

(F5) Nada mas es una formula.

Ejemplo:

Considerando el mismo vocabulario σ = ⟨{f1 , f2}, {P1}, {c1 , c2 , c3}⟩, donde f1 es de aridad 2, f2 es de aridad 1 yP1 es de aridad 2. Los siguientes son ejemplos de formulas del correspondiente lenguaje de primer orden Lσ:

a) P1 (c2 , x1 )

b) P1 (f1 (x2 , c3 ), c3 )

c) (∃x1P1 (f1 (f1 (f2 (x1 ), c1 ), f2 (c3 )), f2 (c1 )))

d) ¬P1 (f2 (f1 (x1 , x1 )), f2 (f1 (x1 , x1 )))

2018 – Departamento de Informatica – Universidad Nacional de San Luis 11

Page 13: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

e) (∀x1 (P1 (f2 (f1 (f2 (x1 ), x1 )), f2 (f1 (x1 , c1 ))) ∧ P1 (c2 , x1 )))

f) (P1 (f2 (c2 ), f1 (f2 (c2 ), f2 (c2 ))) ⇒ P1 (x2 , x1 ))

3.2. Variables Libres y Ligadas

Para poder definir los enunciados de un lenguaje de primer orden, necesitamos introducir los conceptos de aparicioneslibres y ligadas de una variable en una formula. Intuitivamente, una variable x aparece ligada en una formula ϕ si estaafectada por un cuantificador ∀x o ∃x. En caso contrario, se dice que aparece libre en ϕ. Por ejemplo, si P y Q sonsımbolos de predicado binarios y ϕ es la formula ((∀x P (x, y)) ⇒ (∃y Q(x, y))), tanto la primera como la segundaaparicion de x en ϕ son ligadas, mientras que la tercera es libre. En cambio, la primera aparicion de y es libre, mientrasque la segunda y tercera son ligadas. La definicion precisa de apariciones libres y ligadas de una variable en una formulase hace por induccion del siguiente modo:

Definicion:

Si ϕ es una formula atomica, ϕ es P (t1 , . . . , tk), entonces todas las apariciones de todas las variables que aparecenen ϕ son libres. Sea ahora ϕ una formula, que no es atomica, entonces definiremos las apariciones libres de variables enella de acuerdo a los casos posibles, a saber:

1. Si ϕ es ¬ψ. Las apariciones libres de una variable en ϕ son las apariciones libres de esta variable en ψ.

2. Si ϕ es (ψ ∨ η), o es (ψ ∧ η) o es (ψ ⇒ η). Las apariciones libres de una variable en ϕ son las apariciones libresde esta variable en ψ y en η.

3. Si ϕ es (∀x ψ) o (∃x ψ). Todas las apariciones de x en ϕ son ligadas. Para toda variable y distinta de x, lasapariciones libres de y en ϕ son las apariciones libres de y en ψ.

Una variable x se dice ligada en (∀x ψ) o (∃x ψ).

Ejemplo:

Considerando algunas de las formulas mostradas en ejemplos anteriores, podemos decir que:

a) x1 aparece libre en P1 (c2 , x1 ).

b) x2 aparece libre en P1 (f1 (x2 , c3 ), c3 ).

c) x1 aparece libre en P1 (f1 (f1 (f2 (x1 ), c1 ), f2 (c3 )), f2 (c1 )), pero no en(∃x1P1 (f1 (f1 (f2 (x1 ), c1 ), f2 (c3 )), f2 (c1 ))).

d) x1 aparece libre en ¬P1 (f2 (f1 (x1 , x1 )), f2 (f1 (x1 , x1 ))).

2018 – Departamento de Informatica – Universidad Nacional de San Luis 12

Page 14: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

e) x1 aparece libre en P1 (f2 (f1 (f2 (x1 ), x1 )), f2 (f1 (x1 , c1 ))) y en P1 (c2 , x1 ), pero no en(∀x1 (P1 (f2 (f1 (f2 (x1 ), x1 )), f2 (f1 (x1 , c1 ))) ∧ P1 (c2 , x1 ))).

f) No hay apariciones libres de variables en P1 (f2 (c2 ), f1 (f2 (c2 ), f2 (c2 ))), y x1 y x2 aparecen libres en P1 (x2 , x1 ) y en(P1 (f2 (c2 ), f1 (f2 (c2 ), f2 (c2 ))) ⇒ P1 (x2 , x1 )).

Definicion:

Un enunciado de un lenguaje de primer orden L es una formula bien formada de L en la que no figuran variableslibres. Tambien se suelen llamar formulas cerradas o sentencias del lenguaje.

Ejemplo:

Considerando nuevamente formulas de ejemplos anteriores, podemos decir en cada caso lo siguiente:

a) P1 (c2 , x1 ) no es un enunciado, porque x1 es una variable libre.

b) P1 (f1 (x2 , c3 ), c3 ) no es un enunciado, porque x2 es una variable libre.

c) (∃x1P1 (f1 (f1 (f2 (x1 ), c1 ), f2 (c3 )), f2 (c1 ))) es un enunciado, porque la unica variable x1 que aparece en la formulaqueda ligada por el cuantificador existencial.

d) ¬P1 (f2 (f1 (x1 , x1 )), f2 (f1 (x1 , x1 ))) no es un enunciado, porque x1 es una variable libre.

e) (∀x1 (P1 (f2 (f1 (f2 (x1 ), x1 )), f2 (f1 (x1 , c1 )))∧P1 (c2 , x1 ))) es un enunciado, porque la unica variable x1 que apareceen la formula queda ligada por el cuantificador universal.

f) (P1 (f2 (c2 ), f1 (f2 (c2 ), f2 (c2 ))) ⇒ P1 (x2 , x1 )) no es un enunciado, porque x1 y x2 son variables libres.

En algunos casos puede determinarse si la aparicion de una variable es libre o ligada observando lo que se conocecomo alcance o ambito de un cuantificador. Por la regla (F4) si ϕ es una formula y x denota una variable, entonces (∀x ϕ)y (∃x ϕ) son formulas. Ası, el ambito o alcance del cuantificador ∀ o ∃ en cualquiera de los casos es la formula ϕ; esdecir, x aparecera como ligada en cualquier aparicion que tenga en ϕ, por estar dentro del alcance del cuantificador. Deacuerdo a nuestras reglas sintacticas para construir formulas cuantificadas, el alcance del cuantificador esta delimitado porlos parentesis:

(∀x ϕ︸︷︷︸ambito del ∀x

) (∃x ϕ︸︷︷︸ambito del ∃x

)

Ejemplo:

En la formula (((∀x(A(x) ∧ P (x, y))) ⇒ (∃zR(z))) ∨ P (a, x)) el alcance de los cuantificadores es:

(((∀x (A(x) ∧ P (x, y))︸ ︷︷ ︸alcance de ∀x

) ⇒ (∃z R(z)︸︷︷︸alcance de ∃z

)) ∨ P (a, x))

2018 – Departamento de Informatica – Universidad Nacional de San Luis 13

Page 15: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

por lo tanto, siendo a una constante, el conjunto de las variables libres de la formula es {x, y}, ya que y aparece libre en((∀x(A(x) ∧ P (x, y))) ⇒ (∃zR(z))) y x aparece libre en P (a, x).

4. Semantica de un Lenguaje de Primer Orden

Dado un lenguaje de primer orden L, con vocabulario σ, una formula bien formada Φ de Lσ es una sucesion finitade sımbolos (logicos o sımbolos de σ) que no tiene una interpretacion fija. Para poder interpretar las formulas de primerorden vamos a necesitar definir los modelos o interpretaciones del lenguaje. Para la Logica Proposicional las interpre-taciones o modelos eran las asignaciones de valores a las variables proposicionales o valuaciones sobre el conjuntoB = { V, F} . En el caso de los lenguajes de primer orden los modelos son estructuras mas complicadas, pues no solohay que definir como se interpretan los sımbolos logicos ∧,∨,¬ y ⇒ y los cuantificadores ∀ y ∃, sino que tambien debe-mos definir como interpretar los sımbolos propios del vocabulario: sımbolos relacionales, funcionales y constantes. Lasformulas de un lenguaje de primer orden se interpretan sobre un conjunto, o tambien llamado dominio o universo dediscurso. Para entender mejor como se debe definir una interpretacion vamos a dar primero un ejemplo de una formula enun lenguaje de primer orden con algunas posibles interpretaciones.

Ejemplo:

Sea L un lenguaje de primer orden con vocabulario σ = ⟨∅, {R}, {c}⟩, sin sımbolos de funcion y donde R es unsımbolo de predicado binario. Consideremos las siguientes formulas bien formadas de Lσ:

Φ : (∀x (∃yR(x, y)))

Ψ : (∀x (∃yR(y, x)))

La formula Φ nos dice que para cualquier x existe un y tal que x esta relacionado con y por R. Consideremos ahorael conjunto de los numeros naturales con el 0, N0 = N ∪ {0}, y sea la relacion de orden estricto “<” entre numerosnaturales, es decir <⊆ N2 . La relacion “<” interpreta al sımbolo de relacion R y el numero 0 interpreta a la constantec. La formula Φ es valida para esta interpretacion, pues para todo numero x ∈ N0 existe un numero y ∈ N0 tal que secumple que x < y. Por ejemplo, si elegimos para cada numero x el numero y = x+1 se cumple la condicion que x < y.En este caso, aunque nos estamos adelantando a la definicion de algunos sımbolos, podemos escribir que:

⟨N0 , <, 0⟩ |= (∀x (∃yR(x, y))) o tambien:

⟨N0 , <, 0⟩ |= Φ que se lee como que ⟨N0 , <, 0⟩ es modelo de Φ

En cambio, la formula Ψ no es valida en la estructura ⟨N0 , <, 0⟩, pues existe un numero x ∈ N0 tal que no va a existirningun y ∈ N0 tal que cumpla que y < x; es decir y ≮ x. Para el numero x = 0 no existe un “antecesor”, un numeromenor que el, en N0 . En este caso se puede escribir como:

⟨N0 , <, 0⟩ |=/ (∀x (∃yR(y, x))) o tambien:

⟨N0 , <, 0⟩ |=/ Ψ que se lee como que ⟨N0 , <, 0⟩ no es modelo de Ψ

2018 – Departamento de Informatica – Universidad Nacional de San Luis 14

Page 16: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Si cambiamos el universo de discurso al conjunto de los numeros enteros Z, tomando por ejemplo la estructura ⟨Z, <, 0⟩,entonces en este caso tendremos que:

⟨Z, <, 0⟩ |= (∀x (∃yR(y, x))) o tambien:

⟨Z, <, 0⟩ |= Ψ , o sea que ⟨Z, <, 0⟩ es modelo de Ψ

y tambien que:

⟨Z, <, 0⟩ |= (∀x (∃yR(x, y))) o tambien:

⟨Z, <, 0⟩ |= Φ , o sea que ⟨Z, <, 0⟩ es modelo de Φ

De acuerdo a este ejemplo, un lenguaje de primer orden Lσ puede tener muchos modelos o interpretaciones. Algunasformulas pueden ser verdaderas en algunos modelos y falsas en otro. Vamos ahora a decir formalmente que es un modeloo interpretacion de un lenguaje de primer orden y como se interpretan las formulas de Lσ , partiendo de como interpretarlos enunciados (formulas bien formadas sin variables libres), dado que despues de interpretarlos tiene sentido preguntarsesi son verdaderos o falsos.

4.1. Interpretacion de Enunciados

En lo que sigue supondremos que hemos fijado un lenguaje de primer orden Lσ , determinado por el vocabulario σ.

Una interpretacion I del vocabulario σ consiste de los siguientes elementos:

(I1) Un conjunto U = ∅, llamado el universo, el universo de discurso o dominio de la interpretacion I,

(I2) Para cada sımbolo de funcion f ∈ F de aridad k, una funcion total f I de aridad k sobre el universo U ;fI : Uk −→ U ,

(I3) Para cada sımbolo de predicado P ∈ P de aridad k, una relacion k-aria P I sobre el universo U , esto es un

subconjunto PI del producto cartesiano Uk =

k veces︷ ︸︸ ︷U × . . .× U (PI ⊆ Uk),

(I4) Para cada sımbolo de constante c ∈ C, un elemento cI ∈ U .

Luego una interpretacion I del vocabulario σ esta determinada por la estructura A = ⟨U, {fI}f∈F , {PI}P∈P , {cI}c∈C⟩,que se denomina la estructura relacional determinada por I. En este caso tambien se suele decir que A es una estructuraadecuada para Lσ o tambien que A es una σ–estructura.

Observacion:

Una interpretacion I “interpreta” a los sımbolos de funcion k-aria, de un vocabulario σ, como funciones totales deUk (es decir, que estan definidas para todo elemento del universo) y con imagen siempre en U (es decir, cerradas en U ,que es lo mismo que decir que la imagen de todo elemento del universo deber ser siempre algun elemento del universo).

2018 – Departamento de Informatica – Universidad Nacional de San Luis 15

Page 17: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Dada una interpretacion I del vocabulario σ del lenguaje Lσ , vamos a definir, una interpretacion I(t) ∈ U para losterminos t sin variables de Lσ del modo siguiente:

1. Si en t no figuran variables debe ser t igual a alguna constante c ∈ C. Definimos:I(t) como cI ∈ U .

2. Si t es un termino sin variables, entonces hay un unico k ≥1, un unico f ∈ F de aridad k y una unica k-upla determinos (t1 , . . . , tk) tales que t es f(t1 , . . . , tk). Con las interpretaciones I(ti) ∈ U para i = 1, 2, . . . , k podemosdefinir I(t) del modo siguiente:

I(t) como fI(I(t1 ), I(t2 ), . . . , I(tk)) ∈ U .

Diremos que el termino sin variables t designa o nombra el elemento I(t) del universo U .

La definicion anterior nos da un procedimiento para calcular I(t): reemplazar cada uno de los sımbolos de constanteque figuran en t por los elementos del universo U que les asigna la interpretacion I, e ir aplicando sucesivamente a loselementos U ası obtenidos las funciones que I le asigna a los sımbolos de funcion que figuran en t, en el orden en queaparecen.

En otras palabras, la interpretacion de un termino sin variables t solo depende de las interpretaciones de los sımbolosde constante y de funcion que figuran en t.

Cuando se interpreta un termino cualquiera t de un lenguaje L en una interpretacion I se debe determinar a queelemento del universo de I esta representando t. En cambio cuando se interpreta un enunciadoϕ, una formula sin variableslibres, de L se determina si este en I tomara el valor de verdad Verdadero o Falso. Por lo tanto, la interpretacion consistiraen asignarle un valor de verdad VI(ϕ) a cada enunciado ϕ de L.

Para determinar el valor de verdad de un enunciado ϕ de un lenguaje de primer orden L, con vocabulario σ, enuna interpretacion I, con universo U , tenemos que definir como obtenemos VI(ϕ) (que dara valores en el conjuntoB = {V, F}, y para ello se deben considerar los siguientes casos:

Casos a considerar para evaluar VI(ϕ):

1. Sea ϕ es un enunciado de Lσ que es una formula atomica sin variables libres, es decir que hay un P ∈ P de aridadk y una k-upla de terminos t1 , . . . , tk tales que ϕ es P (t1 , . . . , tk). Como ϕ no tiene variables libres resulta que losti deben ser terminos sin variables del lenguaje Lσ , y por lo tanto designan elementos de I del universo U , parai = 1, . . . , k. Luego la k-tupla de terminos ti esta representada por la k-tupla (I(t1 ), I(t2 ), . . . , I(tk)) ∈ Uk. Ası,definimos VI(ϕ) = V si (I(t1 ), I(t2 ), . . . , I(tk)) ∈ PI y VI(ϕ) = F si (I(t1 ), I(t2 ), . . . , I(tk)) /∈ PI.

2. Sea ϕ un enunciado que no es una formula atomica, entonces tenemos uno de los siguientes casos:

a) ϕ es ¬ψ, entonces VI(ϕ)def= ¬VI(ψ)

b) ϕ es (ψ ∨ η), entonces VI(ϕ)def= VI(ψ) ∨ VI(η).

c) ϕ es (ψ ∧ η), entonces VI(ϕ)def= VI(ψ) ∧ VI(η).

d) ϕ es (ψ ⇒ η), entonces VI(ϕ)def= VI(ψ) ⇒ VI(η).

2018 – Departamento de Informatica – Universidad Nacional de San Luis 16

Page 18: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

e) ϕ es (∀x ψ). Como ϕ es un enunciado no tiene variables libres, por lo tanto ψ puede tener a lo sumo a x comovariable libre. Por lo tanto, si consideraramos a cada elemento a ∈ U y evaluamos el enunciado obtenido alsustituir a x por a en ψ (sustituir x por a en ψ se denota por ψ(x/a)), se define VI(ϕ)

def= V si y solo si

VI(ψ(x/a)) = V para todo elemento a ∈ U , en otro caso es VI(ϕ)def= F.

f ) ϕ es (∃x ψ). Como ϕ es un enunciado no tiene variables libres, por lo tanto ψ puede tener a lo sumo a x comovariable libre. Por lo tanto, si consideraramos a cada elemento a ∈ U y evaluamos el enunciado obtenido alsustituir a x por a en ψ (sustituir x por a en ψ se denota por ψ(x/a)), se define VI(ϕ)

def= V si y solo si existe

al menos un elemento a ∈ U tal que VI(ψ(x/a)) = V, en otro caso es VI(ϕ)def= F.

Esto completa la definicion inductiva de VI(ϕ).

Ejemplo:

Sea un lenguaje de primer orden Lσ cuyo vocabulario σ = ⟨{f, g}, {P,Q}, {a}⟩, consta de un sımbolo de funcionunaria f y un sımbolo de funcion binaria g, un sımbolo de predicado unario P y otro binario Q y un sımbolo de constantea. Consideremos la siguiente interpretacion I, cuyo dominio es el conjunto de los numeros naturales con el cero N0 ysiendo la interpretacion del vocabulario no logico:

aI = 0

fI : N0 4−→ N0 , donde fI(x) = x+ 1

gI : N0 × N0 4−→ N0 , donde gI(x, y) = x+ y

PI ⊆ N0 , donde PI = {x/x ∈ N0 ∧ “x es par”}

QI ⊆ N0 × N0 , donde QI = {(x, y)/(x, y) ∈ N20 ∧ “x es mayor que y”}

Por ejemplo, sea el siguiente termino sin variables de Lσ:g(f(a), a)

para interpretarlo en I, deberıamos determinar a que elemento del universo representa y para ello harıamos lo siguiente:

I(g(f(a), a)) = I(f(a)) + I(a)︸ ︷︷ ︸gI(x,y)=x+y

= (I(a) + 1)︸ ︷︷ ︸fI(x)=x+1

+ 0︸︷︷︸aI=0

= ( 0︸︷︷︸aI=0

+1) + 0 = 1 ∈ N0

A continuacion mostramos otros posibles terminos sin variables de Lσ y su correspondiente interpretacion en I:

1. a, donde I(a) es igual a 0 ∈ N0 .

2. f(f(a)), donde I(f(f(a))) es igual a 2 ∈ N0 .

3. g(f(a), f(f(a))), donde I(g(f(a), f(f(a)))) es igual a 3 ∈ N0 .

4. g(g(a, f(a)), f(g(f(a), f(f(a))))), donde I(g(g(a, f(a)), f(g(f(a), f(f(a)))))) es igual a 5 ∈ N0 .

2018 – Departamento de Informatica – Universidad Nacional de San Luis 17

Page 19: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Sea la siguiente formula atomica sin variables libres de Lσ:P (g(f(a), f(a)))

para interpretarla en I; es decir, decidir si es verdadera o falsa, como ya sabemos interpretar los terminos harıamos losiguiente:

VI((P (g(f(a), f(a)))) = V dado que I(g(f(a), f(a))) = I(f(a)) + I(f(a)) = 1 + 1 = 2

y 2 ∈ PI, porque 2 es un numero par.

Las siguientes son formulas atomicas sin variables libres y sus correspondientes valores para VI:

1. P (f(f(f(a)))) donde VI(P (f(f(f(a)))) = F, porque I(f(f(f(a)))) = 3 no es un numero par; es decir 3 /∈ PI.

2. Q(a, f(a)) donde VI(Q(a, f(a))) = F, porque I(a) = 0 no es mayor que I(f(a)) = 1; ası (0, 1) /∈ QI.

3. Q(g(f(a), a), a) donde VI(Q(g(f(a), a), a)) = V, porque I(g(f(a), a)) = 1 es mayor que I(a) = 0; ası(1, 0) ∈ QI.

Se puede observar que la interpretacion I satisface a las formulas P (g(f(a), f(a))) y Q(g(f(a), a), a), y por consi-guiente decimos que I es un modelo para ambas, y ambas son verdaderas o validas en I. Ası, podrıamos escribir

I |= P (g(f(a), f(a)))

I |= Q(g(f(a), a), a)

Por otra parte, podemos observar que la interpretacion I no satisface a la formulaP (f(f(f(a)))) y por consiguiente Ino es modelo de P (f(f(f(a)))), porqueVI(P (f(f(f(a)))) = F, con lo cual tambien se puede afirmar queP (f(f(f(a)))

no es verdadera ni valida en I. En sımbolos:

I |=/ P (f(f(f(a)))

Veamos ahora un ejemplo de una formula no atomica sin variables libres o enunciado, de Lσ:(Q(g(f(a), a), a) ⇒ P (f(f(a))))

para decidir si es verdadera o falsa en la interpretacion I y como ya sabemos interpretar los terminos y las formulasatomicas, harıamos lo siguiente:

VI(Q(g(f(a), a), a) ⇒ P (f(f(a)))) = V

dado que ya vimos que VI(Q(g(f(a), a), a)) = V y VI(P (f(f(a)))) = V y sabemos que V ⇒ V = V

Otros ejemplos de enunciados mas complejos en Lσ y su correspondiente interpretacion en I serıan los siguientes:

1. (∀x P (x)), donde VI((∀x P (x))) = F. Para ser verdadero, tomando como x cualquier elemento a del universo(en este caso N0 ) deberıa ser VI(P (x/a)) = V; pero podemos exhibir que 1 ∈ N0 y 1 /∈ PI y por lo tantoVI(P (x/1)) = F.

2018 – Departamento de Informatica – Universidad Nacional de San Luis 18

Page 20: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

2. (∀x (¬P (x) ⇒ P (f(x)))) donde VI((∀x (¬P (x) ⇒ P (f(x)))) = V. La unica manera de que fuera falso serıa quepara algun a ∈ N0 , siendo VI(¬P (x/a)) = V, fuera VI(P (f(x/a))) = F; pero si VI(¬P (x/a)) = V significa quea no es un numero par, pero f(a) si lo serıa y por consiguiente en ese caso deberıa tambien ser VI(P (f(x/a))) = V.

3. (∃x (P (x)∧Q(f(x), x))), donde VI((∃x (P (x)∧Q(f(x), x)))) = V. Es claro que existe, por ejemplo, el elemento2 ∈ N0 tal que VI((P (x/2) ∧ Q(f(x/2), x/2))) = V, ya que VI(P (x/2)) = V y VI(Q(f(x/2), x/2)) = V,porque 2 ∈ PI y (3, 2) ∈ QI.

4. (∀x (P (x)∨P (f(x)))), donde VI((∀x (P (x)∨P (f(x)))) = V. Para que fuera falso deberıa existir un a ∈ N0 talque VI((P (x/a)∨P (f(x/a)))) = F, pero en ese caso deberıan ser VI(P (x/a)) = F y tambien VI(P (f(x/a))) =

F y eso significarıa que a es impar y su sucesor tambien, lo cual es absurdo en N0 .

Observamos que la interpretacion I satisface a las formulas (Q(g(f(a), a), a) ⇒ P (f(f(a)))),(∀x (¬P (x) ⇒ P (f(x)))), (∃x (P (x) ∧ Q(f(x), x))) y (∀x (P (x) ∨ P (f(x)))), y por consiguiente decimos que Ies un modelo para todas ellas, y todas son verdaderas o validas en I. Ası, podrıamos escribir

I |= (Q(g(f(a), a), a) ⇒ P (f(f(a))))

I |= (∀x (¬P (x) ⇒ P (f(x))))

I |= (∃x (P (x) ∧Q(f(x), x)))

I |= (∀x (P (x) ∨ P (f(x))))

Por otra parte, tambien podemos afirmar que la interpretacion I no satisface a la formula (∀x P (x)), porqueVI((∀x P (x))) = F. Por lo tanto podemos decir que I no es un modelo para ella, y que (∀x P (x)) no es verdade-ra ni valida en I. Ası, podrıamos escribir:

I |=/ (∀x P (x))

Para analizar si alguno de los enunciados anteriores es universalmente valido o universalmente verdadero de-berıamos ver si son verdaderos o validos para cualquier interpretacion I. Por ejemplo, si interpretamos a la constantea como el valor 1, manteniendo la interpretacion de todos los demas sımbolos del vocabulario σ, podemos ver queVI(Q(g(f(a), a), a) ⇒ P (f(f(a)))) = F y entonces el enunciado no es universalmente valido o universalmente ver-dadero, porque hemos podido mostrar una interpretacion en la que el enunciado no se satisface. Queda como ejercicioanalizar que los demas enunciados no son universalmente validos o universalmente verdaderos (sugerencia: para cadauno de ellos encuentre una interpretacion en que se haga falso).

Si el universo de una interpretacion es infinito, para calcular el valor de verdad de un enunciado se deben verificaralgunas veces en infinitos elementos. Esto marca una diferencia fundamental con la Logica Proposicional, en dondeexisten un numero finito de posibles interpretaciones, porque cada variable proposicional solo puede tomar dos valoresposibles y el conjunto de variables proposicionales que pueden participar de una formula es finito.

2018 – Departamento de Informatica – Universidad Nacional de San Luis 19

Page 21: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

4.2. Interpretacion de Formulas

No es posible evaluar el valor de verdad de una formula con variables libres, sin antes asociar un valor posible deluniverso a cada una de las variables libres que en ella aparecen. El procedimiento para encontrar el valor de verdad dela formula ϕ en una interpretacion I dada es similar al que se realiza para los enunciados. Una vez que se han fijadolos valores de cada una de las variables libres (tal como si hubiesen sido constantes del lenguaje), se siguen los pasosindicados en: Casos a considerar para evaluar VI(ϕ).

Por ejemplo, si queremos determinar el valor de verdad de una formula como por ejemplo (∀x (P (x, y)) que tiene ay como variable libre, no estamos en condiciones de hacerlo con lo visto hasta ahora, porque no sabemos que valor deldominio U interpreta la variable y.

Entonces, necesitamos definir una funcion de valuacion o asignacion β que asigne a cada variable libre un valorperteneciente al dominio de la estructura, es decir que para cada xi se defina β(xi) = a ∈ U . Ası, para esta interpretacionβ cada variable libre tendra un valor bien definido y entonces se puede interpretar cada termino y de allı cada formulade Lσ . Formalmente si, como mencionamos en la Seccion 3, denotamos al conjunto de variables de Lσ con V ar, o seaV ar = {x1 , x2 , . . . , xn, . . .}, dada una σ–estructura A se define la asignacion β como sigue.

Definicion:Dada una σ–estructura A con dominio U y siendo V ar = {x1 , x2 , . . . , xn, . . .} el conjunto de variables deun lenguaje de primer orden Lσ , se define una funcion de valuacion o asignacion β como una funcion tal que:

β : V ar −→ U

β(xi) = a, con xi ∈ V ar y a ∈ U

Cada asignacion β determina un unico valor de verdad para cada formula ϕ de Lσ

Por ejemplo, si ahora queremos averiguar el valor de verdad de la formula (∀x (P (x, y)), podremos hacerlo si cono-cemos β(y).

Ası, para poder interpretar las formulas, no solo los enunciados, de Lσ necesitamos definir una interpretacion. Sea elvocabulario σ = ⟨F ,P , C⟩ y A una estructura adecuada para σ 1. Una interpretacion I del vocabulario σ, se define comoun par que especifica una σ–estructura A una funcion de asignacion β, en sımbolos I = (A,β).

Entonces, para determinar el valor de verdad de una formula de Lσ , se debe sustituir cada una de las variables librespor el valor que le asigna β, es decir se reemplaza cada variable libre por un elemento del universoU , tal como si fuera unaconstante del lenguaje, Luego, como ya no quedarıan variables libres (la formula quedo transformada en un enunciado), sesiguen los pasos indicados en: Casos a considerar para evaluar VI(ϕ) para determinar su valor de verdad. Dependiendodel valor de verdad que tome la formula se puede clasificar como: satisfacible, insatisfacible, valida o universalmentevalida.

Definicion: Una formula ϕ de un lenguaje de primer orden Lσ es satisfacible si y solo si existe una interpretacionI = (A,β), o sea una estructura adecuada A y una funcion de asignacion β, tal que VI(ϕ) = V.

1Recordar que una estructura adecuada A = (U,α) consta de un universo U y una funcion α que hace corresponder a cada sımbolo de constante delvocabulario un elemento de U , a cada sımbolo de funcion k-aria del vocabulario σ una funcion k-aria total y cerrada definida sobre U y a cada sımbolode relacion m-aria del vocabulario una relacion m-aria definida sobre U .

2018 – Departamento de Informatica – Universidad Nacional de San Luis 20

Page 22: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Diremos tambien en ese caso, que una interpretacion I = (A,β) satisface a ϕ, o que I es un modelo de ϕ, siVI(ϕ) = V. En sımbolos: I |= ϕ, o lo que es lo mismo A |=β ϕ.

Ademas cuando una interpretacion I hace verdaderas a todas las formulas de un conjunto Φ, se dice que es un modelopara ese conjunto de formulas, en sımbolos I |= Φ.

El concepto de consecuencia logica del Calculo de Predicados es similar al del Calculo Proposicional, solo que sedeben tener en cuenta todas las posibles interpretaciones I = (A,β), es decir:

ϕ ∈ Cons(Φ) si y solo si Φ ∪ {¬ϕ} es insatisfacible.

o equivalentemente:

ϕ ∈ Cons(Φ) si y solo si para toda interpretacion I tal que I |= Φ se cumple que I |= ϕ, es decir I |= Φ ∪ {ϕ}.

Definicion:Una formula ϕ de un lenguaje de primer orden Lσ es valida o verdadera en una σ–estructura A si y solo sicualquiera sea la funcion de asignacion β, se cumple que V(A,β)(ϕ) = V.

En sımbolos: A |= ϕ.

Definicion:Una formula ϕ de un lenguaje de primer orden Lσ es universalmente valida o universalmente verdadera sicualquiera sea la σ–estructura A para Lσ , se cumple que A |= ϕ. En sımbolos, podemos escribir que |= ϕ para indicarque es universalmente valida, ya que que es valida en cualquier interpretacion I.

Ahora tambien podemos decir que el concepto de universalmente verdadera o valida es analogo al de tautologıa en elCalculo Proposicional. Todas las formulas de la “forma” de una tautologıa del Calculo Proposicional son universalmentevalidas o verdaderas.

Corolario:Si ϕ es un enunciado, o sea una formula sin variables libres, entonces en cada estructura adecuadaA se cumpleque: A |= ϕ o A |= ¬ϕ.

Se dice que dos formulas ϕ y ψ son equivalentes para una σ–estructura A si V(A,β)(ϕ) = V(A,β)(ψ) para cualquiervaluacion β.

Se dice que dos formulas ϕ y ψ son equivalentes si para toda interpretacion I (es decir para cualquier σ–estructura ycualquier valuacion β) se tiene que VI(ϕ) = VI(ψ).

Ejemplo:

Sea un lenguaje de primer orden Lσ cuyo vocabulario σ = ⟨f, g, P,Q, a⟩, consta de un sımbolo de funcion unariaf y un sımbolo de funcion binaria g, un sımbolo de predicado unario P y otro binario Q y un sımbolo de constante a.Consideremos la siguiente σ-estructura A, cuyo dominio es el conjunto de los numeros naturales N0 y la interpretaciondel vocabulario no logico α es:

2018 – Departamento de Informatica – Universidad Nacional de San Luis 21

Page 23: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

aI = 0

fI : N0 4−→ N0 , donde fI(x) = x+ 1

gI : N0 × N0 4−→ N0 , donde gI(x, y) = x+ y

PI ⊆ N0 , donde PI = {x/x ∈ N0 ∧ “x es par”}

QI ⊆ N0 × N0 , donde QI = {(x, y)/(x, y) ∈ N20 ∧ “x es mayor que y”}

Por ejemplo, sea el siguiente termino de Lσ:g(f(x), y)

para interpretarlo en I harıamos lo siguiente:

I(g(f(x), y)) = I(f(x)) + I(y)︸ ︷︷ ︸gI(x,y)=x+y

= (I(x) + 1)︸ ︷︷ ︸fI(x)=x+1

+ β(y)︸︷︷︸I(x)=β(x)

= ( β(x)︸︷︷︸I(x)=β(x)

+1) + β(y)

pero no podemos decir que valor del universo representa este termino a menos que definamos la funcion de asignacionβ en I. Si consideramos que β(x) = 2 y que β(y) = 5, el termino anterior representarıa al valor 8 ∈ N0 . Si en cambioconsideramos que β(x) = 10 y β(y) = 10000, este termino representarıa a 10011 ∈ N0 .

A continuacion mostramos otros posibles terminos de Lσ y su correspondiente interpretacion en I:

1. a, donde I(a) es igual a 0 ∈ N0 .

2. f(f(x)), donde I(f(f(x))) es igual a β(x) + 2 y si β(x) = 4, representa al 6 ∈ N0 .

3. g(f(x), f(f(x))), donde I(g(f(x), f(f(x)))) es igual a (β(x)+1)+(β(x)+2), y si β(x) = 3 entonces el terminorepresenta a 9 ∈ N0 .

4. g(g(a, f(x)), f(g(f(x), f(f(y))))), donde I(g(g(a, f(x)), f(g(f(x), f(f(y)))))) es igual a(0 + β(x)) + (((β(x) + 1) + (β(y) + 2)) + 1) y si consideramos a β(x) = 2 y β(y) = 5, el termino repre-sentarıa a 13 ∈ N0 .

Sea la siguiente formula atomica de Lσ:P (g(f(a), f(x)))

para interpretarla en I; es decir, decidir si es verdadera o falsa, deberıamos decidir si I(f(a)) + I(f(x) = (I(a) + 1) +

(I(x)+ 1) = (0+ 1)+ (β(x)+ 1) ∈ PI, pero para poder hacerlo necesitamos conocer la asignacion β. Si consideramosuna asignacion β tal que β(x) = 2, tendrıamos que es cierto que (0 + 1) + (β(x) + 1) = 4 ∈ PI. En cambio siconsideramos otra asignacion β ′ tal que β′(x) = 5, tendrıamos que (0 + 1) + (β′(x) + 1) = 7 /∈ PI. Entonces podemosdecir que:

V(A,β)(P (g(f(a), f(x)))) = V o lo que es lo mismo que I = (A,β) |= P (g(f(a), f(x)))

V(A,β′)(P (g(f(a), f(x)))) = F o lo que es lo mismo que I = (A,β ′) |=/P (g(f(a), f(x)))

2018 – Departamento de Informatica – Universidad Nacional de San Luis 22

Page 24: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

Se puede ver que en realidad cualquier asignacion β que a x le asigne un numero par hara verdadera a la formula.

Las siguientes son formulas atomicas y sus correspondientes valores para VI = V(A,β), considerando que β(x) = 1

y β(y) = 9:

1. P (f(f(f(x)))) donde VI(P (f(f(f(x)))) = V, porque I(f(f(f(x)))) = β(x)+3 = 4 es un numero par; es decir4 ∈ PI.

2. Q(x, f(y)) donde VI(Q(x, f(y))) = F, porque I(x) = β(x) = 1 no es mayor que I(f(y)) = β(y) + 1 = 10; ası(1, 10) /∈ QI.

3. Q(g(f(x), y), y) donde VI(Q(g(f(x), y), y)) = V, porque I(g(f(x), y)) = (β(x)+1)+β(y) = 11 es mayor queI(y) = β(y) = 9; ası (11, 9) ∈ QI.

En particular podemos decir que I = (A,β) no satisface a Q(x, f(y)). En sımbolos: I = (A,β) |=/ Q(x, f(y)).Entonces podemos afirmar que ella no es valida o verdadera, porque existe β tal que V(A,β)(Q(x, f(y))) = F.

Se puede observar tambien que la interpretacionI = (A,β) satisface a las formulasP (f(f(f(x)))) y Q(g(f(x), y), y),y por consiguiente decimos que I es un modelo para ambas y podemos denotar como:

I = (A,β) |= P (f(f(f(x)))

I = (A,β) |= Q(g(f(x), y), y)

Analogamente, si suponemos que β hace corresponder a la variable x el primer valor y a la variable y el segundo,podemos escribir:

A |= P (f(f(f(x))) [1, 9]

A |= Q(g(f(x), y), y) [1, 9]

Para decir que las formulas P (f(f(f(x)))) y Q(g(f(x), y), y) son verdaderas o validas deberıamos demostrar quecada una de las posibles interpretaciones usando la σ-estructura A y cualquier asignacion β, satisfacen a las formulas. Porejemplo, podemos exhibir la siguiente asignacion β′ tal que β′(x) = 2 y β′(y) = 2 y podemos decir que:

V(A,β′)(P (f(f(f(x))))) = F

por lo cual queda demostrado que P (f(f(f(x)))) no es valida o verdadera en A.

Si ahora analizamos la formula Q(g(f(x), y), y) y sabiendo que el universo son los N, podemos ver que para A y paratoda asignacion β se satisfarıa porque “si a un numero y le sumamos otro, que siempre sera mayor que 1, el resultado seramayor que y”. Ası, Q(g(f(x), y), y) es verdadera o valida y lo denotamos como:

A |= Q(g(f(x), y), y)

Queda como ejercicio demostrar que esto es cierto en A (sugerencia: utilice el metodo de demostracion por reduccional absurdo).

Para ver si Q(g(f(x), y), y) es universalmente valida o universalmente verdadera habrıa que considerar toda po-sible σ-estructura con toda posible asignacion β. Queda como ejercicio demostrar que Q(g(f(x), y), y) no es univer-salmente valida (sugerencia: busque una σ-estructura en que α interprete de distinta manera a los sımbolos de funcion

2018 – Departamento de Informatica – Universidad Nacional de San Luis 23

Page 25: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

y de predicado de σ). Existe un metodo, llamado Arboles de Refutacion para el Calculo de Predicados, que brinda otraherramienta para demostrar si una formula es o no universalmente valida o universalmente verdadera (este metodo nose cubre en esta asignatura).

Veamos ahora un ejemplo de una formula, de Lσ:(Q(g(f(x), y), y) ⇒ P (f(f(x))))

para decidir si es verdadera o falsa, debemos dar la funcion de asignacion. Supongamos que β(x) = 4 y β(y) = 6. Comoya sabemos interpretar los terminos y las formulas atomicas, harıamos lo siguiente:

V(A,β)(Q(g(f(x), y), y) ⇒ P (f(f(y)))) = V

dado que V(A,β)(Q(g(f(x), y), y)) = V y VI(P (f(f(x)))) = V y sabemos que V ⇒ V = V

Otros ejemplos de formulas en Lσ y su correspondiente interpretacion en I, suponiendo tambien β(x) = 4 y β(y) = 6,serıan los siguientes:

1. ((∀x P (x)) ∨ Q(y, x)), dondeV(A,β)((∀x P (x)) ∨ Q(y, x))) = V, porque V(A,β)((∀x P (x))) = F, ya que notodo numero en N es par, independientemente de β y V(A,β)(Q(y, x)) = V, dado que β(y) es mayor que β(x)((6, 4) ∈ QI). Ası V(A,β)(((∀x P (x)) ∨Q(x, y))) = V porque sabemos que F ∨ V = V. Es claro que no podemoshacer uso de β para evaluar la formula a la izquierda del conectivo ∨ porque se usa la asignacion solo cuando lasvariables aparecen libres y x en dicha formula aparece ligada por el cuantificador ∀.

2. (¬P (x) ⇒ P (f(x))) donde V(A,β)((¬P (x) ⇒ P (f(x)))) = V, porque V(A,β)(¬P (x)) = F y sabemos que sinimportar el valor de V(A,β)(P (f(x)))) el condicional sera verdadero.

3. (∃x (P (x)∧Q(f(x), y))), donde V(A,β)((∃x (P (x)∧Q(f(x), y)))) = V. Existe, por ejemplo, el elemento 6 ∈ N0

tal que V(A,β)((P (x/6)∧Q(f(x/6), y))) = V, ya que V(A,β)(P (x/6)) = V y V(A,β)(Q(f(x/6), y)) = V, porque6 ∈ PI y (6 + 1) = 7 es mayor que β(y) = 6, ası (7, 6) ∈ QI. Cabe destacar que hacemos uso del valor de β(y)para decidir sobre la verdad de la formula dado que y es la unica variable que aparece libre (x esta ligada por elcuantificador ∃).

Observamos que la interpretacion I = (A,β) satisface a las formulas (Q(g(f(x), y), y) ⇒ P (f(f(x)))),((∀x P (x)) ∨ Q(y, x)), (¬P (x) ⇒ P (f(x))) y (∃x (P (x) ∧ Q(f(x), y))), por consiguiente decimos que I es unmodelo para todas ellas. Ası, podrıamos escribir:

I |= (Q(g(f(x), y), y) ⇒ P (f(f(x))))

I |= ((∀x P (x)) ∨Q(y, x))

I |= (¬P (x) ⇒ P (f(x)))

I |= (∃x (P (x) ∧Q(f(x), y)))

o equivalentemente:

A |= (Q(g(f(x), y), y) ⇒ P (f(f(x)))) [4, 6]

A |= ((∀x P (x)) ∨Q(y, x)) [4, 6]

A |= (¬P (x) ⇒ P (f(x))) [4, 6]

A |= (∃x (P (x) ∧Q(f(x), y))) [4, 6]

2018 – Departamento de Informatica – Universidad Nacional de San Luis 24

Page 26: Logica – Parte II´ - Departamento de Informática

Logica: Parte II

La formula (¬P (x) ⇒ P (f(x))) es verdadera o valida en A, porque cualquiera sea el valor que β le asigne a x elcondicional sera siempre verdadero, lo cual lo denotamos como:

A |= (¬P (x) ⇒ P (f(x)))

Queda como ejercicio analizar si las formulas (Q(g(f(x), y), y) ⇒ P (f(f(x)))), ((∀x P (x))∨Q(y, x)) y (∃x (P (x)∧Q(f(x), y))) son validas o verdaderas en A.

Para analizar si (¬P (x) ⇒ P (f(x))) es universalmente verdadera o universalmente valida, deberıamos ver quesiempre serıa verdadera independientemente de la σ-estructura considerada y de la asignacion β. Se puede ver que en estecaso si f se interpretara como f(x) = x + 2 (manteniendo la misma interpretacion para todos los demas sımbolos delvocabulario), la formula no serıa verdadera para cualquier asignacion β usada (considere, por ejemplo, que β(x) = 5).

Queda como ejercicio analizar si las formulas (Q(g(f(x), y), y) ⇒ P (f(f(x)))), ((∀x P (x))∨Q(y, x)) y (∃x (P (x)∧Q(f(x), y))) son universalmente validas o universalmente verdaderas.

Observacion:

La diferencia que existe al interpretar enunciados o interpretar formulas es que:

Para interpretar enunciados, es decir formulas sin variables libres, solo necesitamos conocer la σ-estructura y enese caso usamos indistintamente la interpretacion I o la σ-estructura A (porque no es necesaria la asignacion β).

Para interpretar formulas, que tienen variables libres, necesitamos conocer no solo la σ-estructura sino tambien laasignacion β a usar. En ese caso no podemos usar indistintamente la interpretacion I o la σ-estructura A, porquela interpretacion consta de la σ-estructura A y de β (es necesaria la asignacion β para poder interpretar en U a lasvariables libres).

2018 – Departamento de Informatica – Universidad Nacional de San Luis 25