L´
ogica Computacional 2014-2, nota de clase 6
Sem´
antica de la L´
ogica de Primer Orden
Favio Ezequiel Miranda Perea Araceli Liliana Reyes Cabello Lourdes Del Carmen Gonz´alez Huesca
14 de marzo de 2014
Ya que hemos estudiado con detalle la sintaxis de los lenguajes de primer orden pasamos a estu-diar su sem´antica, la cual es m´as complicada que en el caso de la l´ogica de proposiciones debido a la expresividad de la l´ogica debido a la presencia de objetos de dos categor´ıas ajenas pero intimamente relacionadas, a saber la categor´ıa de individuos representada sint´acticamente por los t´erminos y la categoria de propiedades o relaciones entre individuos, representada por los predicados. M´as a´un la verdad de una f´ormula en la l´ogica de primer orden no queda fija al determinar una interpretaci´on para el lenguaje como en el caso de las proposiciones, sino que depende de los valores de los t´erminos los cuales a su vez dependen del universo de discurso en cuesti´on. Dicho universo ser´a un conjunto no vac´ıo, al que tendremos que referirnos para dar significado a las f´ormulas. Finalmente observamos que una f´ormula de la l´ogica de primer orden no es necesariamente falsa o verdadera en un mundo dado, contrario a lo que sucedia en la l´ogica de proposiciones. En particular el hecho de que una f´ormula no sea verdadera no implica que sea falsa en general.
Antes de pasar al estudio de la sem´antica formal veremos algunos ejemplos de de manera informal con n´umeros naturales naturales y gr´aficas.
1.
Sem´
antica Informal para
N
Consid´erese el lenguaje L={P, f, g, a, b, c, d} y el universoN de los n´umeros naturales, con el
siguiente significado (interpretaci´on) de los s´ımbolos:
P =def < f =def + g=def · a=def 2 b=def 3 c=def 5 d=def 0
Es decirP simboliza a la relaci´on de orden<,f a la funci´on suma,ga la funci´on producto ya, b, c, d
son constantes que simbolizan a los n´umeros 2,3,5,0 respectivamente.
¿Cuando una f´ormula del lenguaje dado es verdadera enN? veamos algunos ejemplos:
1. P(b, c) significa
3<5
2. P(f(a, a), b) significa
2 + 2<3
lo cual es falso en N.
3. ∀x∃yP(x, y) lo cual significa1
∀∀x∈N∃∃y∈N(x < y)
que es verdadero enN.
4. ∃y∀xP(x, y) significa
∃∃y∈N∀∀x∈N(x < y)
que es falso enN.
5. ∀x∃yP(y, x) significa
∀∀x∈N∃∃y ∈N(y < x)
que es falso enN.
6. ∀x x6=d→ ∃yP(y, x)
significa
∀∀x∈N x6= 0⇒ ∃∃y∈N(y < x)
que es verdadero enN.
7. ∀x P(d, x)→ ∃y(g(y, y) =x)
significa
∀∀x∈N 0< x⇒ ∃∃y∈N(y·y=x)
que es falso enN.
8. ∀x∃y g(g(y, y), y) =x
significa
∀∀x∈N∃∃y∈N (y·y)·y =x
que es falso enN.
9. ∀x∀y P(x, y)→ ∃z(P(x, z)∧P(z, y))
significa
∀∀x∈N∀∀y∈N x < y ⇒ ∃∃z∈N(x < z&z < y)
que es falso enN.
Podemos observar que en cada una de las f´ormulas anteriores fue posible decidir si la f´ormula es falsa o verdadera, ¿Qu´e otra cosa tienen en com´un todas las f´ormulas anteriores?
Consid´erese ahora la f´ormulaP(x, y) ¿Es esta f´ormula verdadera o falsa enN?, Con la
informa-ci´on dada hasta ahora resulta imposible saberlo puesto que no conocemos de antemano el valor de las variables libres x, y. De hecho la f´ormula puede tomar un valor de verdad distinto dependiendo del estado de las variables x, y. Por ejemplo:
1
En el estado{x7→2, y7→6} entoncesP(x, y) significa 2<6 lo cual es verdadero en N.
En el estado{x7→8, y7→3} entoncesP(x, y) significa 8<3 lo cual es falso enN.
De lo anterior se concluye que una f´ormula con variables libres NO puede calificarse como verdadera o falsa en general sino que su valor depende del valor particular que tomen las variables libres, estas f´ormulas reciben una noci´on m´as debil de verdad llamada satisfacibilidad. La f´ormula ser´a satisfacible si algunos valores de sus variables libres la satisfacen, en cuyo caso se dice que la f´ormula es satisfacible en o con los valores dados. Si en ciertos valores dados la evaluaci´on resultante es falsa, decimos que la f´ormula es no satisfacible o insatisfacible en o con los valores dados.
En el ejemplo anterior se tiene queP(x, y) es satisfacible, en particular es satisfacible en el estado {x7→2, y 7→6}y en el estado{x7→45, y 7→67}pero no es satisfacible en el estado{x7→8, y7→3} ni en el estado{x7→77, y7→23}.
Veamos otros ejemplos:
1. Sea D(x, y) =def ∃z(g(x, z) =y). Est´a f´ormula significa que
∃∃z∈N(x·z=y)
es decir, x divide ay o x|y en s´ımbolos usuales de la teor´ıa de n´umeros.
Es claro que D(x, y) es satisfacible en el estado {x7→n, y7→m} si y s´olo si n|m.
2. La propiedad“x es par”,∃∃y∈N(2·y =x), est´a definida por la f´ormula
E(x) =def ∃y(g(a, y) =x)
que es satisfacible en cualquier estado {x 7→2n} e insatisfacible para cualquier estado {x7→ 2n+ 1} conn∈N.
3. La relaci´on “x es primo” se define con la f´ormula
P r(x) =def P(e, x)∧ ∀y D(y, x)→y =e∨y=x)
donde la constante e representa al 1 y D(y, x) define la relaci´on y|x. La f´ormula P r(a) es cerrada por lo tanto podemos decidir su valor de verdad: dado que asignifica 2 que es primo, entonces P r(a) es verdadera. Por otro lado P r(x) es insatisfacible para el estado {x7→ 9} y satisfacible en el estado {x7→19}.
2.
Sem´
antica Informal para Gr´
aficas
Recordemos que una gr´afica finita (grafo) consiste de un conjunto finito no vac´ıoV de v´ertices y un conjunto de aristasE cuyos elementos son parejas de v´erticesuv=vusi la gr´afica es no dirigida ohu, vi 6=hv.uisi la gr´afica es dirigida. Para representar gr´aficas podemos usar el siguiente lenguaje L={R(2)} que consta de un s´olo s´ımbolo de predicado binario.
Sean
G1 = D
a, b, c, d ,ha, ai,ha, di,hd, bi,hd, ci,hb, bi,hb, ci,hc, bi E
G2 =D
1,2,3,4,5 ,
12,23,45,52,53 E
G1 representa a una gr´afica dirigida y G2 a una gr´afica no dirigida, ambas con cinco v´ertices. Como ayuda el lector puede dibujar las gr´aficas representadas por las interpretaciones dadas.
Analicemos la verdad de los siguientes enunciados en ambas gr´aficas:
1. ∀xR(x, x). La relaci´on de adyacencia es reflexiva. Falso paraG1,G2
2. ∀x¬R(x, x) La relaci´on de adyacencia es antirreflexiva. Falso para G1, verdadero para G2.
3. ∀x∀y R(x, y) → R(y, x)
. La relaci´on de adyacencia es sim´etrica. Falso para G1, verdadero
para G2.
4. ∃x∃yR(x, y). La gr´afica no es discreta, es decir, hay una arista. Verdadero para G1,G2.
5. ∀x∀yR(x, y). Cualesquiera dos v´ertices son adyacentes, es decir, la gr´afica es completa. Falso para G1,G2.
6. ∀x∃yR(x, y). No hay v´ertices aislados. Verdadero para G1,G2.
7. ∃y∀xR(x, y). Hay un v´ertice adyacente a todos. Falso para G1,G2.
8. ∃x∃y(R(x, y)∧R(y, x)) Hay v´ertices incidentes en ambas direcciones. Verdadero para G1,G2.
9. ∃x∃y∃z(R(x, y)∧R(x, z)) Hay un v´ertice incidente con al menos otro v´ertice (puesto que la f´ormula no dice que y yz sean distintos). Es decir, hay un v´ertice cuyo grado es al menos 1. Verdadero para G1,G2.
10. ∃x∃y∃z(y 6= z∧R(x, y)∧R(x, z)). Hay un v´ertice x adyacente a v´ertices distintos y, z. Es decir, hay un v´ertice cuyo grado es al menos dos. Verdadero paraG1,G2.
11. ∃x∃y∃z(R(x, y)∧R(y, z)∧R(z, x)). Hay v´erticesx, y, z tales que las aristas (x, y),(y, z),(z, x) est´an presentes. Verdadero para G1,G2.
Veamos algunos ejemplos de satisfacibilidad con las siguientes f´ormulas:
1. R(x, y). x es adyacente ay. Satisfacible enG1 en el estado{x, y7→ a, d}. Insatisfacible en G2 en el estado{x, y7→1,5}.
2. R(x, y)∧R(x, z). x es adyacente a y y a z. Satisfacible en G1 con {x, y, z 7→ d, b, c} y con {x, y, z 7→a, a, d}. Satisfacible enG2 con{x, y, z 7→2,1,3}. Insatisfacible enG2 con{x, y, z7→
4,5,3}.
3. R(x, y)→R(y, x). Six es adyacente ay entoncesy es adyacente ax. Insatisfacible enG1 con
{x, y 7→ d, c}. Satisfacible en G1 con {x, y 7→ b, c}. Satisfacible en G2 con cualquier valor de
4. R(x, y) → ¬R(y, x). Si x es adyacente a y entoncesy no es adyacente a x. Satisfacible en G2 con{x, y7→3,3}. Satisfacible en G1 con{x, y7→d, c}. Insatisfacible enG1 con{x, y7→b, c}.
5. R(x, y)∧R(y, z)∧x6=y∧y6=z∧x6=z.x, y, zson distintos yxes adyacente ayque es adyacente a z. Satisfacible en G1 con{x, y, z 7→a, d, c}. Insatisfacible enG2 con{x, y, z 7→1,5,4}.
3.
Sem´
antica Formal
Ya que hemos visto ejemplos en naturales y gr´aficas acerca de la verdad y la satisfacibilidad de una f´ormula pasamos a las definiciones formales.
Definici´on 1 Sea L = P ∪ F ∪ C un lenguaje de primer orden. Una estructura o interpretaci´on para L es un par M = hM,Ii donde M 6= ∅ es un conjunto no vac´ıo llamado el universo de la estructura e I es una funci´on con dominio L tal que:
Si P(n)∈ P entoncesI(P) es una relaci´on de m-argumentos sobre M, es decir I(P)⊆Mn.
Si f(n) ∈ F entonces I(f) es una funci´on con dominio Mn y contradominio M, es decir, I(f) :Mn→M.
Si c∈ C entoncesI(c) es un elemento de M, es decir I(c)∈M.
Si M = hM,Ii es una interpretaci´on para L tambi´en decimos que M es una L-interpretaci´on o L-estructura.
Dada una interpretaci´on M=hM,Ii la siguiente notaci´on ser´a de utilidad:
|M| =def M
PI =def I(P)
fI =def I(f)
cI =def I(c)
3.1. Implementaci´on
Una interpretaci´on M=hM,Ii se implementa como sigue:
El universoM se implementar´a como una lista de un tipo dado, digamosm::[a]. por ejemplo,
• M ={1,2,3} se implementa comom =[1,2,3] • M =Nse implementa como m=[0,1,2,..]
Se observa que esto restringe los universos en la implementaci´on a listas posiblemente infinitas, esto es natural puesto que en un lenguaje de programaci´on como Haskell s´olo es posible
manejar universos discretos para verificar la validez de un cuantificador universal.
Las relaciones R ⊆Mn se implementar´an como funciones caracter´ısticas para listas. El tipo es [a] ->Bool. La idea es que siR ⊆Mn y (a1, . . . , an)∈RI yr implementa a R entonces
Las funciones f : Mn− > M se implementar´an como funciones de listas a individuos. El tipo es [a] ->a. La idea es que si f implementa a f entonces f(a1, . . . , an) corresponde a
f[a1, . . . ,an].
Los s´ımbolos del lenguajes se implementar´an asociando a sus nombres una relaci´on o funci´on de acuerdo a las implementaciones recien fijadas.
I(f) ser´a una funci´on de tipo [a] ->a, por lo que definimos el tipo de interpretaciones para s´ımbolos de funci´on como:
type IntF a = Nombre ->[a] ->a
I(R) ser´a una funci´on de tipo [a] ->Bool, por lo que definimos el tipo de interpretaciones para s´ımbolos de funci´on como:
type IntR a = Nombre ->[a] ->Bool
4.
Interpretaci´
on de t´
erminos
Las siguientes definiciones dependen todas de una L-interpretaci´on arbitraria pero fija M = hM,Ii.
Definici´on 2 (Estado o Asignaci´on) Un estado, asignaci´on o valuaci´on de las variables es una funci´onσ :Var→M.
Definici´on 3 (Estado modificado o actualizado) Sea σ :Var→M un estado de las variables. Dadas las variables x1, . . . , xn y los elementos del universo m1, . . . , mn ∈ M definimos el estado modificado o actualizado enx1, . . . , xnporm1, . . . , mndenotadoσ[x1, . . . , xn/m1, . . . , mn]oσ[~x/ ~m]
como sigue:
σ[~x/ ~m](y) =
σ(y) siy /∈ {x1, . . . , xn}
mi siy=xi 1≤i≤n
Obs´ervese que σ[~x/ ~m ] es un estado que difiere de σ ´unicamente en los valores de ~x y que la expresi´on σ[~x/ ~m ] es s´olo el nombre del estado, la aplicaci´on a una variable es σ[~x/ ~m ](y). Como puede observarse esta notaci´on recuerda a una sustituci´on, esto no es coincidencia, sino que los dos conceptos est´an fuertemente relacionados como veremos adelante.
Definici´on 4 (Interpretaci´on de T´erminos) Seaσun estado de las variables. Definimos la fun-ci´on de interpretaci´on o significado de los t´erminos con respecto aσ,Iσ :TERM→ |M|como sigue:
Iσ(x) = σ(x)
Iσ(c) = I(c)
Iσ f(t1, . . . , tn)
Lema 1 (Lema de coincidencia para t´erminos) Sean t ∈ TERM y σ1, σ2 dos estados de las
variables tales que σ1(x) =σ2(x) para toda variable x que figura en t. Entonces Iσ1(t) =Iσ2(t).
Demostraci´on. Inducci´on sobre t. Ejercicio a
Veamos ahora la relaci´on entre los estados modificados y las sustituciones. Sup´ongase que ten-emos un t´ermino t que tiene muchas presencias de la variable x y que queremos evaluar t[x := r] en alg´un estado de cierta interpretaci´on, para esto aplicamos la definici´on recursiva y cada vez que encontramos una presencia del subt´erminor ent[x:=r] debemos calcular el valor deren el mismo estado; esta situaci´on es poco pr´actica, pensemos por ejemplo en que r es un t´ermino complicado y que hay muchas presencias de r ent. Una mejor manera de evaluart[x:=r] ser´ıa evaluar r en el estado dado σ, lo cual nos da cierto valorm y evaluar el t´ermino t[x:=r] en el estado modificado
σ[x/m]. El resultado ser´a el mismo, como lo asegura el siguiente
Lema 2 (Lema de sustituci´on para t´erminos) Sean r∈TERM, σ un estado de las variables, [~x:=~t]una sustituci´on y m1, . . . , mn∈M tales que Iσ(ti) =mi 1≤i≤n. Entonces
Iσ r[~x:=~t]
=Iσ[~x/ ~m](r)
Demostraci´on. Inducci´on sobre t. Ejercicio a
4.1. Implementaci´on
La implementaci´on es como sigue:
Estados: el tipo de estados en el universoa es
type Estado a = Nombre ->a
Actualizaci´on de estados:
actEst :: Estado a ->Nombre ->a ->Estado a
especificada por
actEstσ “x” m = σ[x/m]
Esta funci´on modifica s´olo una variable y puede generalizarse directamente a la modificaci´on de una lista de variables.
Interpretaci´on de t´erminos: la funci´on de interpretaci´onIσ se implementa como
iTerm :: Estado a ->IntF a ->Term ->a
especificada por
iTerm σh t =Iσ(t)
5.
Interpretaci´
on de f´
ormulas
Ya que tenemos definido el proceso para interpretar t´erminos podemos definir la interpretaci´on de las f´ormulas:
Definici´on 5 (Interpretaci´on de F´ormulas) Seaσun estado de las variables. Definimos la fun-ci´on de interpretaci´on o significado de las f´ormulas con respecto a σ, Iσ : FORM → {0,1} como sigue:
Iσ(⊥) = 0
Iσ(>) = 1
Iσ P(t1, . . . , tm)
= 1 si y s´olo si Iσ(t1), . . . ,Iσ(tm)
∈PI
Iσ(t1 =t2) = 1 si y s´olo si Iσ(t1) =Iσ(t2)
Iσ(¬ϕ) = 1 si y s´olo si Iσ(ϕ) = 0
Iσ(ϕ∧ψ) = 1 si y s´olo si Iσ(ϕ) =Iσ(ψ) = 1
Iσ(ϕ∨ψ) = 0 si y s´olo si Iσ(ϕ) =Iσ(ψ) = 0
Iσ(ϕ→ψ) = 0 si y s´olo si Iσ(ϕ) = 1e Iσ(ψ) = 0
Iσ(ϕ↔ψ) = 1 si y s´olo si Iσ(ϕ) =Iσ(ψ)
Iσ(∀xϕ) = 1 si y s´olo si Iσ[x/m](ϕ) = 1 para todom∈M
Iσ(∃xϕ) = 1 si y s´olo si Iσ[x/m](ϕ) = 1 para alg´unm∈M
Esta definici´on es s´olo una forma moderna de la definici´on de satisfacci´on de Tarski de 1936, la cual es base para las sem´anticas denotativas de los lenguajes de programaci´on.
Obs´ervese que todas las definiciones anteriores dependen del lenguajeLy de laL-interpretaci´on particular M. Si en dado caso tuvieramos que trabajar con m´as de una interpretaci´on a la vez debemos indicar cada funci´on de interpretaci´on como IσM dado que Iσ no bastar´ıa para distinguir entre las distintas interpretaciones.
Analogamente al caso de t´erminos se cumplen los lemas de coincidencia y sustituci´on
Lema 3 (Lema de coincidencia para f´ormulas) Sean ϕ una f´ormula y σ1, σ2 dos estados de
las variables tales que σ1(x) =σ2(x) para toda variable x∈F V(ϕ). EntoncesIσ1(ϕ) =Iσ2(ϕ).
El siguiente lema relaciona la noci´on sint´actica de sustituci´on con la noci´on sem´antica de estado modificado
Lema 4 (Lema de sustituci´on para f´ormulas) Sean ϕ∈FORM,σ un estado de las variables, [~x:=~t]una sustituci´on y m1, . . . , mn∈M tales que mi =Iσ(ti) 1≤i≤n. Entonces
Iσ ϕ[~x:=~t]
=Iσ[~x/ ~m](ϕ)
Demostraci´on. Inducci´on sobre ϕ. Ejercicio a
5.1. Implementaci´on
La implementaci´on es como sigue:
Interpretaci´on de f´ormulas: la funci´on de interpretaci´onIσ se implementa como
iForm :: Eq a =>[a] ->Estado a ->IntF a ->IntR a ->Form ->Bool
especificada por
iForm σ h ϕ =Iσ(ϕ)
Obs´ervese que la funci´on h de la implementaci´on juega el papel de la funci´on I en la teor´ıa, es decir, RI se implementa comoh(”R”).
5.2. Verdad
Definici´on 6 (Satisfacibilidad y Verdad) Seanϕuna f´ormula yM=hM,Iiuna interpretaci´on. Entonces
ϕ es satisfacible en Msi existe un estado de las variables σ tal que Iσ(ϕ) = 1, lo cual suele denotarse con M |=ϕ[σ]o con M |=σ ϕ.
ϕ es verdadera enM si para todo estado de las variablesσ se tieneIσ(ϕ) = 1, es decir, si ϕ es satisfacible en M en todos los estados posibles.
En tal caso tambi´en decimos que M es un modelo deϕ lo cual se denotar´a con M |=ϕ.
Las definiciones anteriores aplican tambi´en para conjuntos de f´ormulas, por ejemplo M |= Γ denota el hecho de que Γ tiene un modelo, y M |=σ Γ que todas las f´ormulas de Γ se satisfacen en Men el estadoσ.
5.3. Implementaci´on
Se deja como ejercicio implementar la funci´onsatFormque verifican la satisfacibilidad de una f´ormula en una interpretaci´on dada.
5.4. Falsedad
De acuerdo a lo aprendido en l´ogica proposicional una f´ormulaϕes falsa si y s´olo si su negaci´on es verdadera, por lo que damos la siguiente
Definici´on 7 Sean M= hM,Ii una interpretaci´on y ϕ una f´ormula. Decimos que ϕ es falsa en M si y s´olo si M |=¬ϕ. Es decir ϕ es falsa si y s´olo si su negaci´on ¬ϕ es verdadera.
Con la noci´on de falsedad recien dada hay que tener cuidado. En la l´ogica proposicional las nociones de ser falsa y no ser verdadera coinciden. Si una f´ormula ϕes falsa en una interpretaci´on I entoncesI(ϕ) = 0 lo cual sucede si y s´olo siI(ϕ)6= 1 es decir, si y s´olo siϕno es verdadera enI. Por otro lado, en la l´ogica de predicados tal equivalencia se pierde, puesto que siϕno es verdadera (es decir, si M 6|= ϕ), entonces, de acuerdo a la definici´on de verdad, existe un estado σ tal que M 6|=σ ϕ, es decir Iσ(ϕ) = 0 o bien ϕ es insatisfacible en el estado σ. Por lo tanto una f´ormula no verdadera es aquella tal que es insatisfacible en alg´un estado de sus variables, o bien tal que su negaci´on es satisfacible en alg´un estado de sus variables. Sin embargo, para poder afirmar que
ϕ es falsa, por definici´on tendr´ıamos que mostrar que M |=¬ϕ, es decir que ¬ϕes satisfacible en todos los estados posibles. Por lo tanto la noci´on de falsedad es m´as fuerte que la noci´on de no ser verdadera.
En resumen, si una f´ormula ϕno es verdadera, no tenemos derecho a concluir queϕes falsa.
Ejemplo 5.1 SeanL={P(1)}, M=hN,Ii dondePI es la propiedad “ser par”. Tomense estados
σ, σ0 conσ(x) = 3 y σ0(x) = 8 entoncesM 6|=ϕpuesto queIσ(ϕ) = 0 (3 no es par) y adem´as no se cumple M |=¬ϕpuesto queIσ0(ϕ) = 1 (8 es par).
6.
Propiedades de la noci´
on de verdad
Como ya vimos con el caso de la negaci´on, la relaci´on de verdad en l´ogica de predicados no tiene las mismas propiedades que su contraparte en la l´ogica proposicional, propiedades que s´ı hereda la relaci´on de satisfacibilidad. Esta situaci´on se debe a que la relaci´on de verdad involucra una cuantificaci´on implicita de las variables libres deϕ. Debemos insistir en esto ya que es error com´un aplicar ciertas propiedades de la relaci´on de satisfacibilidad a la relaci´on de verdad lo cual resulta incorrecto, como en el siguiente ejemplo.
Ejemplo 6.1 Sean L ={P(1), Q(1)}, M=hN,Ii dondePI es la propiedad “ser par” y QI es la
propiedad “ser impar”. Entonces M |=P(x)∨Q(x) puesto que cualquier n´umero natural es par o es impar. Sin embargo no se cumple M |= P(x) ni que M |= Q(x). Puesto que el valor de x no puede ser siempre par o siempre impar.
De este ejemplo podemos concluir que si una disyunci´on es verdadera en Mentonces no nece-sariamente lo es alguna de sus componentes. Es decir,M |=ϕ∨ψno implica queM |=ϕoM |=ψ, propiedad que s´ı era v´alida en la l´ogica de proposiciones y sigue siendo v´alida para la noci´on de satisfacibilidad.
Proposici´on 1 Sean Muna L-interpretaci´on y ϕ, ψ f´ormulas. Entonces
Si M |=ϕentonces M 6|=¬ϕ.
Si M |=ϕ→ψ y M |=ϕentonces M |=ψ.
Si M |=ϕentonces M |=ϕ∨ψ.
M |=ϕ∧ψ si y s´olo si M |=ϕ y M |=ψ.
M |=ϕ si y s´olo si M |= ∀ϕ. donde ∀ϕ denota a la cerradura universal de ϕ, es decir a la f´ormula obtenida al cuantificar universalmente todas las variables libres de ϕ.
Demostraci´on. Ejercicio a
La ´ultima propiedad es de gran importancia y nos dice que para mostrar que una f´ormula es verdadera basta mostrar que su cerradura universal lo es, pero obs´ervese que la cerradura universal de una f´ormula es un enunciado y por lo tanto razonar sobre su verdad es m´as simple puesto que los enunciados se comportan de la misma manera que las f´ormulas proposicionales como lo asegura la siguiente
Proposici´on 2 Sean ϕ un enunciado y M=hM,Ii una interpretaci´on. Entonces se cumple una y s´olo una de las siguientes condiciones:
1. M |=ϕ, es decir, ϕes verdadero en M.
2. M |=¬ϕ, es decir, ϕ es falso en M.
Demostraci´on. Esto es consecuencia del lema de coincidencia para f´ormulas. Sea σ un estado
cualquiera. SiIσ(ϕ) = 1 entonces, comoϕno tiene variables libres, cualquier otro estadoσ0coincide con σ en F V(ϕ) = ∅. Por lo tanto por el lema de coincidencia Iσ0(ϕ) = 1 y as´ı se cumple que
Iσ(ϕ) = 1 para cualquier estado σ. De aqu´ı que se cumpla el caso 1. Por otra parte, siIσ(ϕ) = 0 entoncesIσ(¬ϕ) = 1 y se procede de igual forma para obtener que¬ϕes verdadero, es decir queϕ
es falso. a
Corolario 1 Si ϕ es un enunciado entoncesϕ es falso si y s´olo si ϕes no verdadero en M
7.
Modelos
Ya mencionamos que un modelo para una f´ormulaϕes una interpretaci´on M=hM,Ii tal que M |= ϕ, es decir tal que Iσ(ϕ) para cualquier estado σ y que si bien una f´ormula cualquiera no necesariamente tiene un modelo, es decir, no necesariamente es verdadera o falsa, esta propiedad s´ı se cumple para los enunciados, puesto que estos no tienen variables libres que cambien de valor dependiendo del estado.
f´ormulas Γ. Este problema tiene importancia desde el punto de vista puramente teorico, al buscar y clasificar modelos de un conjunto de f´ormulas en especial y estudiar como son estos modelos entre si, as´ı como desde el punto de vista computacional donde el objetivo principal es verificar la verdad de una especificaci´on en un modelo dado o bien la existencia de modelos para especificaciones dadas. El ´area de las ciencia de la computaci´on conocida como verificaci´on de modelos2trata de mecanizar la verificaci´on y construcci´on de modelos, situaci´on que posible en ciertos casos, aunque imposible en general. La rama de la l´ogica matem´atica encargada de estos t´opicos se llamaTeor´ıa de Modelos.
A continuaci´on damos algunos ejemplos sencillos de construcci´on de modelos para un conjunto de f´ormulas dado.
Ejemplo 7.1 Sea Γ ={P(b), Q(b), R(b),∃x(P(x)∧ ¬(Q(x)∨R(x)), ∀x(R(x)→P(x))} Queremos ver si Γ tiene un modelo.
En este caso lo m´as f´acil es ir construyendo un modelo para cada f´ormula de Γ, si logramos que todas las f´ormulas de Γ sean verdaderas al mismo tiempo entonces habremos construido un modelo para Γ. Analicemos cada f´ormula de Γ.
1. P(b). Para que M |= P(b) se debe cumplir que bI ∈ PI. As´ı que al menos debemos tener
PI ={bI}
2. Q(b). Para queM |=Q(b) se debe cumplir quebI ∈QI, as´ı que basta QI ={bI}
3. R(b). Para que M |=Q(b) se debe cumplir que bI ∈RI por lo que basta conR={bI}.
4. ∃x(P(x)∧ ¬(Q(x)∨R(x)). Es decir, hay un elemento de |M|tal que cumple P y no cumple
Q ni R. Claramente este elemento no puede ser bI por lo que PI debe tener al menos otro elemento, digamos PI ={bI, m}.
5. ∀x(R(x)→P(x)). Debemos tener que todo elemento de Γ que cumpleRI, debe cumplir PI, pero de acuerdo a como definimos RI esto ya se cumple puesbI ∈RI ybI ∈PI.
De manera quePI ={bI, m}yQI ={bI}=RI y para que el modelo resulte m´as natural podemos tomarM ={0,1}, bI = 0 ym= 1, con lo que queda M=h{0,1},IiconPI ={0,1}, QI ={0}=
RI, bI = 0.
Veamos otro ejemplo.
Ejemplo 7.2 Sea Γ = {∃xP(x) ∧ ∃xQ(x), ¬∃x(P(x) ∧ Q(x)), ∀x¬R(x, x), ∀x∀y(R(x, y) →
R(y, x)), ∀x(P(x) → ∃y(Q(y)∧R(x, y))), ∀x(Q(x) → ∃y(Q(y)∧R(x, y)))} Queremos hallar un modelo de Γ, analicemos cada f´ormula:
1. ∃xP(x) ∧ ∃xQ(x). Es decir, debe existir a1 ∈ |M| tal que PI(a1) y adem´as debe existir
a2 ∈ |M|tal queQI(a2). Obs´ervese que podriamos tener a1=a2.
2. ¬∃x(P(x)∧Q(x)). Est´a f´ormula indica que no hay un individuo que cumpla PI y QI, de manera que los individuos encontrados en (1) deben ser diferentes.
2
3. ∀x¬R(x, x). Esto es la relaci´on RI es antireflexiva, por lo que los pares (a, a) no pueden pertenecer aRI. Obs´ervese que esto ya se cumple pues hasta ahora RI =∅, es decir, a´un no
existe un par en la relaci´on RI.
4. ∀x∀y(R(x, y)→R(y, x)). Esta f´ormula indica que la relaci´onRI es sim´etrica pero todavia no se exige que haya un par relacionado por lo que a´un tenemos RI =∅
5. ∀x(P(x) → ∃y(Q(y) ∧R(x, y))). Esto significa que para cada elemento a que cumpla PI
debe existir un elemento bque cumpla QI de manera que el par (a, b) est´e en la relaci´on RI. Como en (1) obtuvimos que PI(a1) entonces debe existir b∈ |M| tal queQI(b) yRI(a1, b).
Obs´ervese que podemos tomar b=a2, adem´as, por (4), tambi´en debemos tener RI(a2, a1).
6. ∀x(Q(x) → ∃y(Q(y)∧R(x, y))). Est´a f´ormula es similar a la anterior. Como tenemos que
QI(a2), por (1), entonces debe existira3 ∈ |M|tal que QI(a3) y RI(a2, a3), adem´as por (3)
tenemos que a3 6= a2 y por (2),a3 6=a1. Finalmente tambi´en debemos tener que RI(a3, a2)
para que se cumpla (4).
De manera que las interpretaciones pueden quedar como sigue:
|M|={1,2,3}
PI ={1}
QI ={2,3}
RI ={(1,2),(2,1),(2,3),(3,2)}
7.1. Implementaci´on
¿ Ser´a posible implementar la funci´onesModeloque verifica si una interpretaci´on es modelo de un conjunto (lista) dado de f´ormulas Γ?
8.
Validez Universal
El concepto de tautolog´ıa en l´ogica proposicional tiene su contraparte en l´ogica de predicados mediante el concepto de validez universal.
Definici´on 8 (Validez universal) . Decimos que una f´ormulaϕes universalmente v´alida (o sim-plemente v´alida) si para toda interpretaci´on Mse cumple que M |=ϕ, es decir, si ϕes verdadera en cualquier interpretaci´on posible, lo cual se denota con|=ϕ.
Como consecuencia del lema de sustituci´on podemos mostrar la validez universal de ciertas f´ormulas. Veamos un ejemplo.
Demostraci´on. SiIσ(∀xϕ) = 0 terminamos no hay nada que probar pues en tal caso la implicaci´on ∀xϕ → ϕ[x := t] se satisface. Supongamos entonces que Iσ(∀xϕ) = 1. Queremos demostrar que Iσ(ϕ[x:=t]) = 1, lo cual, por el lema de sustituci´on equivale a Iσ[x/m](ϕ) = 1 conm=Iσ(t), pero esto es consecuencia de la definici´on deIσ(∀xϕ) = 1. a
An´alogamente dejamos como ejercicio mostrar que
|=ϕ[x:=t]→ ∃xϕ
La noci´on de validez universal es an´aloga a la noci´on de tautolog´ıa en l´ogica proposicional. De hecho toda f´ormula cuyo esqueleto proposicional es una tautolog´ıa, resulta ser una f´ormula universalmente v´alida. Por ejemplo sucede que |=∀x(P(x)→P(x)∨Q(x, y)) puesto que en l´ogica proposicional se tiene que |=P →P∨Q.
Veamos otros ejemplos de formulas universalmente v´alidas.
Ejemplo 8.1 |=¬∃xϕ↔ ∀x¬ϕ.
SeaMuna interpretaci´on, veamos que M |=¬∃xϕ↔ ∀x¬ϕ. Seaσ un estado de las variables, hay 2 casos:
Iσ(¬∃xϕ) = 1. Esto es equivalente conIσ(∃xϕ) = 0 cuya definici´on es que no existem∈ |M| tal queIσ[x/m](ϕ) = 1, es decir, para todom∈ |M|, Iσ[x/m](ϕ) = 0 o equivalentemente para todo m∈ |M|, Iσ[x/m](¬ϕ) = 1 pero esto significa que Iσ(∀x¬ϕ) = 1.
Iσ(¬∃xϕ) = 0. Es decir, Iσ(∃xϕ) = 1 syss existe m ∈ |M| tal que Iσ[x/m](ϕ) = 1 syss existe m ∈ |M| tal que Iσ[x/m](¬ϕ) = 0 syss no para todo m ∈ |M|, Iσ[x/m](¬ϕ) = 1 syss Iσ(∀x¬ϕ) = 0.
Por lo tanto en cualquier caso se tiene que Iσ(¬∃xϕ) =Iσ(∀x¬ϕ) es decir, Iσ(¬∃xϕ↔ ∀x¬ϕ) = 1. Por lo tanto M |= ¬∃xϕ ↔ ∀x¬ϕ. Pero como M era una interpretaci´on arbitraria, se tiene que |=¬∃xϕ↔ ∀x¬ϕ.
Ejemplo 8.2 Vamos a demostrar la existencia del dios Baco qui´en tiene la propiedad de que si ´el bebe entonces todos beben. Es decir, mostraremos que |=∃x(B(x)→ ∀yB(y)).
SeaMuna interpretaci´on yσ un estado de las variables, veamos queIσ ∃x(B(x)→ ∀yB(y))
= 1, es decir, Iσ[x/m] B(x)→ ∀yB(y)= 1 para alg´un m∈ |M|. Tenemos dos casos:
BI = |M|. Es decir, todos los individuos del universo cumplen B. En este caso, como m ∈
BI para todo m ∈ |M|, se tiene que Iσ[y/m](B(y)) = 1 para todo m ∈ |M|. Por lo tanto Iσ(∀yB(y)) = 1, en particular puesto que x /∈F V(∀yB(y)), por el lema de coincidencia para f´ormulas,para cualquier m ∈ |M| se tiene queIσ[x/m](∀yB(y)) = 1. As´ı queIσ[x/m] B(x)→ ∀yB(y)
= 1.
BI 6= |M|. Es decir, al menos un individuo del universo no cumple B. Sea m ∈ |M| tal que m /∈ BI, es decir Iσ[x/m](B(x)) = 0, en tal caso Iσ[x/m] B(x) → ∀yB(y)
9.
Equivalencia L´
ogica
Un concepto de gran importancia que depende de la validez universal es el de f´ormulas l´ ogica-mente equivalentes.
Definici´on 9 Sean ϕ, ψ f´ormulas. Decimos que ϕ es l´ogicamente equivalente a ψ, denotado con
ϕ≡ψ, si y s´olo si |=ϕ↔ψ, es decir si y s´olo si la f´ormula ϕ↔ψ es universalmente v´alida.
Las siguientes equivalencias l´ogicas ser´an de utilidad m´as adelante.
1. Negaci´on de cuantificaciones (Leyes de De Morgan generalizadas):
a) ¬∀xϕ≡ ∃x¬ϕ
b) ¬∃xϕ≡ ∀x¬ϕ
2. Eliminaci´on de cuantificaciones m´ultiples.
a) ∀x∀xϕ≡ ∀xϕ. b) ∃x∃xϕ≡ ∃xϕ.
3. Renombre de variables. Si y no figura libre enϕentonces:
a) ∀xϕ≡ ∀y(ϕ[x:=y]). b) ∃xϕ≡ ∃y(ϕ[x:=y]).
4. Eliminaci´on de cuantificaciones vacuas. Six no figura libre enϕentonces:
a) ∀xϕ≡ϕ. b) ∃xϕ≡ϕ.
10.
Consecuencia L´
ogica
La noci´on de argumento correcto se formaliza en la l´ogica de predicados mediante la noci´on de consecuencia l´ogica cuya definici´on es la misma que para l´ogica de proposiciones y recordamos ahora.
Definici´on 10 Sean Γ un conjunto de f´ormulas yϕ una f´ormula. Decimos que ϕes consecuencia l´ogica de Γ, denotado con Γ |=ϕ, si y s´olo si todo modelo de Γ es un modelo de ϕ. Es decir, si y s´olo si para toda interpretaci´on M, si M |= Γentonces M |=ϕ.
Si Γ|=ϕ tambien decimos que Γ implica l´ogicamentea ϕ.
Las siguientes observaciones son importantes:
1. Al igual que en l´ogica proposicional el s´ımbolo|= est´a sobrecargado y se usa para las relaciones “ser modelo de” y“ser consecuencia l´ogica de”.
Veamos un ejemplo sencillo.
Ejemplo 10.1 Si sabemos que todos los gatos maullan y que Cleofas es un gato entonces es correcto concluir que Cleofas maulla. Vamos a demostrar la correctud de este argumento. Las premisas son {∀x(G(x)→M(x)), G(c)} y la conclusi´on es M(c). Vamos a demostrar que:
{∀x(G(x)→M(x)), G(c)} |=M(c).
Sea Mun modelo de {∀x(G(x)→ M(x)), G(c)}, es decir,M |=∀x(G(x) →M(x)) y M |=G(c), veamos que M |=M(c).
Sea σ un estado de las variables. Por hip´otesis tenemos que para toda m∈ |M|, Iσ[x/m](G(x)→
M(x)) = 1 e Iσ(G(c)) = 1. En particular para cI se cumple que Iσ[x/cI](G(x) → M(x)) = 1, es
decir, por el lema de sustituci´on se tieneIσ(G(c)→M(c)) = 1, de donde, dado queIσ(G(c)) = 1, se concluye que Iσ(M(c)) = 1. Por lo tanto, comoσ era arbitrario, conclimosM |=M(c). De manera que en efecto Cleofas maulla.
Finalmente queremos mencionar que la formalizaci´on de un criterio para decidir la correctud de argumentos no es la ´unica raz´on por la que la consecuencia l´ogica juega un papel central en la l´ogica. En general, obtener las consecuencias l´ogicas de un conjunto Γ significa intuitivamente extraer conocimiento que estaba impl´ıcito en Γ, problema de gran importancia en ciencias de la computaci´on, cuya aplicaci´on m´as cercana resulta ser la programaci´on l´ogica.
La extracci´on de conocimiento a partir de un conjunto de hechos Γ puede resultar muy simple o sumamente complicada, los casos simples llevan a cierta automatizaci´on del proceso de extrac-ci´on de conocimiento mediante diversas t´ecnicas como la programaci´on l´ogica o el razonamiento automatizado.
11.
Indecidibilidad de la l´
ogica de predicados
Las secciones de validez universal, equivalencia l´ogica y consecuencia l´ogica no incluyen una subsecci´on acerca de la implementaci´on debido a que estos problemas son indecidibles, es decir no existe un algoritmo para poder decidir el problema en general. Enunciamos aqu´ı estos famosos resultados.
Proposici´on 4 El problema de validez universal es indecidible. Es decir, no puede existir un algo-ritmo que reciba un enunciado ϕ como entrada y decida si|=ϕ.
Demostraci´on. Las demostraciones usuales reducen este problema al problema de la detenci´on en
m´aquinas de Turing o bien al problema de correspondencia de Post, ambos indecidibles. a
Corolario 2 La equivalencia l´ogica es indecidible. Es decir, no puede existir un algoritmo que reciba como entrada dos f´ormulas ϕy ψ y decida si ϕ≡ψ.
Demostraci´on. Basta observar que |=ϕsyss ϕ≡ > por lo que cualquier algoritmo que decidiera
Corolario 3 La consecuencia l´ogica es indecidible. Es decir, no puede existir un algoritmo que reciba como entrada un conjunto finito de f´ormulasΓ y una f´ormulaϕ y decida siΓ|=ϕ.
Demostraci´on. Basta observar que si Γ ={ϕ1, . . . , ϕn} entonces
Γ|=ϕsi y s´olo si |=ϕ1∧. . .∧ϕn→ϕ.
a
Corolario 4 Es indecidible si una f´ormula es satisfacible. Es decir, dada una f´ormula ϕno existe un algoritmo que decida si existe un modelo My un estado σ tal que M |=σ ϕ.
Demostraci´on. Obs´ervese queM |=σ ϕsyss6|=¬ϕ. Por lo tanto tambi´en se cumple queM 6|=σ ¬ϕ