Está en la página 1de 191

ELEMENTOS DE

LGICA FORMAL
Jos Eduardo Tofio Pea
Alejandro Martnez Acosta

PONTIFICIA UNIVERSIDAD JAVERIANA


Cali

- 2003 -

ELEMENTOS DE LGICA FORMAL


Jos Eduardo Tofio Pea
Alejandro Martnez Acosta
Reimpresin: Enero 2003
Impreso en Colombia: Multimedios PUJ
Serie: NMERO Y LNEA APOYO DE APRENDIZAJE
ISBN: 958 8162 42 - 4
Derechos Reservados
Sello Editorial: Pontificia Universidad javeriana
Calle 18 # 118 250
Correo Electrnico: comunicaciones@puj.edu.co

TABLA DE CONTENIDO.
JOS EDUARDO TOFIO PEA...................................................................................3
ALEJANDRO MARTNEZ ACOSTA...............................................................................3
JOS EDUARDO TOFIO PEA...................................................................................4
ALEJANDRO MARTNEZ ACOSTA...............................................................................4

INTRODUCCIN

PRIMERA PARTE : LGICA PROPOSICIONAL

16

SINTAXIS.

16

FRMULAS BIEN FORMADAS...................................................................17


CONSIDERACIONES SINTCTICAS..........................................................19
PRINCIPIO DE INDUCCIN EN FRMULAS............................................21
DESCOMPOSICIN NICA, CONECTIVA PRINCIPAL...........................25
SUPRESIN DE PARNTESIS.....................................................................28
EJERCICIOS.

29

SEMNTICA.

32

TAUTOLOGAS Y FRMULAS SATISFACIBLES...................................34


EQUIVALENCIA LGICA............................................................................39
CONSECUENCIA LGICA...........................................................................46
SIMBOLIZACIN, RAZONAMIENTOS Y VALIDEZ............................50
EJERCICIOS.

54

3. DEDUCCIN FORMAL.

59

SISTEMA DEDUCTIVO.................................................................................59
REGLAS DERIVADAS................................................................................64
ALGUNOS RESULTADOS SOBRE DEDUCIBILIDAD..............................66
EJERCICIOS.

69

4. RESOLUCIN Y PROGRAMACIN LGICA.


5

71

FORMAS NORMALES...................................................................................71
DEDUCCIN POR RESOLUCIN...........................................................76
INTRODUCCIN A PROGRAMACIN LGICA......................................83
EJERCICIOS

90

SEGUNDA PARTE: LGICA DE PRIMER ORDEN

95

5.SINTAXIS.

96

LXICO DE PRIMER ORDEN......................................................................98


RBOL DE UN TRMINO Y DE UNA FRMULA....................................99
PRINCIPIO DE INDUCCIN.......................................................................101
OCURRENCIA DE VARIABLES................................................................102
SUSTITUCIN DE VARIABLES LIBRES.................................................105
EJERCICIOS.

108

SEMNTICA
ESTRUCTURAS.

112
112

VERDAD EN UNA ESTRUCTURA............................................................115


SOLUCIONES DE FRMULAS CON VARIABLES LIBRES..................119
SIMBOLIZACIN. 122
FRMULAS UNIVERSALMENTE VLIDAS..........................................125
FRMULAS LGICAMENTE EQUIVALENTES.....................................129
CONSECUENCIA LGICA.........................................................................131
EJERCICIOS.

134

DEDUCCIN.

141

SISTEMA DEDUCTIVO EN LPO................................................................141


REGLAS DERIVADAS................................................................................152
ALGUNOS PRINCIPIOS SOBRE DEDUCIBILIDAD..............................154
EJERCICIOS

156

8. RESOLUCIN Y PROGRAMACIN LGICA.


6

160

EQUIVALENCIAS BSICAS......................................................................160
FORMA NORMAL PRENEXA ...................................................................160
FORMA NORMAL DE SKOLEM...............................................................161
DEFINICIONES.

163

DEDUCCIN POR RESOLUCIN............................................................168


OBTENCIN DE RESPUESTAS POR RESOLUCIN..............................173
PROGRAMACIN LGICA........................................................................178
EJERCICIOS.

188

BIBLIOGRAFA.

193

INTRODUCCIN
La primera etapa del desarrollo histrico occidental de la lgica se
inicia en la cultura griega con la aplicacin de la lgica a la filosofa
y se extiende hasta el siglo XIX.
En esta etapa inicial resalta la figura del filsofo griego Aristteles,
el cual en su obra el Organn establece ciertos principios para
establecer la validez de los denominados silogismos aristotlicos y
marca una gran influencia en toda la filosofa escolstica de la
Edad Media. Es as por ejemplo, como Santo Toms de Aquino
aplica la lgica aristotlica a sus pensamientos teolgicos.

Aristteles
(384 A.C 322 A.C)

Entre los siglos XVI y XVII surgen filsofos como Rene Descartes y
Gottfried Leibniz con su inters de producir

el conocimiento a

partir de cierto clculo consistente en un conjunto de principios y


reglas de razonamiento iniciando de esta forma la aplicacin de la
lgica

a las teoras matemticas. Esto objetivo empieza a

cristalizarse en el siglo XIX con los trabajos de De Morgan y


particularmente con George Boole con su obra An Investigation of
the Laws of Thought ( publicada en 1859 presentando las bases
de una lgica simblica consistente en un clculo algebraico de
proposiciones bivalentes) y recibe un impulso definitivo

con la

aportacin de George Frege y su formulacin del clculo de


predicados.

Kurt Gdel
(1906 - 1934)
La segunda etapa est enmarcada en los finales del siglo XIX y
primera mitad del siglo XX y se caracteriza por un esfuerzo por

parte de lgicos-matemticos como George Cantor, David Hibert,


Giusseppe Peano, Charles Sander Peirce,

Bertrand Russell y

Alfred North Whitehead de encontrar los fundamentos de las


matemticas en la lgica y teora de conjuntos, objetivo
fundamental de la obra de Russell y Whitehead denominada
Principia Mathematica . Objetivo que es frustrado en parte con la
presentacin de Kurt Godel en 1936 de su famoso teorema de
incompletitud , en el cual demostr la imposibilidad de lograr una
axiomatizacin completa de la aritmtica( es decir no todas las
verdades sobre los nmeros naturales es posible probarlas dentro
de un sistema axiomtico ); y se dice en parte, por los valiosos
aportes de esta etapa al desarrollo de modelos de lgica que
tendrn aplicaciones posteriores a la computacin.
Aunque la lgica como disciplina particular de la matemtica es de
gran inters e intensa investigacin, su etapa actual de desarrollo
podra decirse , que se inicia alrededor de 1960 con el desarrollo
de aplicaciones de la lgica de predicados de primer orden a
resolucin de problemas de inteligencia artificial (la bsqueda
heurstica y la deduccin automtica), lenguajes de programacin
y verificacin y especificacin de programas, siendo esta ltima un
conjunto de mtodos de comprobacin de la consistencia de las
instrucciones de un programa con las declaraciones en clculo de
predicados que representan la forma de entender el problema,
intercaladas con las pasos sucesivos del programa.
Como consecuencia de esto surge el mtodo de resolucin con
unificacin obtenida por Robinson en 1965, y el desarrollo

10

posterior de estrategias de optimizacin computacional del mtodo


de resolucin y la forma de extraccin de respuestas a problemas
a

partir

de

la

resolucin

unificacin,

procesos

que

desembocaran con la primera versin del lenguaje Prolog


(Programing in Logic) en 1975.
Con el surgimiento en la

dcada de los ochenta de los

denominados sistemas expertos de la inteligencia artificial y sus


necesidades

de

modelamiento

de

bases

de

conocimiento

computacionales, surge un gran inters por el desarro1lo y la


aplicacin de lgicas no clsicas tales como la lgica difusa,
lgicas no montonas, lgicas modales y temporales, lgicas
paraconsistentes; hoy en da campos de intensa investigacin en
aplicaciones a la informtica.
El objeto de estudio de la lgica son las estructuras formales para
caracterizar formas de razonamiento correctas, es decir que su
validez no dependa de su contenido o significado particular, sino
de su forma o esquema sintctico. Para esto es preciso desarrollar
un lenguaje simblico o sintaxis en el cual se expresa dichas
formas, denominado el lenguaje objeto1. Una semntica para
otorgar significado a las palabras o frmulas formadas con este
lenguaje y un sistema deductivo para obtener nuevas frmulas a
partir de otras tomadas como premisas, es la denominada
inferencia lgica.

El lenguaje en el cual nos referimos al lenguaje objeto es el denominado


metalenguaje. El metalenguaje en el cual nos referiremos a los lenguajes objetos
estudiados en este texto ser el espaol.
11

La respuesta a esto se ha hecho desde diferentes puntos de vista


con sus sintaxis, semnticas y sistemas deductivos particulares,
surgiendo de esta manera los diferentes modelos de lgica que no
slo buscan modelar razonamientos humanos sino aspectos tales
como lgicas particulares de disciplinas o el funcionamiento de un
programa computacional.
El texto esta dirigido a estudiantes de Ingeniera Electrnica y de
Ciencias de la Computacin y expone la denominada lgica clsica
matemtica, haciendo especial nfasis en sus aspectos formales y
aplicaciones a la programacin. Consta bsicamente de dos
partes:

La primera parte es una presentacin de la Lgica


Proposicional

La segunda parte presenta la Lgica de Predicados de


Primer Orden

En ambas partes se presenta cada modelo de lgica con su


sintaxis, semntica y un clculo deductivo basado en un sistema
de deduccin natural que introdujo el lgico alemn Gerhard
Gentzen en 1934. Finalmente se presentan aplicaciones al
modelamiento del lenguaje natural, y un sistema de resolucin
deductivo con unificacin basado en el modelo de Robinson, en
su versin con clusulas de Horn positivas en Prolog, explicando
algunas de sus estrategias de bsqueda y aplicacin a problemas
de obtencin de respuestas.

12

13

PRIMERA PARTE

LGICA PROPOSICIONAL

15

PRIMERA PARTE : LGICA PROPOSICIONAL


El clculo o lgica proposicional es un lenguaje formal de
representacin que proporciona herramientas para decidir sobre la
validez de los razonamientos deductivos con base en la
representacin simblica de las proposiciones atmicas que
intervienen en ellos y de las conexiones lgicas entre tales
proposiciones. Intuitivamente, una proposicin atmica es una
proposicin que no se puede descomponer. Un lenguaje
proposicional tiene un componente sintctico y otro semntico que
se introducen en ese orden.

SINTAXIS.
La sintaxis es la parte del lenguaje proposicional que permite
identificar los elementos o cadenas de smbolos vlidos en este
lenguaje. La sintaxis de un lenguaje formal consta de un alfabeto
(o vocabulario) y de una gramtica. El alfabeto est constituido
por un conjunto de smbolos que se clasifican en tres categoras:
lgico, no lgicos y auxiliares (o de puntuacin). Todos los
lenguajes formales tienen smbolos lgicos, pero pueden no tener
smbolos auxiliares. Las expresiones del lenguaje son simplemente
las cadenas de smbolos del alfabeto, pero, al igual que en los
lenguajes naturales no todas las cadenas son expresiones
sintcticamente correctas, no todas las cadenas de smbolos son
aceptables.
16

La gramtica del lenguaje consiste, esencialmente, en un conjunto


de reglas que permiten obtener o generar aquellas expresiones
que consideramos correctamente formadas. A estas expresiones
se las llama frmulas bien formadas o simplemente frmulas.

FRMULAS BIEN FORMADAS2.


En esta seccin se define de manera precisa el lenguaje formal
con el cual se va a trabajar. El alfabeto del lenguaje consta de los
siguientes smbolos:

1. Variables proposicionales:

P ={p, q, r} P = {p1, p2, p3, }

2. Conectivas proposicionales o lgicas:


3. Parntesis:

, , , ,
(, )

Como el lenguaje depende de P, es comn denotarlo por L(P) o


simplemente por L.
Las conectivas son los smbolos lgicos del lenguaje y los
parntesis son los smbolos auxiliares. La negacin es una
conectiva monaria o unaria, mientras que las restantes son
binarias. El nombre de las conectivas y la forma de leerlas se
puede ver en la siguiente tabla.

Se pueden dar otras definiciones de frmulas bien formadas las cuales


producen cadenas de smbolos validas en dicho lenguaje. En los ejercicios se
plantean algunas de ellas.
17

Tabla 1
Conectiva
Nombre
Lectura
Negacin
No

Conjuncin
Y

Disyuncin
O

Condicional si ..., entonces

Bicondicional
si y solo si

En el condicional p q, a p se le denomina antecedente y a q el


consecuente.
Definicin 1.1.1 Una frmula bien formada (fbf) en L(P) es una
cadena de smbolos que se puede obtener mediante la aplicacin
de las siguientes reglas.
F1. Las letras proposicionales son fbfs.
F2. Si es una fbf entonces es una fbf.
F3. Si y son fbfs , () es un fbf , donde *{, , , }.
Ejemplo 1.1.1:

Las siguientes expresiones son fbfs en L({p, q}).

i)

(p (q p))

ii)

(((p q) p) q)

En efecto:
i)

p y q son fbfs por F1


p es fbf por F2
(q p) es fbf por F3
(p (q p)) es fbf por F3

ii)

p y q son fbfs por F1


p y q son fbfs por F2
(p q) es fbf por F3

18

((p q) p) es fbf por F3


(((p q) p) q) es fbf por F3
En cambio las expresiones que se dan a continuacin no lo son

i)

((p q) q)

ii)

(p q) p

iii)

((p) ((r) (s)) (p))

En efecto:
i)

p y q son fbfs por F1


(p q) es fbf por F2
((p q) q) no satisface F3, luego no es fbf.

Las dems se dejan como ejercicio para el lector.


La siguiente propiedad de las fbfs est implcita en la definicin.,
dice que toda fbf se puede analizar por medio de fbfs ms simples.
F4. Solo son fbfs las cadenas que resultan de la aplicacin nica y
sucesiva de F1, F2 y F3.
CONSIDERACIONES SINTCTICAS.
El proceso de generar frmulas en la lgica proposicional (y, en
general, en los lenguajes formales) tiene una propiedad muy
importante: ninguna frmula puede ser generada de dos formas
distintas. De manera ms precisa, las reglas de construccin de
frmulas cumplen con las dos condiciones siguientes:
1.

Si se aplica una misma regla a frmulas distintas se


obtienen frmulas distintas.
19

2.

Ninguna frmula puede obtenerse aplicando reglas


diferentes.

Para entender lo anterior considere la siguiente definicin y


observe los problemas a los cuales se enfrenta si la definicin no
es sintcticamente correcta.
Ejemplo 1.2.1. Se define un nuevo tipo de frmula bien formada
fbf* como sigue
F1*. Toda letra proposicional es una fbf*.
F2*. Si es una fbf*, entonces es una fbf*.
F3*. Si y son fbfs*, es una fbf*, donde {, , , }.
Se observa que en tal caso no se cumpliran ninguna de las dos
condiciones. Por un lado, la expresin pqq podra obtenerse
aplicando la misma regla a dos frmulas distintas.
En efecto:
a) p y q son fbf*s por F1*

b) q q es fbf* por F3*


c) p q es fbf* por F3*
d) p q q es fbf* por F3* aplicada a p y a q q
e) p q q es fbf* por F3* aplicada a p q y a q
Tampoco se cumplira la segunda condicin, puesto que p p
podra obtenerse aplicando reglas diferentes. En efecto:
1:

2:
a) p es fbf* por F1*

a) p es fbf* por F1*

b) p es fbf* por F2*

b) p p es fbf* por F3*

c) p p es fbf* por F3*

c) p p es fbf* por F2*

El problema con las expresiones que pueden generarse de dos


maneras distintas es que resultan sintcticamente ambiguas
20

porque admiten lecturas distintas no equivalentes.

Este es el

problema que plantean las expresiones p q q y p p. Al


construir la expresin p q q aplicando d), entonces la conectiva
principal es y, por tanto, su estructura sintctica es la de (p (q
q)); si se construye aplicando e), entonces la conectiva principal
es y por lo tanto, su estructura sintctica es la (pq)q). Algo
anlogo sucede con p p. Si se considera construida del primer
modo, su estructura sintctica es la de (p p); si se considera
construida de la segunda forma, su estructura sintctica es la de
(p p).
Observaciones.
1. La definicin de fbf es inductiva
Base inductiva: F1
Pasos inductivos: F2 y F3
2. Para cada conectivo se puede definir una operacin
(funcin) en L(P)
F: .

F: , (*), donde * {, , , }.

PRINCIPIO DE INDUCCIN EN FRMULAS.


La

definicin

inductiva

del

lenguaje

L(P)

tiene

algunas

consecuencias interesantes. La induccin en frmulas se puede


usar:
I.

Para definir conceptos asociados con fbfs

II.

Para demostrar propiedades de fbfs

21

Esta situacin no es nueva. La hemos enfrentado en el contexto


de los nmeros naturales, donde se tiene el axioma de induccin
matemtica el cual dice. Para toda propiedad P:
(P(0) y para todo kIN, ( P(k) P(k+1)) implica para todo nIN P(n).

Este axioma permite probar que todos los nmeros naturales


tienen una propiedad P.

Para ello, hay que verificar el caso

bsico, P(0), y el paso inductivo, P(k) P(k+1). De este modo se


puede demostrar por ejemplo, la frmula 1 + 2 + + n =

n( n + 1)
.
2

Para esto, basta definir la propiedad de nmeros naturales: P =


{nN:n 0 y 1+2++n =

n(n + 1)
} y demostrar, usando el axioma
2

de induccin, que todos los nmeros naturales la tienen.


Tambin es posible dar definiciones recursivas basadas en
induccin. Un ejemplo tpico es el de la definicin recursiva de la
funcin factorial.
1. 0! = 1.
2. (n+1)! = n!(n+1).
El axioma de induccin permite demostrar que esta definicin es
correcta, es decir, que hay una nica funcin de nmeros naturales
que satisface las ecuaciones 1. y 2.

22

El principio de induccin de los naturales permite ver a N como un


dominio construible a partir de los constructores libres 0 y la
funcin sucesor (sumar 1). Del mismo modo el conjunto de fbfs de
un lenguaje proposicional se puede ver como un dominio
construible.
I.

La definicin inductiva permite definir conceptos, como en el


siguiente ejemplo.
Ejemplo 1.3.1. Sea una fbf.

Defina L[] = Longitud de =

nmero de smbolos de .
Solucin.

1. Base inductiva. Si es una letra proposicional, L[] = 1.


2. Si es una fbf entonces L[] = L[] + 1.
3. Si y son fbfs entonces L[()] = L[] + L[] + 3.
II.

La definicin inductiva permite establecer el siguiente


principio que sirve para demostrar propiedades sobre fbfs.

Principio de induccin en frmulas. Sea una propiedad que


se aplica a ciertas sucesiones de smbolos y tal que

1. Cada letra proposicional tiene la propiedad


2. Si es una fbf que tiene la propiedad entonces la
tiene

23

3. Si y son fbfs que tienen la propiedad entonces ()


la tiene, donde { , , ,

Entonces toda fbf tiene la propiedad .


Ejemplo 1.3.2

Sea una fbf.

Demuestre que el nmero de

parntesis izquierdos de es igual al nmero de parntesis


derechos de .
Solucin: Sean I[] = nmero de parntesis izquierdos de y
D[] = nmero de parntesis derechos de .

A continuacin

damos definiciones recursivas de I y de D.

1. Si es una letra proposicional, I[] = 0 y D[ ] = 0.


2. Si es una fbf, I[] = I[] y D[] = D[].
3. Si y son fbfs, I[()] = I[] + I[] + 1
D[()] = D[] + D[] + 1.
Ahora vamos a demostrar que I[] = D[] para cualquier fbf .

1. Si es una letra proposicional, entonces I[] = 0 = D[].


2. Supongamos que I[] = D[]. Entonces
I[] = I[]

por definicin de I

= D[] por hiptesis de induccin


= D[] por definicin de D

3. Supongamos que I[] = D[] e I[] = D[]. Entonces.


I[()] = I[] + I[] + 1 por definicin de I
= D[] + D[] + 1 por hiptesis inductiva
= D[()] por definicin de D

24

Por la tanto, por el principio de induccin en frmulas I[] = D[]


para toda fbf

DESCOMPOSICIN NICA, CONECTIVA PRINCIPAL.


Definicin 1.4.1. La primera ocurrencia de la negacin en una fbf
de la forma o la ocurrencia de la conectiva * en la fbf = ()
se llama conectiva principal.
Ejemplo 1.4.1. Sea = ((p (r s)) (p r))

La conectiva principal est sealada con una flecha


En frmulas muy complicadas puede ser difcil encontrar a simple
vista la conectiva principal. A continuacin se da un algoritmo para
hallar la conectiva principal de una fbf .
Algoritmo 1.4.1.

Si la fbf empieza por , ese smbolo es la

conectiva principal, de lo contrario la frmula debe empezar por un


parntesis izquierdo. Recorra la frmula de izquierda a derecha.
Asigne al primer parntesis izquierdo el nmero 1. Si el smbolo
que sigue es una letra proposicional, la conectiva principal es el
smbolo inmediatamente despus de dicha letra.

Si no es as,

asigne a cada parntesis izquierdo el nmero asignado al


parntesis anterior ms 1. A cada parntesis derecho asigne el
25

valor asignado al parntesis anterior menos 1.

La conectiva

principal es el smbolo inmediatamente despus del primer


parntesis al que se le asigne nuevamente 1.
Ejemplo 1.4.2. Use el algoritmo para hallar la conectiva principal.
Solucin.
((p(r s ))(p r ))
12

21

La conectiva principal es , que est despus del ltimo 1


asignado.
Definicin 1.4 2. Sea una frmula, las subfrmulas de son
todas las frmulas generadas por las siguientes reglas.

1. Si es una letra proposicional, la nica subfrmula es ella


misma.

2. Si = , las subfrmulas de son ella misma y todas las


subfrmulas de .

3. Si = (), donde {, , , }, las subfrmulas de


son ella misma y todas las de subfrmulas de y las de .

1.4

rbol de una frmula.

Una vez que se sabe como hallar la conectiva principal, se tiene un


mtodo algortmico para descomponer una fbf en todas sus
subfrmulas, es decir aquellas que entran en su formacin. La
descomposicin slo se detiene en las letras proposicionales. Si
se conecta cada subfrmula con la frmula de la cual se ha
26

desprendido se obtiene un rbol cuyos nodos son frmulas. Si se


coloca en cada nodo solamente la conectiva principal de cada
subfrmula se tiene el rbol simplificado de la frmula.
p

( )

Ejemplo 1.4.3. Halle el rbol de la frmula


= ((((( p q) r) r) (( q s) ( s p))) (p q ))
Solucin . Usando el algoritmo 1.4.1 se encuentra
(((( ( p q ) r) r) ( ( q s ) ( s p))) ( p q ))
1234 5

2 34

321

La conectiva principal de es que est inmediatamente


despus del ltimo 1 asignado. Luego se suprimen las parntesis
exteriores y se hallan las conectivas principales de cada
subfrmula. La conectiva principal de la subfrmula izquierda es
y la de la subfrmula derecha es . Este procedimiento contina
hasta llegar a las letras proposicionales.
El rbol simplificado en el cual solo se han colocado las conectivas
est dado en la pgina siguiente. Estrictamente hablando, en cada
nodo se debe colocar la subfrmula correspondiente.

27

r q

s s

Las subfrmulas de son:


, ((( ( p q ) r) r) ( ( q s ) ( s p) ) ), ( p q ),
(( ( pq ) r) r) , ( ( pq ) r), ( ( q s ) ( s p)),
( p q ), r,

(q s), (s p), (p q ), p, q, r y s.

SUPRESIN DE PARNTESIS3.
Los parntesis tienen el propsito de evitar ambigedad cuando
las fbfs se interpretan intuitivamente como proposiciones del
lenguaje ordinario o matemtico. Sin embargo, no todos los
parntesis son necesarios para tal propsito. A continuacin se
da una regla bsica para suprimir parntesis sin alterar la
estructura sintctica de la frmula original.
3

En esta seccin solo se considera una regla. Ms adelante se dar otra regla
basada en la propiedad asociativa de y Tambin podra darse otra regla en la
cual se tiene en cuenta la jerarqua de las conectivas. Este es, en orden
descendente: ; e (igual precedencia); y .
28

S1. Suprima los parntesis exteriores en (). Es decir:


() , siempre que

se conserve la estructura

sintctica de la frmula original.


Ejemplo 1.5.1. Suprima los parntesis innecesarios sin cambiar la
estructura sintctica de la frmula original.

i)

(((p q ) ((r s) t)) r )

ii)

((p q ) (r p))

Solucin.

i)

((p q ) ((r s) t)) r por S1.

ii)

(p q ) (r p) por S1

EJERCICIOS.
1. Demuestre rigurosamente que las siguientes cadenas no
son fbfs.

a) (p)

c) (p ((r s)) p)

e)

(pp

q)

b) p)q

d) ((p q) r) ((p r) q))

2. Aada parntesis a la expresin p q r q de


modo que resulte una frmula cuya forma sea la que se indica.
a) Negacin de un condicional.

29

b) Negacin de una disyuncin.


c) Negacin de una conjuncin.
d) Negacin de una negacin.
e) Condicional cuyo antecedente es una negacin.
3. Obtenga todas las subfrmulas de las frmulas

a) (p ( (p q) r))
b) ((p r) ((p r) (p q)))
c) ((p r) ((p r) (p q)))
4. Sea una fbf y, sean V[] y B[] el nmero de apariciones
de letras proposicionales y el nmero de ocurrencias de
conectivas binarias en respectivamente. Use el principio de
induccin en frmulas para demostrar que V[] = B[]+1.
5. Se define un nuevo tipo de frmula bien formada fbf# de la
siguiente manera
F1# Toda letra proposicional es una fbf#
F2# Si es una fbf#, entonces () es una fbf#
F3# Si y son fbfs# entonces () () es una fbf#,
donde {, ,, }.
Usando el principio de induccin en frmulas demuestre

a)

Si es una fbf#, entonces V[] = B[] + 1, donde


V[] es el nmero de apariciones de letras proposicionales
en y B[] es el nmero de apariciones de conectivas
binarias en .

30

b)

Si una fbf#, entonces L[] = 3n + 1 para algn


entero no negativo n, donde L[] es el nmero da
apariciones de smbolos en .

6. Se define un nuevo tipo de frmula bien formada fbf$ de la


siguiente manera.
F1$ Toda letra proposicional es una fbf$.
F2$ Si es una fbf$, entonces ) es una fbf$.
F3$ Si y son fbfs$ , ) es fbf$, donde {,,,}.
i) Determine si las siguientes cadenas de smbolos son fbf$ o no,
justificando. Si no lo es, corrija la sintaxis y escrbala como una
fbf$.

a)

p r) r q)

c) p q)) r q)))

b)

p q)) r) s)

iii) Sea F el conjunto de fbfs y F$ el conjunto de fbfs$. Defina


una funcin recursiva h que transforme fbfs en fbfs$ y
sela para calcular h[(p (q r ))]
7. Determine si la siguiente definicin de frmula bien formada
fbf* es sintcticamente correcta.
F1* Toda letra proposicional es una fbf*.
F2* Si es una fbf*, entonces es fbf*.
F3* Si y son fbfs*, ) ) es fbf*, donde {, , , }.

31

SEMNTICA.
Intuitivamente, la validez de un argumento o de un principio lgico
consiste en el hecho de que siempre es verdadero, sin importar el
significado de sus componentes proposicionales. En primer lugar,
se debe precisar qu significa que una fbf sea verdadera o
falsa. Dada una fbf , su significado solo depende del dado a sus
letras proposicionales.

Basta con examinar

las

posibles

situaciones de las letras proposicionales con respecto a verdad o


falsedad para conocer el comportamiento de con respecto a
verdad o falsedad en cualquier situacin posible.
Definicin 2.1. Sean P el conjunto de letras proposicionales y
L(P) el conjunto de fbfs cuyas letras estn en P. Sea {V, F} un
conjunto de dos elementos distintos llamados valores de verdad.
Una asignacin de verdad o valuacin de P es una funcin. :
P {V , F } .
Ejemplo 2.1. Sea P = {p, q, r} Las siguientes son valuaciones de
P.
i) 1 : p F , q F , r V .
ii) 2 : p V , q V , r F .

Observaciones:

1. Si P contiene n variables proposicionales, entonces hay 2n


valuaciones distintas.

2. En lgica proposicional clsica, cualquier variable


proposicional tiene exactamente un solo valor de verdad
entre dos posibles.
3. Todas las valuaciones constituyen una tabla de verdad.
A continuacin se extiende la definicin de valuacin a L(P) de la
siguiente manera.
Definicin 2.2 .

Sea : P {V , F } una valuacin.

Se define

: L( P ) {V , F } como sigue.

1. Base inductiva: Si p es una letra proposicional, entonces


( p ) = ( p ).

2. Pasos inductivos: Sean y fbfs. Entonces:


V si ( ) = F
a ) ( ) =
F si ( ) = V
V si ( ) = ( ) = V
b) (( )) =
F en otro caso.
F si ( ) = ( ) = F
c) (( )) =
V en otro caso
F si ( ) = V y ( ) = F
d ) (( )) =
V en otro caso
V si ( ) = ( )
e) (( )) =
F en otro caso
De acuerdo con la anterior definicin, se tiene la siguiente tabla de
verdad en L({p, q}).

Tabla 2
p q p P q p

pq pq

q
V
V
F
F

V
F
V
F

F
F
V
V

V
F
F
F

V
V
V
F

V
F
V
V

V
F
F
V

Ejemplo 2.2. Sea = ((p q) p) (p q). Hallar ( ) , dado


que (p) = V y (q) = F.

Solucin:
(p) = V y (q) = F implica (p q) = F por definicin de .
(pq) = F y (p) = V implica ((pq)p) = V por definicin de .
(q) = F implica (q) = V por definicin de . (p) = V y (q) =
V implica (p q) = V por definicin de .
Por lo tanto, () = V por definicin de
TAUTOLOGAS Y FRMULAS SATISFACIBLES.
Definicin 2.1.1. Sea una fbf. Se dice que es:

1. Satisfacible si existe una valuacin v tal que v () = V.


2. Vlida o tautologa si para cada valuacin v , v () = V.
3. Insatisfacible o contradiccin si para cada valuacin v , v
()=F.

4. Contingente si existen valuaciones v y w tales que v ()


= V y w () = F. Es decir,

es contingente si es

satisfacible pero no vlida.


Ejemplo 2.1.1. Determine si cada una de las siguientes frmulas
es satisfacible, tautologa, contradiccin o contingente.

a) = (p q) r

c) = ((p q) q) r

b) = (p q) (p q) r
Solucin: Una forma de comprobarlo es por medio de tablas de
verdad para las frmulas.
Tabla 3
p
V
V
V
V
F
F
F
F

q
V
V
F
F
V
V
F
F

r
V F V F
F V V F
V
V F
F
V F
V
V F
F
V F
V
V F
F
V F

En la tabla se ve que es contingente, es tautologa y es


contradiccin. Note que no fue necesario completar la tabla de
verdad de para saber que es contingente (por qu?).
Ejemplo 2.1.2. Demostrar que ((( ) ) ) es una
tautologa.
Solucin.

Como en el ejemplo anterior podramos hacer

una

tabla. En vez de ello, usamos la definicin. Como la frmula es un


condicional, basta con considerar aquellas valuaciones para las
cuales el antecedente es verdadero, ya que si el antecedente es

falso, la frmula es verdadera sin importar el valor de verdad que


asuma el consecuente.
Sea v una valuacin tal que (1) v[(( ) )] = V, entonces (2)
v[( )] =V y v[] = V, por definicin de . Luego, (3) v[ ] = F,
por definicin de . Como v[( )] =V, (4) v[] = F por definicin
de . De donde (5) v[] = V. En consecuencia, (6) v[((( )
) )] = V. Como v es una valuacin arbitraria, la frmula
dada es una tautologa.
Otra forma de hacerlo es insertando marcadores para los pasos
previos. Estos marcadores se han colocado en el procedimiento
anterior para facilitar la compresin de este mtodo.
( ( (

(4)

(2)

(3)

(1)

(2) (3)

)
V

(6) (5) (4)

En (6) vemos que la frmula dada es verdadera.


En el siguiente ejemplo se usar el mtodo de contradiccin.
Ejemplo 2.1.3.

Muestre que ( ( r p) (r q )) es una

tautologa.
Solucin. Supongamos que no lo es. Entonces hay una valuacin
v que falsifica la frmula. Entonces por definicin de condicional,
v[ (r p) ] = V y v[(r q)] = F. Ahora por definicin de , (1)
v[( r p)] = F, y por definicin de v[ r ] = F y v[ q ] = F. De
nuevo, por definicin de , como v[r] = F, entonces (2) v[( r p )]
= V. Pero (1) y (2) son contradictorias. Por lo tanto, la frmula
dada es una tautologa.

Observaciones:

1. Si es satisfacible, se denomina modelo a cualquier


valuacin v tal que v () = V.

2. Si es tautologa, se escribe =
Lema 2.1.1. Sean una fbf y

p1, p2, ...,pn las letras

proposicionales que ocurren en . Si v y w son valuaciones que


coinciden en {p1, p2,..., pn} entonces v ( ) = w ( ).
Demostracin: Por induccin en frmulas.

1. Si P, es obvio, pues v ( ) = v( ) = w( ) = w ( )
2. Supongamos que es vlida para y y sean P1 y P2 los
conjuntos

de

letras

proposicionales

de

respectivamente.

a)

Si v y w coinciden en las letras de , entonces


coinciden

en

P1.

Por

hiptesis

de

induccin,

v ( ) = w ( ) y por tanto v ( ) = w ( ) .

b)

Si v y w coinciden en las letras de (*), entonces


coinciden en P1 P2 y por tanto en P1 y en P2 . Por
hiptesis de induccin, v ( ) = w ( ) y v ( ) = w ( ) . Por
lo tanto, v (( )) = w (( )) .

Corolario. Sea una fbf, P P1, v una valuacin de P y w una


valuacin de P1 que extiende a v, entonces v ( ) = w ( ).
En lo sucesivo se escribe v ( ) asumiendo que est definida en
un conjunto P que contiene las letras proposicionales de .

En la siguiente tabla se da una lista de algunas tautologas usadas


con frecuencia.
Tabla 5
1.
2.
3. ( )
4.
5.
6.
7.
8.

( )
( )
(( ) )
(( ) )
(( ) )

Ley de identidad
Ley del tercio excluido
Ley de no
contradiccin
Ley de Clavius
Ley de Duns Scoto
Ley de Peirce
Modus Ponens
Modus Tollens

Todas las frmulas de la tabla son, en rigor, esquemas de


tautologas.

Los esquemas representan estructuras o formas

lgicas que dan lugar a frmulas concretas cuando se sustituyen


todas sus variables por frmulas concretas.

Conectivos lgicos como funciones.


Los conectivos lgicos se pueden ver tambin como funciones:
1. : {V . F } {V . F } , V F , F V .

2. Sea * un conectivo binario. : {V . F } 2 {V , F }


Hay 24 = 16 funciones (conectivos ) distintos de los cuales se han
considerado cuatro.

EQUIVALENCIA LGICA.
Definicin 2.2.1 Dos fbfs y son lgicamente equivalentes, en
smbolos , si y slo si para toda valuacin , () = ().
Teorema 2.2.1. Dos fbf s y son lgicamente equivalentes si y
solo si es tautologa.
Demostracin.

i)

Sea una valuacin, entonces () = () porque .


Por definicin de , () = V. Como es arbitraria,
es tautologa.

ii)

Como es tautologa, () = V para cualquier


valuacin . Por definicin de , () = (), por lo tanto
.

En la siguiente tabla se da una lista de equivalencias


frecuentemente usadas tanto en las demostraciones como en las
simplificaciones.

Tabla 6
1.
2.
3
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
15.
16.
17.
18.
19.
20.
21.

V
F
F
V
VV
FF

( ) ( )
( ) ( )
( ) ( ) ( )
( ) ( ) ( )


( )
( )
( )
( )
( )

Ley del tercio excluido


Ley de contradiccin
Leyes de identidad
Leyes de dominacin
Leyes de idempotencia
Ley de doble negacin
Leyes conmutativas
Leyes asociativas
Leyes distributivas
Ley de transposicin
Ley de implicacin disyuncin
Ley de implicacin conjuncin
Leyes de De Morgan
Leyes de absorcin

Debido a las propiedades asociativas de la conjuncin y de la


disyuncin, se pueden suprimir los parntesis en las expresiones
() y (), escribindose , y,
respectivamente.

Ejemplo 2.2.1. Demuestre usando lgebra proposicional que


(p q) r r (p q).

Solucin.
(p q) r (p q) r

(p q) r

Ley de De Morgan

r (p q)

Ley conmutativa de

r (p q)

Ejemplo 2.2.2. Simplificar ( ((p q) r) q).


Solucin.
( ((p q) r) q)
( ((p q) r)) q Ley de De Morgan
( (p q) r) q

Ley de De Morgan y doble negacin.

((p q) r) q

Ley de doble negacin.

((p q) q) (r q)

Ley distributiva.

q ( r q)

Ley de absorcin.

r q

Ley de absorcin.

Teorema 2.2.2. La relacin define una igualdad o relacin de


equivalencia en lgica proposicional.
La demostracin se deja como ejercicio para el lector.
Teorema 2.2.3. (Principio de sustitucin de frmulas equivalentes).
Si en una frmula se sustituye una de sus subfrmulas por una
frmula lgicamente equivalente a , entonces se obtiene una
frmula lgicamente equivalente a .

2.2.1 Conjunto de conectivas funcionalmente completos.


Todas las conectivas excepto la negacin pueden eliminarse en
favor de otras, lo cual significa que lo que se expresa con una de
esas conectivas puede expresarse tambin con otras diferentes.
Definicin 2.2.1.1. Un conjunto de conectivas es funcionalmente
completo si todos las dems conectivas se pueden expresar bajo
equivalencia en trminos de las conectivas de dicho conjunto.
Teorema 2.2.1.1. Sean y fbfs. Entonces

1. ( )

5. ( )

2. ( )

6.

3. ( )

7.

4. ( ) ( )
Demostracin: Se demostrarn 1 y 2, las dems se dejan como
ejercicio.

1. Para toda asignacin


( ) = F

sii () = F y () = F
sii () = V y () = V
sii () = V
sii (()) = F

2. Para toda valuacin


( ) = V

sii () = V y () = V
sii () = F y () = F
sii ( ) = F
sii (( )) = V

Teorema 2.2.1.2.

Los conjuntos {, }, {, } y {, } son

funcionalmente completos
Demostracin . Usando el teorema 2.2 .1.1 se tiene.
( )
( )
( ) ( )
Luego, {, } es funcionalmente completo. Los dems se dejan
como ejercicio.
Definicin 2.1.1.2. La barra de Sheffer | y la flecha de Peirce
son las conectivas binarias definidas por las siguientes tablas.

V
V
F
F
Teorema 2.2.1.3.

V
F
V
F

( | )
F
V
V
V

( )
F
F
F
V

Los conjuntos {|} y {}

son funcionalmente

completos.
Demostracin. Segn la tabla podemos ver que ( | ) ( )
y ( ) ( ). Verificaremos la barra de Sheffer. La otra se
deja como ejercicio.
Es fcil ver que ( | ).

(Verifquelo).

A continuacin

expresaremos las dems conectivas en trminos de | usando


equivalencias.

(( )) ( | ) ( | ) | ( | ).
( ) (( | ) ( | )) ( | ) | ( | ).
( ) ( ( | )) ( | ( | )) | ( | ( | )).
( ) ( ) (( | ( | )) | ( | ( | )))
(( | ( | )) | ( | ( | ) )).
(A | B) | (A | B) , donde A = ( | ( | )) | ( | ( | ))
y B = ( | ( | )) | ( | ( | ))
Ejemplo 2.2.1.1. Demuestre que {, } no es funcionalmente
completo.
Solucin.
Sea L[p, q, , ] el lenguaje cuyas nicas letras son p y q, y
cuyas nicas conectivas son y . Probaremos que ninguna
frmula de L[p, q, , ] es lgicamente equivalente con pq. La
tabla de verdad de p q tiene la propiedad de que tres
valuaciones asignan el mimo valor mientras que la restante asigna
el otro. Diremos que las tablas que no tienen esta propiedad son
de tipo par y a las frmulas de L[p, q, , ] que tienen slo una
letra o cuya tabla de verdad es de tipo par las llamaremos
inaceptables. Se puede observar que las frmulas inaceptables
no se pueden ser lgicamente equivalentes con p q, puesto que
o bien slo contiene una sola letra proposicional o su tabla de
verdad es distinta a la de p q. Vamos a probar que toda frmula
de L[p, q, , ] es inaceptable usando el principio de induccin en
frmulas.

1. Es obvio que las frmulas atmicas de L[p, q, , ] son


inaceptables.

2. Supongamos que es inaceptable (hiptesis de induccin).


Si tiene una sola letra proposicional no hay nada que
justificar,

si tiene dos letras, entonces tambin las tiene.

Como es inaceptable su tabla es de tipo par, luego la tabla


de su negacin tambin es de tipo par y por la tanto es
inaceptable.

3. Supongamos que y son inaceptables (hiptesis de


induccin). Si tiene una sola letra proposicional no nada
que justificar. Veamos que sucede si en aparecen las
dos letras. La siguiente tabla nos permite visualizar mejor la
situacin..
p
V
V
F
F

q
V
F
V
F

Observe que no puede suceder que tres de las cuatro valuaciones


asignen un mismo valor a y la restante el otro. En efecto, si
es una contradiccin o una tautologa, las cuatro valuaciones le
asignan el mismo valor. Si es contingente y slo tiene una letra
proposicional, dos valuaciones le asignan un mismo valor y dos le
asignan el otro.

Si es contingente y tiene las dos letras

proposicionales, entonces su tabla de verdad es de tipo par por


hiptesis inductiva. El mismo argumento se puede usar para .
Analizando todas las posibilidades podemos ver que toma
un valor de verdad con tres valuaciones y la restante le asigna el
otro. As, la tabla de verdad de es de tipo par y por lo tanto

es inaceptable. Por el principio de induccin en formulas, toda


frmula de L[p, q, , ] es inaceptable. En conclusin, {, } no
es funcionalmente completo.

CONSECUENCIA LGICA.
Definicin 2.3.1.

Sea un conjunto de frmulas y v

una

valuacin. Se dice que v satisface a si y solo si v() = V para


cada . Para denotar que v satisface a , se escribir v |= y
se dice que v es un modelo para . Es decir, v |= si y solo si v()
= V para cada . Cuando v |= se usar v() = V.
Observaciones.

1.

Se escribir |= en lugar de |= {}.

2.

Si = {1, 2, , n }, entonces |= siempre y cuando


(1 2 n) = V.

3.

puede ser vlido (consistente), satisfacible, contingente o


insatisfacible.

a) Es vlido si para cada valuacin , () = V.


b) Es satisfacible, si hay una valuacin , tal que () = V.
c) Es insatisfacible o inconsistente si para cada valuacin
, ()= F.

d) Es contingente si existe una valuacin v y una


valuacin w tal que v() = V y v() = F.

4.

Si no satisface a se escribir |=/ .

Ejemplo 2.3.1.

1. = {p, p q} es satisfacible pero no vlido. La valuacin


1: p V, q V, cumple que 1 |= , pero 2: p V, q F
no satisface a ya que 2(p q) = F.

2. = {p, p q, q} es insatisfacible. (Ejercicio)


3. = {p (p q), (p q) q} es vlido. (Ejercicio).
Definicin 2.3.2. Sea un conjunto de frmulas y una frmula.
Se dice que es consecuencia lgica de si y slo si para cada
valuacin se tiene:
|= implica () = V.
Si es consecuencia lgica de , se escribe |= . De otro modo,
se escribe |=/ .
Ejemplo 2.3.3

1. {p} |= p
2. {q, p q} |= p. En efecto, si es una valuacin tal que
|= {q, pq} entonces (q) = V y (p q) = V. Luego (q)
= F y (p) = F por definicin de y . Por lo tanto, (p) = V,
de lo cual se concluye que {q, p q} |= p.

3. {q, pq} |=/ p. En efecto, la valuacin tal que (p) = F,


(q) = V cumple que (q) = V y (pq) = V, pero (p) = F. Es
decir, satisface las premisas pero no la conclusin

4. {p, p} |= q.
5. {(p q) (q r), q} |= (r p).
6. ={p (q r), s q, t r, p t} |= (q s).
Observaciones.

1. Este concepto modela la idea de que una frmula es


implicada por la base de conocimientos . ( Conjunto de
premisas).
2. Para demostrar que una frmula es consecuencia lgica de
un conjunto de frmulas solo hay que verificar la verdad de esa
frmula con respecto a las valuaciones que hacen verdadera al
conjunto de frmulas

3. Otra forma de ver la relacin |= es: no es posible que


sea verdadero y falsa.
Teorema 2.3.1. = {1, 2, , n} |= si y solo si
1 2 n es tautologa.
La demostracin se deja como ejercicio.

2.3.1 Algunos resultados sobre consecuencia lgica.


Sean y conjuntos de frmulas, y frmulas.

1. Monotona. Si , entonces: Si |= ,entonces |= .


Demostracin. Sea una valuacin tal que |= 1, entonces
|= porque . Luego, ()=V. Por lo tanto, |= .
Comentario: Al agregar nuevas frmulas a un conjunto de
frmulas, las consecuencias lgicas del conjunto inicial siguen
siendo consecuencias lgicas del conjunto expandido.

2. es insatisfacible si y solo si para toda frmula , |= .


Demostracin. i) Hay que verificar que para toda valuacin
se tiene, si |= entonces () = V. Como el antecedente de
esta implicacin es falso (por ser insatisfacible), la

implicacin se hace verdadera para toda valuacin. En el otro


sentido se deja como ejercicio.
Comentario: A partir de un conjunto de frmulas insatisfacible
se puede concluir cualquier afirmacin.

3. Si es una contradiccin, entonces: es insatisfacible si y


solo si |= .

4.

es tautologa si y solo si |= , donde es el conjunto

vaco de frmulas. Si es tautologa se escribir |= .

5. Teorema de la Deduccin. (TD). Si {} |= entonces


|= ( ).
Demostracin. Supongamos que {} |= . Sea una
valuacin que satisface a . Si ()= V, entonces satisface a
{}. Como {} |= , () = V. Luego, |= ( ).
Ahora si v() = F, v( ) = V y por tanto |= ( ).
El recproco tambin es cierto.

6. Reduccin al Absurdo (RA). |= si y solo si {}


es insatisfacible.
Demostracin. i). Supongamos que hay una valuacin tal
que |= {}. Luego, () = V y |= . Como |= ,
entonces () = V, lo cual contradice que () = V. Por lo
tanto, el conjunto {} es insatisfacible.
ii). En el otro sentido. Ejercicio.
De acuerdo con el resultado 6, si se quiere demostrar que |= ,
se agrega a y a partir de { } se llega a una
contradiccin.

SIMBOLIZACIN, RAZONAMIENTOS Y VALIDEZ.


La lgica proposicional estudia las conexiones lgicas de las
proposiciones de un punto de vista general.
proposiciones

solamente

en

cuanto

estas

Se analizan las
puedan

estar

compuestas o ser combinacin de proposiciones ms sencillas


(proposiciones atmicas), las cuales se simbolizan por letras como
p, q, r, etc o p1, p2, . Ciertas partculas y expresiones lingsticas
que

conectan

proposiciones

se

simbolizan

por

smbolos

especiales. Debe ser claro que una proposicin es cualquier


expresin para la cual tenga sentido decir que es verdadera o falsa
(aunque no se tenga manera de saber cul es el caso).
Muchas expresiones del lenguaje ordinario se conectan para
formar nuevas proposiciones, pero desde cierto punto de vista
todos son sustituibles por los siguientes conectivos cuya
simbolizacin se indica a continuacin en la siguiente tabla.
Tabla 7
Expresin
Smbolo Significados
No es cierto que p, es falso que p
No es el caso que
p
p
pyq

pq

p pero q, p sin embargo q, p adems q,

poq

pq

p aunque q
Incluye el caso en que ambas p y q son
ciertas
p implica q, q si p, p solo si q, p es

Si p entonces q

pq

p si y solo si q

pq

suficiente para q, q es necesaria para p


p es suficiente y necesaria para q

Definicin 2.4.1.

Un argumento o razonamiento R est

constituido por un conjunto finito de frmulas llamadas premisas


y una frmula llamada conclusin. Se escribe R = , . Si |=
, se dice que el razonamiento es correcto o lgicamente vlido. Si
|=/ , se dice que el argumento es incorrecto o no vlido.
El argumento cuyas premisas es el conjunto de premisas {1, 2,
, n} y cuya conclusin es , puede representarse de la siguiente
manera:

1
2

Ejemplo 2.4.1. Simbolizar el siguiente argumento y determine su


validez.
Juan tiene 20 aos. Si Juan tiene 22 aos entonces naci antes
que Pedro. Juan no naci antes

que Pedro. Por lo tanto, Juan

tiene 20 aos.
Solucin: Sean los siguientes tomos.
p: Juan tiene 20 aos
q: Juan tiene 22 aos
r: Juan naci antes que Pedro
La simbolizacin es
1. p q
2. q r
3. r
________
p

Tambin puede expresarse como una sola proposicin: ((p q)


(q r) r)) p
A continuacin determinamos su validez.

Para ello, sea v una

valuacin tal que v() = V, donde es el conjunto de premisas.


Luego, (1) v(pq) =V, (2) v(qr) = V y (3) v(r) =V. Entonces
de (3) v(r) = F por definicin de , de donde v(q) = F por definicin
de en (2). Por lo tanto, v(p) = V por definicin de en (1). En
consecuencia, |= p; es decir, el razonamiento es vlido.
Ejemplo 2.4.2. Simbolice el siguiente razonamiento y determine su
validez..
Si Pedro es alto, entonces puede jugar baloncesto o voleibol.
Adems, si Pedro juega baloncesto entonces no puede jugar
voleibol. Pedro es alto y juega baloncesto. Por lo tanto, Pedro no
juega voleibol.
Solucin.
Sean p: Pedro es alto, q: Pedro juega baloncesto, r: Pedro
juega voleibol.
Las premisas y la conclusin son
P1: p (q r)
P2: q r
P3: p q
r
Tambin: ((p (q r)) (q r) (p q)) r.
Ahora determinamos su validez. Sea v una valuacin tal que (1)
v(P1) = V, (2) v(P2) = V y (3) v(P3) = V. De (3), v(p) = V y v(q) = V.
Luego de (2) v(r) = V y por lo tanto, el razonamiento es vlido.

Ejemplo 2.4.3. Simbolice indicando el significado de los smbolos


y determine su validez.
Si es falso que si un objeto flota en el agua es menos denso que
esta, entonces se puede caminar sobre ella. Es claro que no se
puede caminar sobre el agua. Si un objeto es menos denso que el
agua entonces puede desplazar una cantidad de agua igual a su
propio peso. Un objeto puede desplazar una cantidad de agua
igual a su propio peso solo si flota en el agua. Por lo tanto, un
objeto flota en el agua si y solo si es menos denso que esta.
Solucin: Sean
p : un objeto flota en el agua
q : un objeto es menos denso que el agua
r : se puede caminar sobre el agua
s : un objeto puede desplazar una cantidad de agua igual a su
peso
La simbolizacin es:

1. (p q) r
2. r
3. q s
4. s p

--------------pq
Tambin: (((p q) r) r (q s) (s p)) (p q).
Dejamos como ejercicio para el lector determinar su validez.
Ejemplo 2.4.4. Muestre que el siguiente razonamiento no es
vlido

p (q r)
q
p
Solucin. La valuacin v tal que v(p) = V, v(q) = F y v(r) = V
satisface las premisas pero no la conclusin. Luego el
razonamiento no es vlido.

EJERCICIOS.

1.

Clasifique

las

siguientes

frmulas

en

tautologas,

contradicciones o contingencias

a)

((p q ) p) q.

b)

(p q ) (p q).

c)

p (q p).

d)

(p (q r)) (p (q r)).

2.

Justifique sin hacer uso del mtodo de las tablas de


verdad que las siguientes frmulas son tautologas.

a)

(( ) ( )) .

b)

( ) ( ).

c)

( ( )) (( ) ).

d)

( ) (( ) ( )).

3.

Decida si los siguientes enunciados son verdaderos o


falsos, justificando su respuesta.

a)

Si y son contingentes , entonces es contingente.

b)

Si es tautologa, entonces es tautologa.

c)

Si es contingente y es contingente, entonces es


contingente.

d)

Si es una tautologa, entonces es una contradiccin o


es una tautologa.

4.

Determine si el par de

frmulas son lgicamente

equivalentes.

a)

= ( ( (p q) r) q ) y = q r.

b)

= (1 2) 3 y = (1 2) (1 3)

c)

= (p q) q y = p q

d)

= p (q r) y = (p q ) r

5.

Justifique las siguientes equivalencias

a)

b)

( ) ( )

c)

( ) ( )

d)

( )

6.

Para cada una de las frmulas siguientes halle otra


equivalente cuyas conectivas sean (i) la negacin y la
conjuncin, (ii) la negacin y la disyuncin, (iii) la negacin y
el condicional.

a)

(p q) r

b)

(p q) r

c)

(p q) r

d)

(p q) (q p)

7.

Usando las equivalencias simplifique

a)

(p q) (p q)

b)

(((p q) r ) q)

c)

(p q) (p q) (p q)

d)

(p q r) (p t q) (p t r).

8.

Se definen los conectivos y mediante la siguiente


tabla
Tabla 8

V
V
F
F

V
F
V
F


V F
V F
F F
V F

Muestre que {, } es funcionalmente completo, pero que {,


, } no lo es. Escriba la frmula (p q) r usando slo
los conectivos y .

9.

Se definen los conectivos T y /


tabla
Tabla 9

V
V
F
F

V
F
V
F

/ T
F V
F V
V V
F V

mediante las siguiente

Muestre que {T, / } es funcionalmente completo. Escriba (p


q) r usando slo los conectivos T y / .
10.

Determine si cada uno de los siguientes conjuntos es


satisfacible o no. Justifique.

a.

{p q, p q}

b.

{p (p q), (q r) p, r (p q)}

c.

{p q, p r, q r}

11.

Sea un conjunto de frmulas en las que solo aparecen


las letras p, q, r y s. Si las nicas asignaciones que satisfacen
a son
Tabla 10
p
V
V
F
F
F

q
F
F
V
V
F

r
F
F
F
V
V

s
V
V
V
V
V

Cules de las siguientes frmulas son consecuencia lgica de ?

a)

pq

c) r p

b)

rs

d) (r s) q

12.

Determine si los argumentos son correctos o no. Si algn


argumento es incorrecto, halle una asignacin que lo muestre.

a)

{(p q) r, r} |= p

b)

|= ((p q) p) p

c)

{p (q r), r} |= p q

d)

|= (p (q F)) (p q). F es una frmula siempre falsa.

13.

Usando la definicin de consecuencia lgica demuestre


los siguientes enunciados.

a)

{ ,} |=

b)

{ , } |=

c)

Si {} |= , entonces |=

d)

Si |= y {} |= , entonces |=

e)

|=/ si y solo si {} es insatisfacible.

3. DEDUCCIN FORMAL.
En este captulo se estudia un sistema deductivo en lgica
proposicional basado en reglas de inferencia debido al lgico
alemn Gerhard Gentzen.

SISTEMA DEDUCTIVO.
Definicin 3.1.1. Sea L un lenguaje proposicional, un secuente de
L es un par , , donde es un conjunto finito de frmulas de L y
es una frmula de L. Los elementos de son las premisas y
es su conclusin. Para abreviar se escribir en lugar de ,
.
Definicin 3.1.2. Una derivacin es una sucesin finita de
secuentes cada uno de los cuales se obtiene mediante la
aplicacin de alguna de las siguientes reglas de inferencia:
1. Reglas estructurales.
[E1]

_____ , si

[E2]

, si

2. Introduccin y eliminacin de la negacin.


[I ]

{ }

[E ]

{}

{}

{}

3. Introduccin y eliminacin de la conjuncin


[I ]

[E ]

4. Introduccin y eliminacin de la disyuncin


[I ]

[E]

{}

{}

5. Introduccin y eliminacin del condicional


[I ]

{}

[E ]

6. Introduccin y eliminacin del bicondicional


[I ]

{}

[E ]

{}

Toda regla debe entenderse como una instruccin que permite


obtener un secuente a partir de una coleccin de secuentes.

Definicin 3.1.3. Se dice que un secuente es derivable, si


existe una derivacin cuyo ltimo secuente es , . Dada una
derivacin se dir que es una derivacin de su ltimo secuente.
Definicin 3.1.4.

Si = {1 ,...,n} es un conjunto finito de

frmulas de L y es una frmula de L, decimos que es


deducible de , si el secuente , es derivable. En general,
dado un conjunto de frmulas de L y una frmula de L, se dice
que es deducible de , en smbolos, | , si existe un
subconjunto finito de tal que el secuente , es derivable. Se
dice que es deducible sin premisas si | ..
El concepto de derivacin es puramente sintctico: las reglas se
usan para manipular entidades sintcticas, los secuentes. Se dice
que un secuente , es correcto si es consecuencia lgica de
.
Nota. En lugar de {} | se escribir | y en lugar de |
se escribir | .
Ejemplo 3.1.1. Demostrar {p} | q (p q)
Demostracin.
1. {p}

[E1]

2. {p, q} q

[E1]

3. {p, q} p

[E2], 1

4. {p, q} p q

[I], 3, 2

5. {p}

q (p q)

[I], 4

Ejemplo 3.1.2. Demostrar = {p q, q r} | p r


Demostracin

1.

pq

[E1]

2.

qr

[E1]

3. {p} p

[E1]

4. {p} p q

[E2], 1

5. {p} q

[E], 3, 4

6. {p} q r

[E2], 2

7. {p} r

[E], 5, 6

8.

[I], 7, 8

p r

Observacin: En el ejemplo anterior, previendo el uso de la regla


[I] ms adelante, se introduce p al principio y la demostracin
adquiere una forma ms corta. Esta estrategia es muy usada para
demostrar condicionales. La demostracin queda as:

1. {p}

pq

[E1]

2. {p}

qr

[E1]

3. {p}

[E1]

4. {p}

[E], 3, 1

5. {p}

[E], 4, 2

6.

pr

[I], 5

Ejemplo 3.1.3. Sea = { ( ), }. Demostrar: |


Demostracin

1.

( )

[E1]

2.

[E1]

3.

[E], 2

4.

[E], 1, 3

5. {}

[E1]

6. {,}

[E2],2

7. {,}

[E], 6

8. {,}

[E1]

9. {}

[E],7, 8

10.

[I], 4,5,9

Observacin: Para obtener usando [E] a partir de la lnea 4 es


necesario obtener con ayuda de y de .

Lo segundo es

inmediato (lnea 5); lo primero se hace por reduccin al absurdo


(lneas 6-9).
Ejemplo 3.1.4 . Demostrar |
Demostracin
1. {( )}

( )

[E1]

2. {( ), }

[E1]

3. {( ), }

[I], 2

4. {( ), }

( )

[E2],1

5. {( )}

[I], 3, 4

6. {( )}

[I], 5

7.

[E], 1, 6

Observacin: Esta es una deduccin sin premisas. Por lo tanto,


todas las premisas de la derivacin son auxiliares y deben

eliminarse, puesto que el ltimo secuente de la derivacin debe ser


, .

Adems, se ha utilizado la estrategia de

demostracin por reduccin al absurdo: se ha negado lo que se


quiere demostrar, lo cual conduce a una frmula y su negacin
(lneas 1 y 6).
Ejemplo 3.1.5. Demostrar ( ) |
Demostracin. Sea = {( )}

1. {}

( )

[E1]

2. {}

[E1]

3. {}

[I], 2

4.

[I], 1,3

5. {}

( )

[E1]

6. {}

[E1]

7. {}

[I], 6

8.

[I], 5, 7

9.

[I],4, 8

REGLAS DERIVADAS.
Al utilizar el clculo deductivo, a menudo se repiten ciertos pasos
una y otra vez. Para evitar estas repeticiones y simplificar la tarea,
se introducen reglas derivadas. Para justificar una regla derivada
se construye una derivacin con la nica diferencia de que sus
primeras lneas son los secuentes superiores de la regla. A
continuacin se dan algunas reglas derivadas.

I.

Contradiccin: [CD]

Demostracin.

1.

II.

Suposicin.

2.

3.

{}

[E2], 1

4.

{}

[E2], 2

5.

[E], 3 y 4

Doble negacin: [DN]

III.

Suposicin.

Modus tollens: [MT]

Demostracin.

1.

Suposicin

2.

Suposicin

3.

{}

[E1]

4.

{}

[E2], 1

5.

{}

[E], 3, 4

6.

{}

[E2], 2

7.

[I], 5, 6

IV. Eliminacin de un dilema: [ED]

La demostracin de las otras reglas derivadas se dejan como


ejercicio.
Ejemplo 3.2.1. Demostrar | ( )
Demostracin: Sea = { }

1. { }

[E1]

2. { }

[E1]

3. { }

[E], 1

4. { }

[E], 1

5. { }

[ED], 2, 3

6.

( )

[E], 4, 5

ALGUNOS RESULTADOS SOBRE DEDUCIBILIDAD.


En esta seccin se enuncian y demuestran algunos resultados
importantes sobre deduccin, se define validez desde deduccin y
se establece la correctitud y completitud de la lgica proposicional.
Teorema 3.3.1. Para cualquier conjunto de frmulas y cualquier
frmula , | ( ).
Demostracin. La siguiente es una derivacin de , ().

1.

{}

2.

( )

[E1]
[E]

Teorema 3.3.2 (Monotona) Sean y conjuntos de frmulas y


una frmula arbitraria,

1.

si , entonces |

2.

si | , entonces | .
Demostracin.

1. Puesto que en virtud de la regla [E1], el secuente {},


es derivable, si , entonces | .

2. Si | ,.sea un conjunto finito tal que el secuente ,


es derivable. Puesto que , tenemos tambin
que | .
Teorema 3.3.3. Sean y frmulas y un conjunto de frmulas.
Si | () y | , entonces | .
Teorema 3.3.4.

( De deduccin) [TD].

Sean y frmulas

cualesquiera y un conjunto de frmulas. Si {} | , entonces


| ( ).
Demostracin. Supongamos que {} | . Luego hay un
conjunto finito {} tal que el secuente , es derivable.
Sea = {}, entonces el secuente {}, tambin es
derivable. En efecto, si , {} = ; y si , el secuente
se obtiene por la regla [E2] extendiendo cualquier derivacin de ,
. Extendamos ahora una derivacin de {}, aadiendo el
secuente , ( ) gracias a la regla [I]. De esta manera
obtenemos una derivacin de , ( ). Puesto que ,
concluimos que | ( ).
Teorema 3.3.5. Si | ( ), entonces | ( ).
Demostracin. La siguiente es una derivacin de , ( ).

1.

( )

Suposicin.

2. {, }

[E1]

3. {, }

( )

[E2], 1

4. {, }

[E], 3, 4

5. { ,}

[E1]

6. { }

[I], 4, 5

7.

( )

[I], 6

Teorema 3.3.6.

(Reduccin al absurdo) [RA].

Sean y

frmulas cualesquiera y un conjunto de frmulas. Si {} |


y {} | , entonces | .
Demostracin. Supongamos que {} | y {} | .
Ahora por la regla [CD], {} | ( ) y por [TD] se tiene,
| ( ). De ah se obtiene la derivacin:

1.

( )

2.

( ) Por Teorema 3.3.5.

3.

Por Teorema 3.3.1.

4.

[E], 2, 3

Teorema 3.3.7. (Transitiva). [TR]

Sean y frmulas

cualesquiera y un conjunto de frmulas. Si |

y | ,

entonces | .
La demostracin se deja como ejercicio.
Ejemplo 3.3 1. Demuestre: { , } | ( ) usando [TD]
Solucin. Sea = { , }. Vamos a demostrar que
{} | y usamos [TD] para concluir que | ( ). Por la regla
[E1] se tiene {} | , {} | ( ) y {} | ( ).
Luego, {} | y {} | en virtud del Teorema 3.2.3. Por
[TD] concluimos que | ( ).
Ejemplo 3.3.2. Demuestre | usando [RA].

Solucin. Sean = { } y = {}. Entonces |


y | ( ), luego por [DN], | y por el teorema 3.2.3, |
obteniendo una contradiccin. Por [RA] concluimos que |
A continuacin definimos validez a partir de deduccin y se
enuncian los teoremas de completitud y de correctitud de la lgica
proposicional.
Definicin 3.3 1. Un razonamiento R = , con premisas y
conclusin es vlido si es deducible de , es decir | ..
Teorema 3.3.8. ( Correctitud).

Para toda tautologa y el

conjunto de reglas del sistema de Gerhard Gentzen, si |


entonces |= .
Definicin 3.3.2. Un sistema deductivo es completo si se pueden
deducir a partir de l todas las tautologas.
Teorema 3.3.9. ( Completitud). Para toda tautologa y el
conjunto de reglas del sistema de Gerhard Gentzen, si |=
entonces | ..
EJERCICIOS.
1. Establezca la validez de cada uno de los siguientes
razonamientos usando slo las reglas de inferencia dadas.

a) {p q, p q} | p
b) {p q r, t r, p t} | q
c) {p q r, t r, s q, p t} | q s
2. Demuestre las reglas derivadas [DN] y [ED] y los teoremas
3.2.3 y 3.2.7.
3. Demuestre

a) ( ) |
b) ( ) | ( )
c) |
d) | ( )
4. Simbolizar los siguientes razonamientos y demuestre su
validez usando slo reglas de deduccin.
a) Si el crimen ocurri despus de las 4:00 a.m., entonces
Snchez no pudo cometerlo. Si ocurri a las 4:00 a.m. o antes,
entonces Gmez no pudo cometerlo. El crimen involucra a dos
personas si Gmez no lo cometi. Por lo tanto, si Snchez
cometi el crimen, entonces el crimen involucra a do personas.
b) Si Norma va a su reunin del sbado por la maana,
entonces deber levantarse temprano ese da. Si ella va al
concierto de Gilberto Santarrosa el viernes por la noche
(anterior), entonces llegar despus de la 1:00 a.m. Si Norma
llega a su casa a esa hora y se levanta temprano , entonces
tendr que ir a trabajar despus de dormir menos de cinco
horas. Por desgracia Norma no puede trabajar con menos de
cinco horas de descanso. Por lo tanto, Norma no deber ir al
concierto o deber faltar a la reunin del sbado por la
maana.
c) Si los investigadores en lingstica tienen la razn,
entonces si hubo ms de un dialecto en la antigua Grecia,
entonces llegaron diferentes tribus desde el norte en pocas
distintas.

No llegaron diferentes tribus desde el norte en

pocas distintas o ellas arribaron por el valle de Ro Danubio.


Pero las excavaciones arqueolgicas hubieran revelado trazas
de diferentes tribus en el valle del Ro Danubio si ellas

hubieran llegado por all. Las excavaciones arqueolgicas no


han revelado trazas de diferentes tribus en el valle del Ro
Danubio.

En consecuencia, para que los investigadores

tengan la razn es necesario que no haya habido ms de un


dialecto en la antigua Grecia.

4. RESOLUCIN Y PROGRAMACIN LGICA.


En este captulo se estudia otro sistema deductivo que consta de
disyunciones elementales exclusivamente y dos reglas: corte y
simplificacin, usado en demostracin automtica. Pero antes de
entrar en resolucin se introducen algunos conceptos importantes
para el desarrollo de este tema.
FORMAS NORMALES.
Definicin 4.1.1. Un literal es una letra proposicional afirmada o
negada.
Ejemplo 4.1.1. Son literales p, p, q , q.
Definicin 4.1.2.

1. Conjuncin elemental o trmino mnimo (Minterm): Es


una conjuncin de literales en la cual cada variable se
representa exactamente una vez.

2. Disyuncin elemental o trmino mximo (Maxterm) : Es


una disyuncin de literales en la cual cada variable se
representa exactamente una vez.
Ejemplo 4.1.2

a)

p q r es un minterm en las variables p, q y r.

b)

p q r es un maxterm en las variables p, q y r.

c)

p es un minterm y al mismo tiempo es un maxterm en p.


Definicin 4.1.3. Sea una frmula. Se dice que est en la
Forma Normal Disyuntiva (FND) si = 1 2 n , donde

es una conjuncin elemental. Se dice que est en la Forma


Norma Conjuntiva (FNC) si = 1 2 n , donde i es una
disyuncin elemental.
Ejemplo 4.1.3

a) p, p q, (p q) (p q r) estn en FNC.
b) p, p q, (p q) (p q r) estn en FND.
c) p q est tanto en FNC como en FND.
Definicin 4.1.4.

1. Una frmula est e la Forma Normal Disyuntiva Plena


(FNDP), si est expresada como una disyuncin de
conjunciones elementales en las variables de y para cada
i j , i no es una permutacin de j .

2. Una frmula est en la Forma Normal Conjuntiva Plena


(FNCP), si est expresada como una conjuncin de
disyunciones elementales en las variables de y para cada
i j , i no es una permutacin de j .
Ejemplo 4.1.4.

a)

p, p q, (p q r ) (p q r) estn en FNDP
en las variables p, p y q; y p, q y r respectivamente.

b)

p, p q, (p q r ) (p q r) estn en
FNCP en las variables p, p y q, y p, q y r respectivamente.

d)

(p q) (p q ) (q p) no est en FNDP en las


variables p y q porque q p es una permutacin de p q.

Ejemplo 4.1.5. Hallar la FNDP y la FNCP de las frmulas:


a)

(p q) r

b) p (q r)

Solucin. a) Usando equivalencias tenemos:


(p q) r (p q) (q p) r
(p q) (q p) r
((p q) q) (p q) p) r
((p q) (q q) (p p) (q p)) r
((p q) F F (p q)) r
((p q) (p q)) r
((p q r) (p q r)
Luego la FNDP de (p q) r
es (p q r) (p q r).
(pq)r ((p q r) (p q r)
((p q r) p) ((p q r) q) ((p q r) r)
(pp)(qp)(rp)(pq)(qq)(rq)(pr)(qr)(rr)
V (qp) (rp) (pq) V (rq) (pr) (qr) r
(pq) (p r) (pq) (qr) (pr) (qr) r
(pq) (pr) (pq) (qr) (pr) (qr) r

Ahora:
(pq) (p q) F (p q) (r r) (p q r) (p q r)
(pr) (p r) F (p r) (q q) (p r q) (p r q).
(pq) (p q) F (p q) (r r) (p q r) (p q r)

(qr) (q r) F (q r) (p p) (q r p) (q r p)
(pr) (p r) F (p r) (q q) (p r q) (p r q)
(qr) (q r) F (q r) (p p) (q r p) (q r p)

Al sustituir estos resultados y aplicando simplificacin se obtiene la


FNCP.
(pqr)(pqr) (prq)(pqr)(pqr)(qr p)

b) En este caso usaremos el mtodo de las valuaciones o tablas


de verdad.
Tabla 11
p q r p (q

Minterms

Maxterms

r)
V
V
V
V
F
F
F
F

V
V
F
F
V
V
F
F

V
F
V
F
V
F
V
F

V
V
V
F
V
V
V
V

P1 = pqr
P2 = pqr
P3 = pqr
P4 = pqr
P5 = pqr
P6 = pqr
P7 = pqr

S1 = pqr

Para hallar la FNDP tomamos los valores V en la tabla y


encontramos los minterms. Como la frmula toma el valor V en
dichas valuaciones, las variables cuyo valor de verdad es V se
toman afirmadas, mientras que las que asumen el

valor F se

toman negadas en el minterm. Es fcil ver que el minterm pqr


slo toma el valor V en la valuacin v tal que v(p) = V, v(q) = V y
v(r) = V, mientras que en las dems valuaciones toma el valor F.
Lo mismo sucede con los otros minterms.
Luego, la FNDP es: (P1) (P2) (P3) (P4) (P5) (P6) (P7)
En forma similar se encuentra que la FNCP es pqr

Ahora extendemos el concepto de equivalencia entre fbfs a


conjuntos de frmulas.
Dos conjuntos de frmulas y son

Definicin 4.1.5.

equivalentes, lo cual se escribe eq , si y solo si | , para


cada y | , para cada .
Ejemplo 4.1.6. Sean los conjuntos = {(p r) (q s), p, s} y
= {q r s, p q s, p, s}. Entonces eq .
Nota: Si una frmula tiene una FNC: D1 D2 Dn, no es
difcil demostrar

que {} eq {D1, D2, , Dn} un conjunto de

disyunciones elementales que llamaremos .

En general,

cualquier conjunto de frmulas es equivalente es equivalente a


un conjunto de disyunciones elementales , donde =
siendo

el

conjunto

de

disyunciones

elementales

correspondientes a .
Definicin 4.1.6. Una clusula es una frmula que tiene una de las
formas:

1.

C = l, donde l es un literal.

2.

C = l1 l2 ln , donde cada li es una


literal..

3.

La clusula vaca que se denota por f .


Es decir, una clusula es una disyuncin elemental o la clusula
vaca.
Observaciones.

1. Si C es una clusula, entonces C f = f C = C.


2. Si es una valuacin, entonces (f) = F. (Definicin).
3. satisface a C si (li ) = V para algn i = 1,2, ...,k.

DEDUCCIN POR RESOLUCIN


Una deduccin (demostracin o derivacin) formal por resolucin
de una clusula C a partir de un conjunto de clusulas , en
smbolos |R C , es una sucesin finita de clusulas C1, C2, , Cn
tal que Cn = C y cada Ci o se obtiene de dos clusulas
precedentes en la sucesin a travs de una aplicacin de la
siguientes reglas de resolucin.
1. Regla de corte:
C1 p C2
D1 p D2
_______________
C1 D1 C2 D2

p
p
___
f

2. Regla de simplificacin:
C1 p C2 p C3
________________

C1 p C2 p C3
___________________

C1 p C2 C3

C1 p C2 C3.

Aqu Ci y Di son clusulas (inclusive las vacas).


En forma de rbol las anteriores reglas de corte y simplificacin se
ven de la forma.
C 1 p C2

D1 p D2

C 1 D1 C2 D2

p p

C1 p C2 p C3 C1 p C2 p C3

C1 p C2 C3 C1 p C2 C3

A continuacin se da un ejemplo de aplicacin de ambas reglas


Ejemplo 4.2.1.
a) p q s

b) p q r

p q s

p q r

______________
p p q q

____________
Corte

pprr

___________
p q q

Corte

_________
Simplificacin

p r r

Simplificacin

Observaciones:
1.

La ltima clusula en una demostracin formal por


resolucin, se llama conclusin o resolvente.

2.

Si la conclusin es la clusula vaca, se dice que la


demostracin es una refutacin.

Lema 1. Si | C entonces |= C .
R

Demostracin. Basta ver que si una valuacin hace verdadera


las dos premisas de la regla de corte, debe verificar alguna entre
C1, C2, D1, D2, de lo contrario debera verificar a p y a p lo cual
es imposible. Por lo tanto, hace verdadera a C1 D1 C2 D2.
Igualmente es obvio que la regla de simplificacin preserva verdad.
El recproco es falso. Sin embargo, se probar otra forma de
completitud.
Definicin 4.2.1. Se define D(p1,p2,,pn) como el conjunto de
disyunciones elementales cuyas letras proposicionales estn entre
p1,p2,,pn junto con el smbolo especial f que denota la disyuncin
vaca. Es decir, D(p1,p2,,pn) es el conjunto de clusulas.

Lema 2.

Sea D(p1, p2, ..., pn)

n 1, es insatisfacible,

entonces para cada valuacin v de p1, p2, ..., pn-1 existe D que no
contiene a pn tal que |R Dv y v ( D ) = F (Dv puede ser f).
Demostracin. Si existe D D(p1, p2, ..., pn-1) tal que
v ( D) = F basta tomar Dv = D. Suponga ahora que para todo D
D(p1, p2, ..., pn-1) se tiene v ( D ) = V .

1. Sea v1 la extensin de v a p1, p2, ..., pn definida por v1(pn) =


V. Como es insatisfacible, existe D tal que v1(D) = F.
Por hiptesis, D debe contener a pn como v1(pn) = V, entonces
pn slo puede aparecer negada en D. Por simplificacin,
D | D1 pn D2
R

donde

v1 ( D1 pn D2 ) = v1 ( D ) = F .
v ( D1 D2 ) = v1 ( D1 D2 ) = F .

pn

ocurre
Por

slo

una
lo

vez

tanto,

En conclusin |R D1 pn D2

con v ( D1 D2 ) = F . (1).

2.

Ahora sea v1 la extensin de v a p1, p2, ..., pn- donde v1(pn)

= F. Argumentando como antes, debe existir D ' tal que


v1' ( D ' ) = F y por lo tanto D ' debe contener pn no negada.
Usando simplificacin se reducen las ocurrencias de pn a una y
tenemos

D1' pn D2' con v ( D ' D ' ) = F . (2)


1
2

3. De (1) y (2), por la regla de corte obtenemos

D1 D1' D2 D2' con

v ( D1 D1' D2 D2' ) = F

( D1 D1' D2 D2' )

(p1,

p2,

...,

pn-1).

Tmese

Dv = D1 D1' D2 D2' . Note que Dv puede ser f.


Corolario. Si D(p1, p2, ..., pn-1) es insatisfacible, existe 1
(p1, p2, ..., pn-1) insatisfacible y tal que |R 1 .
Demostracin. Sea 1 = {Dv | v es valuacin de p1, p2, ..., pn-1}
donde Dv es la disyuncin asociada a v por el lema anterior.
Entonces |R 1 y 1 es insatisfacible ya que en cada uno de sus
elementos es falsificado por alguna valuacin.
Teorema 4.1.1. es insatisfacible si y slo si |R f .
Demostracin. (Si).

Suponga que |R f , entonces f

| { p, p} pues la nica forma de introducir f es por la regla de


R
corte.

En el primer caso es obviamente insatisfacible; en el

segundo | p, p y por el Lema 1, no puede ser satisfacible.


(Slo si). Suponga ahora que D(p1, p2, ..., pn) es insatisfacible.
Aplicando el corolario n veces, se tiene:
| n 1 | | 1 | 0 ,
R
R
R
R
donde i D(p1, p2, ..., pi) y cada i es insatisfacible. En particular
| 0 , donde 0 D(), es decir, 0 = {f}. Por lo tanto, | f .
R
R
Teorema 4.1.2. Sea un conjunto de frmulas y una frmula.
Entonces
|= si y slo si {} es insatisfacible si y slo si { |R f .

El

teorema anterior y el teorema de completitud de lgica

proposicional da un mtodo general para establecer que una


frmula es deducible de un conjunto de frmulas . Es decir,
para demostrar | , se procede de la siguiente manera.

1. Se agrega a .
2. Se genera un conjunto de clusulas {}

que sea

lgicamente equivalente con {}.

3. Se intenta obtener la clusula vaca a partir de {} por


medio de una refutacin formal basada en resolucin.
Por comodidad, escribiremos en lugar de {} si no hay lugar a
confusin.
Ejemplo 2.2. Demostrar usando resolucin que
= {(p r) (q s), p, s} | q.
Solucin:

Primero transformamos el conjunto {q} en un

conjunto de clusulas .
(p r) (q s) (p r) (q r) (p r) (q s)
(p q s) (r q s)
Esta frmula genera dos clusulas: C1 = p q s y C2 = r q
s. As, {q} es equivalente al conjunto de clusulas =
{p q s, r q s, p, s, q}. Ahora se demuestra su
insatisfacibilidad a travs de una refutacin por resolucin a partir
de , obteniendo la siguiente sucesin de frmulas.

1. q

C5

2. p q s C1
3. p s

Corte 1, 2

4. p

C3

5. s

Corte 3, 4

6. s

C4

7. f

Corte 5, 6

Luego, es insatisfacible, con lo cual se ha demostrado que |= q


por el teorema 4.1.2.
Tambin se puede realizar la refutacin mediante un rbol

de

refutacin.
p q s

r q s

p s

r s
s

r
f

El diagrama muestra demostraciones fallidas (la que llega a r) y


exitosas (la que llega a f). De l se puede extraer el siguiente
rbol de refutacin.
s

p q s

p s
s
f
Ejemplo 2.3. Demostrar usando resolucin que ={(p q) r, r
p} | p (q r).
Solucin: Primero transformamos el conjunto {(p (q r))}
en un conjunto de clusulas .

1.

(p q) r (p q) r (p q) r
(p r) ( q r).

2.

r p r p.

3.

(p (q r)) p (q r) p (q r)
(p q) (p r).

Las frmulas anteriores generan cinco clusulas: C1 = p r, C2 =


q r, C3 = r p, C4 = p q y C5 = p r. As,

{(p (q r))} es equivalente al conjunto de clusulas = {p


r, q r, r p, p q , p r }.
Ahora se demuestra su insatisfacibilidad a travs de una refutacin
por resolucin a partir de , obteniendo la siguiente sucesin de
frmulas.

1. p r

C1

2. r p

C3

3. p p

Corte 1, 2

4. p

Simplificacin 3

5. p q

C4

6. q

Corte 4, 5

7. q r

C2

8. r

Corte 6, 7

9. p r

C5

10. p

Corte 8, 9

11. f

Corte 4, 10

Luego, es insatisfacible, de donde |= p (q r) por el teorema


4.1.2.
El rbol siguiente describe la deduccin anterior.
pr

r p

p p (C)

pq

p (S)
qr

q (C)

p r

r (C)

p (C)
f (C)

INTRODUCCIN A PROGRAMACIN LGICA.


Prolog es un lenguaje basado en las reglas de la lgica. Los
programas en Prolog se expresan en una base de datos que
consta de hechos y reglas. Los hechos enuncian los datos bsicos,
tales como las propiedades de ciertas entidades. Por su parte, las
reglas nos permiten hacer inferencias tomando como base estos
datos. La informacin se extrae de la base de datos por medio de
consultas. Las consultas se corresponden con la conclusin de
una derivacin, mientras que la base de datos proporciona las
premisas.
Definicin 4.3.1. Una clusula de Horn es una clusula con a lo
sumo un literal positivo (no negado).

Ejemplo 4.3 1. Sean p, q y r tomos. La siguientes son clusulas


de Horn:
C1: p, C2: p q r, C3: p q r, C4: f, donde f denota la
disyuncin vaca.
Note que las clusulas de Horn son de la forma
p q1 q2 qm (*)
(aunque p puede no existir y m = 0).

La frmula

(*) es

equivalente a
(q1 q2 qm) p . (**)
Si m = 0 y no existe p se dice que la clusula es vaca y se
representa por . Si m = 0 , el antecedente es vaco.

Una

clusula de este tipo se denomina un hecho y es equivalente a


afirmar p. En lugar de p, se escribir p. Si m > 0 y no existe p,
la clusula toma la forma q1 q2 qm .

Este tipo de

clusulas se denominan objetivos. Si m > 0 las clusulas son de


la forma q1 q2 qm p.

Si se tiene q1 , q2 , , qm

definitivamente se tiene p. Estas clusulas se denominan reglas.


En notacin introducida por Kowalsky y muy usada en Prolog, una
clusula de la forma q1 q2 qm p se escribe
p q1 , q2 , , qm.

(***)

La cabeza de la clusula es p y el cuerpo es q1 , q2 , , qm. La


negacin p, se escribe p y la clusula vaca por .
notacin de Prolog (***) se escribe
p :- q1 , q2 , , qm.

(****)

En

Las clusulas de Horn de la forma (***) se pueden clasificar en 4


tipos: La clusula vaca, los hechos, los objetivos y las reglas. Se
hablar de clusula definida para referirse bien a una regla o bien
un hecho y de programa definido para referirse a un conjunto de
clusulas definidas.
Definicin 4.3.2. Un programa en Prolog es un programa definido
P y un objetivo O. La ejecucin del programa corresponde a la
bsqueda de una deduccin de la clusula vaca a partir del
conjunto P {O}.
Ejemplo 4.3.2. Considere el siguiente programa PROG1 y el
objetivo p.

a) p q , s
b) s t
c) t
d) q
A partir de PROG1 se puede demostrar p. Para ello, se procede
por el mtodo de contradiccin, agregando p al programa. As, el
conjunto extendido de clusulas es.

a. p
b. p q , s
c. s t
d. t
e. q
Se puede aplicar resolucin para intentar obtener la clusula vaca,
en este caso . La regla de corte se ve en la siguiente forma
pq,s

p q , s

s t

qt

pq

-----------

--------

------

pq,t

pt,s

p
------

La siguiente podra ser una demostracin de p a partir de PROG1.

1. p

La negacin de p

2. p q , s

Definicin de p

3. q , s

Corte 1,2

4. q

Definicin de q, q es un hecho

5. s

Corte 3,4

6. s t

Definicin de s

7. t

Corte 5,6

8. t

Definicin de t, t es un hecho

9.

Corte 7,8

Por lo tanto, PROG1 |= p.


Para que este proceso pueda ser efectuado de manera automtica
se deben establecer ciertas estrategias o caminos a seguir, las
cuales dan origen a diferentes implementaciones de programacin
lgica. Las implementacin particular de programacin en lgica es
el lenguaje de programacin PROLOG. La estrategia de este es
bsqueda primero en profundidad con retroceso (backtracting),
que es lo siguiente. Se parte de la meta p ( ser una
demostracin descendente) y en seguida se elige la primera
clusula con p en la cabeza. Intentar obtener la clusula vaca
por resolucin.

Esto ir generando nuevas submetas, que se

intentarn demostrar, con el propsito de llegar a la clusula vaca.


Si no se logra, se har retroceso (backtracting), considerando la

siguiente clusula que permita aplicar resolucin. Con respecto a


las submetas, ir considerando de izquierda a derecha (en el
cuerpo), postergando las metas que se estn ms a la derecha,
hasta que las de la izquierda hayan sido demostradas. Esta es la
estrategia que se us en el ejemplo 4.3.2.
Ejemplo 4.3.3. Demuestre p a partir del programa PROG2

4. p q, s
5. p u
6. s t
7. q v
8. v
9. u
Solucin.

1. p

La negacin de p

2. p q, s

Definicin de p

3. q, s

Corte 1, 2

4. q v

Definicin de q

5. v, s

Corte 4, 5

6. v

v es un hecho

7. s

Corte 1, 6

8. s t

Definicin de s

9. t

Corte 7, 8 y se produce falla

10. p u

Definicin de p (Retroceso)

11. u

Corte 1, 10

12. u

u es un hecho

13.

Corte 11, 12 y se tiene xito

Por lo tanto, PROG2 |= p.

4.3.1 Negacin en prolog


En la seccin anterior se vio que no es posible obtener
conocimiento negativo a partir de un programa en lgica (PROG)
que contiene solo clusulas de Horn positivas. Es decir, para un
literal positivo p se puede tener PROG |= p o no, pero nunca se
tiene PROG |= p. Sin embargo, se podra estar interesado en
concluir p cuando PROG |=/ p. Es decir, concluyendo p por
una especie de suposicin de un mundo cerrado por medio de la
cual se puede concluir informacin negativa si es que la
informacin positiva no aparece explcitamente. Extendiendo la
suposicin del mundo cerrado a programas en lgica se tendra
que un literal negativo es consecuencia de un programa de Horn
positivo si el literal positivo correspondiente no es consecuencia
lgica del programa. Ntese que ya no basta con verificar si el
literal positivo est explcitamente en el programa, pues este
podra ser consecuencia del programa.
Esta suposicin del mundo cerrado generalizada es inoperante en
el sentido que se vuelve al concepto de consecuencia lgica en
circunstancias que se haba pasado al terreno deductivo. Para
mantenerse en l se considera una suposicin modificada: un
literal negativo es consecuencia lgica de un programa si es que el
literal positivo correspondiente no puede ser demostrado por
resolucin a partir de l. En este caso, se dice que la negacin
es verdadera (con respecto al programa). Sin embargo, hay que
notar que esta forma de negacin es distinta de la negacin lgica;

ella se llama negacin como falla. Negacin como falla es, en


general, ms dbil que la suposicin del mundo cerrado
generalizada, es decir, esta ltima, en caso de indeterminacin,
acepta ms conocimiento negativo que negacin como falla, ya
que la falla puede no ser detectada, dependiendo de la estrategia
de resolucin implementada. Se usar la notacin not p para la
negacin como falla, en lugar de p. No hay que olvidarse que not
p no es lo mismo que p. La expresin not p significa que el
programa no pudo demostrar p.
Ejemplo 4.3.1.1. Considere el programa PROG3

1. p q, s
2. q r
3. r s
4. r
Se pregunta por p
Solucin.

1. p
2. p q, s
3. q, s

Corte 1, 2

4. q r
5. r, s

Corte 3, 4

6. r

7. s

Corte 5, 6; se produce falla.

Por lo tanto, PROG3 |= not p


Ejemplo 4.3.1.2. Considere el programa
pp

Se pregunta por p.
Solucin. Aplicando resolucin se obtiene

1. p
2. p p
3. p
producindose un ciclo infinito. El programa no acepta la negacin
como falla.
EJERCICIOS
1. Encuentre la FND y la FNC

para cada una de las

siguientes frmulas

a) (p q) (r (s t))

d) (p q) r

b) (p q) r

e) ( p r) (q s)

c) (p s) (q r)
2. Halle la FNDP y la FNCP de cada una de las siguientes
frmulas

a) (p q) r

c) (p q) r

b) c) (p q) (q r)
3. Halle frmulas lo ms sencillas posibles que representen
cada una de las siguientes funciones f: {V , F }n {V , F }.

a) f(p1, p2, ..., pn) = pn.


b) (f(p1, p2,..., pn)) = F si (p1) = (p2) = ... = (pn) = V y
(f) = V de otro modo

4. Demuestre que p |R/ p q .


5. Construya una demostracin por resolucin para establecer
que

a) (p q r) p (p q r) (p r) es
insatisfacible.

b) {p (q r), t r, s q, p t} |= q s
c) (p (p q)) ((p q) q) es tautologa.
d) {p q, r (p q)} |= p (q r)
6. Demuestre p segn la estrategia de PROLOG a partir del
siguiente programa
a) PROGR1: 1. p q , s

p q, r

b) PROGR2: 1.

2. p u

2.

px

3. s t

3.

qs

4. s r

4-

st

5. q v

5.

6. r w

6.

tu

7. v

7.

uw

8. u

8.

sx

9.

7. Considere los siguientes programas y responda las


consultas.
a) p q
qr

b)

pq
q not r

c) p q
q not r
r

i) p

i) p

i) p

ii) not q

ii) q

ii) not p

SEGUNDA PARTE

LGICA DE PREDICADOS DE
PRIMER ORDEN

SEGUNDA PARTE: LGICA DE PRIMER ORDEN


Considere los siguientes razonamientos evidentemente vlidos:
1. Si estudia informtica entonces le gusta la lgica. A Juan
no le gusta la lgica. Por lo tanto, Juan no es estudiante de
informtica.
2. En el planeta tierra hay vida, por la tanto existe un planeta
en el que hay vida.
La simbolizacin en lgica proposicional sera:

1. p q

donde: p: Estudia informtica

q: Le gusta la lgica

r: Juan le gusta la lgica


s: Juan es estudiante de informtica

2.

donde t: En el planeta tierra hay vida

----

u: Hay un planeta que tiene

vida
u
Los razonamientos son vlidos si {p q, r} | s y t | u, lo cual
no es cierto en lgica proposicional.
El no poder establecer la validez de este razonamiento se debe a
que el clculo proposicional no tiene en cuenta las propiedades y
relaciones entre las estructuras internas de las proposiciones y
solo refleja un aspecto parcial de las conexiones lgicas. Para

entender la lgica de las proposiciones anteriores es necesario


analizar su estructura ms profundamente. En respuesta a esto
surge la lgica de predicados de primer orden (LPO) o clculo de
predicados.

5. SINTAXIS.
En esta seccin se define de manera precisa el lenguaje de LPO.
El alfabeto de LPO consta de los siguientes smbolos.
1. Smbolos lgicos:
Conectivos proposicionales

, , , ,

Cuantificadores:

- Universal

- Existencial

x1, x2,

(,)

P11 , P21 ,

R12 , R22 ,

Igualdad

2. Variables
3. Smbolos de puntuacin
Parntesis
4. Smbolos no lgicos:
Smbolos de predicado
Smbolos de relacin
Binaria

R1n , R2n ,

Unaria

f11 , f 21,

Binaria

f12 , f 22 ,

f1n , f 2n ,

n- aria
Smbolos de funcin

n-aria
Smbolos de constante

c1, c2, ...

El lenguaje formal contendr dos tipos de objetos: trminos que


denotarn individuos y frmulas que denotarn afirmaciones. Estos
se definen inductivamente de la siguiente manera.
Trminos.
1. Las variables y constantes son trminos.

2. Si t 1 , , t n son trminos y f es smbolo de funcin n-aria,


entonces f (t1 , , t n ) es trmino.
Frmulas

1. Si t1 y t2 son trminos, entonces t1 t2 es frmula atmica.


2. Si P es smbolo de predicado y t es trmino, entonces P(t)
es frmula atmica.

3. Si t1, ... , tn son trminos y R es smbolo de relacin n-aria,


R(t1, ... , tn) es frmula atmica.

4. Si y son frmulas, entonces y () son frmulas,


donde *{,,,}.

5. Si es frmula y x es variable, entonces x y x son


frmulas.

LXICO DE PRIMER ORDEN.


Un lxico de primer orden es un subconjunto de smbolos no
lgicos. L, donde es el conjunto de smbolos no lgicos.
Dado un lxico L, los trminos y frmulas sobre L son aquellos que
se pueden construir utilizando solamente los smbolos de
predicado, relacin, funcin y constantes del lxico L.
Ejemplo 5.1.1. Sea el lxico L = {P1, R2, f1, g3 , c}. Determine
cules de las siguientes expresiones son trminos sobre L,
frmulas atmicas sobre L, frmulas sobre L o ninguna.
1. g(c, x, f(z))
2. f(g(g(x, f(g(x, x, y)), c), y, z))
3. g(P(x), y, z)
4. P(g(x, g(f(x), f(x),f(x)), c)

5. g(x, y z) f(c)
6. R(x, y) R(x, y)
7. x x y
8. (x (f(g(x, x, x)) c P(x)) ( z R(z, f(x)) x y))
Solucin.
1. Como x, z , c son trminos y, f es smbolo de funcin unaria
y g es smbolo de funcin ternaria, entonces f(z) es trmino y
por tanto g(c, x, f(z)) es trmino.
2. Como x, y, z y c son trminos, f es smbolo de funcin
unaria y g es smbolo de funcin ternaria, entonces g(x, x, c) es

trmino, tambin f(g(x, x ,c)) es un trmino, g(x, f(g(x, x, c), c)


es trmino, luego g(g(x, f(g(x, x, c), c), y, z)) es trmino y
finalmente se tiene que f(g(g(x, f(g(x, x, c), c), y, z)) es trmino.
3. Como x es trmino y P es smbolo de predicado, entonces
P(x) es frmula atmica; pero g es smbolo de funcin ternaria,
luego g(P(x), y, z) no es trmino ni frmula.
4. Como c y x son trminos, f es smbolo de funcin unaria y g
es funcin ternaria entonces f(x) es trmino, luego g(f((x), f(x),
f(x)) es trmino, g(x,g(f(x), f(x), f(x)), c) es trmino y como P es
smbolo de predicado, P(g(x, f(x), f(x),f(x)),c)) es frmula
atmica.
Los dems se dejan como ejercicio para el lector.

RBOL DE UN TRMINO Y DE UNA FRMULA.


A cada trmino se la puede asociar un rbol, donde los nodos
terminales son variables o constantes.
x

f(t1,..., tn)
t1

... tn

Ejemplo 5.2.1. Con el lxico del ejemplo 5.1.1,


sea t = g(f(g(x, x, f(x))), g(f(f(c)), y, x)).
El rbol de t es:

g
f

Toda frmula tiene un rbol donde los nodos terminales son


frmulas atmicas
t1 t2

P(t)

R(t1, ..., tn)

()

Ejemplo 5.2.2. Haga el rbol de


= x (R(f(x), w) w ((P(z) x w) R(w, x))).

Solucin. El rbol de la frmula es

R(f(x), w)

P(z)

R(w, x)
xw

PRINCIPIO DE INDUCCIN

5.3.1. Principio de induccin en trminos.


Sea L un lxico y una propiedad de cadena de smbolos tal que:

1. Las variables y las constantes de L tienen la propiedad.


2. Para todo smbolo de funcin n-aria f de L y trminos t1 , ...,
tn sobre L que tienen la propiedad entonces f(t1 , ...,tn )
tambin la tiene.
Entonces todo trmino sobre L tiene la propiedad .

5.3.2. Principio de induccin en frmulas


Sea L un lxico y una propiedad tal que:

1. Toda frmula atmica sobre L tiene la propiedad .


2. Si y tienen la propiedad , entonces y (), donde
{, , , }tienen la propiedad .

3. Si tiene la propiedad ,x y x tienen la propiedad


.
Entonces toda frmula de L tiene la propiedad .
A continuacin se dan las definiciones de ocurrencias de variables
en una frmula. Posteriormente se dar la definicin inductiva.
OCURRENCIA DE VARIABLES.
Definicin 5.4.1. Sea una frmula y x una variable. Se dice que
una ocurrencia de x es ligada en si est dentro de una
subfrmula de que empieza por x o x. De otro modo se dice
que la ocurrencia de x es libre.
Ejemplo 5.4.1.
Sea = x(R(f(x), w) w((P(z) w x) R(x , y)))
Todas las ocurrencias de la variable x son ligadas. La primera
ocurrencia de w es libre, mientras la otra ocurrencia de w es
ligada.

Definicin 5.4.2.
variables de t.

Si t es un trmino, V[t] es el conjunto de

Si

es una frmula, VL[] es el conjunto de

variables libres de .
A continuacin se da la definicin inductiva de las ocurrencias de
variables en trminos y de las ocurrencias de variables libres en
una frmula.

5.4.1. Variables de un trmino.


1. Si x es variable, V[x] = {x}.

2. Si c es constante, V[c] = .
3. Si f es smbolo funcional n-ario, t1,,tn son trminos
entonces V[f(t1, ...,tn)] = V[t1] V[tn].

5.4.2. Variables libres de una frmula.


1. VL[t1 t2] = V[t1] V[t2], donde t1 y t2 son trminos.
2. VL[P(t)] = V[t]

3. VL[R(t1 ,,tn)] = V[t1] V[tn], donde R es un smbolo


relacional n-ario y t1,,tn son trminos.

4. VL[] = VL[], donde es una frmula.


5. VL[()] = VL[] VL[], donde y son frmulas
y {, , , }.

6. VL[x ] = VL[x ] = VL[] {x}, donde es frmula.


Ejemplo 5.4.2. Halle VL[] usando la definicin inductiva, donde:
= x(R(f(x), w) w((P(z) w x) R(x , y))).

Solucin. Si = x(R(f(x), w) w((P(z) w x) R(x , y)))


VL[] = VL[] = VL[]
= VL[x ], = (R(f(x),w)w((P(z)w x) R(x , y)))
= VL[] {x}
= VL[(12 )]{x}, 1 = R(f(x),w),
2 = w((P(z) w x) R(x , y)).
= VL[1] VL[2] {x} = V[f(x)] V[w] VL[2] {x}
= V[f(x)] {w} VL[2] {x} = V[x] {w} VL[2] {x}
= {x, w} VL[w((P(z) w x) R(x , y))] {x}
= {x, w} VL[w((P(z) w x) R(x , y))] {x}
= {x, w} (VL[((P(z) w x) R(x , y))] {w}) {x}
= {x, w} (VL[P(z) w x] VL[R(x, y)] {w}) {x}
= {x, w} (VL[P(z)] VL[x w] {x, y} {w}) {x}
= {x, w} ({x, y, z} V[x] V[w] {w}) {x}
= {x, w} ({x, y, z} {w} {w}) {x}
= {x, w} {x, y, z} {x} = {x, y, z, w} {x} = {y, z, w}
En el ejemplo anterior, se podra sustituir la ocurrencia libre de la
variable w por u por ejemplo, para que w no aparezca como libre y
ligada al mismo tiempo. Ms adelante se precisar la definicin de
sustitucin de variables libres.
Observaciones.

1. La notacin (x1,,xn) se usa para indicar que VL[]


{x1 ,,xn}. Es decir, las variables libres de estn entre x1 y xn
2. Una variable puede aparecer libre en una parte y ligada en
otra en una misma frmula.

3. Se dice que es una sentencia si no tiene variables libres;


es decir, si VL[] = .
4. Una variable con variables libres expresa un predicado o
una relacin entre esas variables y una sentencia expresa una
proposicin categrica.

Anlogamente, un trmino con

variables expresara una funcin y un trmino sin variables


expresara un individuo (trmino cerrado).

SUSTITUCIN DE VARIABLES LIBRES.


Definicin 5.5.1. Sea una frmula, x una variable y t un trmino,
x
la expresin , denota la frmula que resulta de sustituir
t
todas las ocurrencias libres de x en por t.
Ejemplo 5.5.1.
Sea = x(R(f(x), w) w((P(z) w x) R(x , y)))
w
u

a) = x(R(f(x), u) w((P(z) w x) R(x , y)))


w

= x(R(f(x),f(a))w((P(z)wx)R(x , y)))
b)
f (a )
x

c) = x(R(f(x), w) w((P(z) w x) R(x , y)))


v

A continuacin se define en forma inductiva el concepto de


sustitucin.
Sustitucin en trminos. Sean x, y, t, r1,... , rn trminos y f un
smbolo de funcin n-aria.
x t si y x
=
y en otro caso

1. y
t
2.

x
x
x
f (r1 ,, rn ) = f r1 ,, rn
t
t
t

Sustitucin en frmulas.

Sean x, t, r1,..., rn trminos, P un

smbolo de predicado, R un smbolo de relacin n-aria, y


frmulas.

1.

[ r1 r2 ]

x
x
x
= r1 r2
t
t
t

x
x
= P x

2. [P(x)]
t

x
x
x
= R r1 ,, rn
t
t
t

3.

[ R(r1,, rn )]

4.

[ ]

5.

[ (

x
x
=
t
t

x x
)] =
t t

y
x
6. [y ] =
t y

x
, donde {, , , }
t

si y x
x

t

en otro caso

y
x
7. [y ] =
t y

si y x
x

t

en otro caso

x1 xn
.
En forma similar se define
t1 tn
Ejemplo 5.5.2. Sea L = {P1, R2, f1, g3} un lxico de primer orden.
1. Si r = g (x, y, f (g (f (c), c, x))), entonces:
x
x x
x
= g(x
,y
,f(g(f(c),c, x
)).
r
f (a )
f (a ) f (a )
f (a )
= g(f(a,), y, f(g (f(c), c, f(a)))

2. Si = x (R(f (x), w) w((P(z) w x))), entonces:


z
z
a) = x[(R(f(x),w)w((P(z) w x))] )
c
c
z
z
= x([R(f(x),w)] [w((P(z) w x)] ))
c
c
z
z
= x([R(f (x), w)] w[((P(z) w x] )))
c
c
z z
z
z
= x(R([f(x)] ,w )w([(P(z) [w x] )))
c c
c
c
z
z
z
= x (R(f (x ), w) w(([P(z)] [w x] )))
c
c
c
z
z
z
= x (R(f (x), w) w((P(z ) w x )))
c
c
c
= x (R(f (x), w)y((P(c) w x)))

w
b) = x (R(f (x), u) w((P(c) w x)))
u
y
c) = x (R(f (x), w)w((P(z) w x)))
c
x
d) = x (R(f (x), w)w((P(c) w x)))
t
En las partes b) d) no se ha usado la definicin recursiva por ser
muy tedioso el clculo. Lo que se ha hecho es sustituir
directamente. Eso es lo que se har de aqu en adelante a menos
que se indique lo contrario.
EJERCICIOS.

1. Aada

los

parntesis

necesarios

la

expresin

xyR(x,y)zP(z)R(x,z) P(x) de modo que se obtenga una


frmula cuya forma sea la que se indica.
a)

Una disyuncin.

b)

Un

condicional

cuyo

consecuente

es

una

disyuncin.
c)

Una disyuncin cuya primer componente es una

cuantificacin universal.
d)

La cuantificacin universal de una disyuncin.

e)

La cuantificacin universal de un condicional.

f)

La cuantificacin universal de la cuantificacin

universal de un condicional.

g)

La cuantificacin universal de la cuantificacin

universal de una disyuncin.


h)

La cuantificacin universal de un condicional cuyo

consecuente es la cuantificacin existencial de una frmula.


2. Halle las subfrmulas de cada una de las siguientes
frmulas.

a.

R(x, y) P(x)

e. xP(f(c)) R(x, g(x,

x(P(x) R(x, y))

f.

y))

b.

x(P(x)

Q(x))

c.

x Q(x) R(x, y)

g.

x(P(x) (Q(x)

R(x, y))

d.

x(R(x,y)yP(y))

h.

xy(P(x)(Q(x)R(x,y)))

3. Dado el lxico L = {R3,f2,c}, determine si las expresiones


siguientes son trminos sobre L, frmulas sobre L, o ninguno.

a.

f(f(x), c)

d. x(R(x, y, f(x, y)) (x

y))
e. z(f(f(f(x, c), x), c) z)

b.

R(f(c, c), c, f(c, x))

c.

f(R(x, c, x), y) g. x R(x, x, x) x f(x, x)

4. Cules son los trminos y las frmulas atmicas sobre el


lxico L = ?

5. Dada una frmula sean:


a. V[] = {x | x es variable de }
b. F[] = {f | f es smbolo de funcin que ocurre en }
c. H[] = nmero de ocurrencias de smbolos lgicos en
D definiciones recursivas para V[], F[] y H[]
6. Demuestre utilizando el principio de induccin en frmulas
que el nmero de smbolos lgicos de una frmula es siempre
mayor que el nmero de smbolos lgicos de sus subfrmulas
propias (es decir, las distintas a ellas).
7. Seale todas las ocurrencias de variables libres y ligadas y
el conjunto de variables que ocurre solamente libres en cada
una de las frmulas siguientes.

a.

x(P(x) Q(x)) x P(x) Q(x)

b.

x(P(x) y Q(x)) (x P(x) Q(x))

c.

y(x S(x, y, z) B(y)) (w R(z, w) R(w, x)))

d.

zwx(S(z, w, x) (y R(w, y) B(w)))

8. Como se est usando notacin prefija para los trminos, los


parntesis y las comas son realmente innecesarios. El trmino
g(f(g(x, x, f(x)), f(y), g(f(f(c)), y, x)) puede escribirse:
gfgxxfxfygffcyx.

D un mtodo para construir el rbol de un trmino expresado


en esta notacin.
9. Muestre que no necesariamente coinciden las expresiones
x x
x x
1 2 , 1 2
t1 t2
t1 t 2

x x
y 2 1
t2 t1

SEMNTICA
ESTRUCTURAS.
En el captulo anterior se introdujo la sintaxis de los lenguajes de
primer orden. Ahora se presentar la semntica, es decir, se le
atribuir significado.
Para interpretar un lenguaje de primer orden se deben hacer dos
cosas: primero, fijar un conjunto A no vaco de objetos y segundo,
interpretar cada uno de sus smbolos propios o primitivos. Esto
ltimo se hace indicando para cada una de la constantes qu
objeto o individuo del dominio A va a nombrar, asignando a cada
smbolo de predicado un subconjunto de A (que puede ser vaco),
asignando a cada smbolo relacionan n-ario (n > 1) una relacin naria en A (que puede ser vaco) y a cada smbolo de funcin n-aria
una operacin n-aria en A.
Definicin 6.1.1. Una interpretacin para un lxico de primer
orden L consiste en una pareja = A, L, al que se llama
estructura para L, donde

1. A es un conjunto no vaco, llamado el dominio o universo


de la estructura,

2. L es una funcin cuyo dominio es el conjunto de los


smbolos propios de L tal que

a) si c es un smbolo de constante de L, L(c) es un elemento


de A,

b) si P es un smbolo de predicado de L, L(P) es un


subconjunto de A,

c) si R es un smbolo relacional n-ario de L (n > 1), L(R) es


una relacin n-aria en A,

d) si es un smbolo de funcin n-aria de L, L() es una


operacin n-aria en A.
Notacin. Si s es un smbolo de L, L(s) es la interpretacin de s
en la estructura . En lugar de escribir L(s) se usar la notacin
s para referirse a la interpretacin de s en , es decir, s = L(s).
Si c es una constante individual entonces c es la denotacin o el
valor de c en A.
Denotacin de trminos.

Sea L un lxico de primer orden,

extendamos el lenguaje aadiendo constantes nuevas, una por


cada elemento de A y llammoslo L(A). La denotacin o valor en
una estructura de un trmino cerrado t del lenguaje ampliado
L(A), se define como sigue.

1. Si c es una constante individual y t c, entonces t c .


2. Si t f(t1,...,tn), donde f es un smbolo de funcin n-aria y

t1,...tn son trminos cerrados, entonces t f ( t 1 ,..., t n ).

Ejemplo 6.1.1.

Sea = A, P, R, f, g, h, c, d una

estructura para un lxico L, donde: A es el conjunto de los


nmeros naturales, P es el conjunto de los nmeros pares, R es
la relacin menor que, es decir, R = {(n, m) | n < m}, f es la
funcin sucesor, es decir, f(n) = n + 1, g es la funcin suma, es

decir, g(n, m) = n + m, h es la funcin producto, es decir, h(n,


m) = nm, c = 0 y d = 1. Entonces:

a) [f(c)] = f(c) = 0 + 1 = 1
b) [f(f(c))] = (0 +1) +1 = 2
c) [g(f(c), f(d))] = g (f (c), f (d)) = g (1 ,3) = 1 + 3 = 4.
Se acostumbra denotar las estructuras como n-tuplas
= A, P1 ,, Pk , R1 ,, Rm , f1 ,, f j , c1 ,, cr ,
donde A es el universo, P1 ,, Pk son los predicados primitivos,
R1 ,, Rm

son las relaciones primitivas,

funciones primitivas y c1 ,, cr

f1 ,, f j

son las

son los individuos distinguidos

primitivos.
Ejemplo 6.1.2. = , < , +, , 0, 1, donde Z es el conjunto de los
enteros y, < , +, , 0, 1 tienen su significado corriente en Z.
Definicin 6.1.2. Sea L un lxico. Se dice que una estructura
es de tipo L o compatible con L, si sus conceptos primitivos se
pueden simbolizar utilizando (todos) los smbolos de L.

Ejemplo 6.1.3. Sea L un lxico cuyos smbolos propios son


dos smbolos de predicado P y Q, un smbolo relacional
binario R, dos smbolos de funciones binarias f y g, y dos

smbolos de constantes c y d. Las siguientes son estructuras


para L.
1. 1 =

A, P 1 , Q 1 , R 1 , f 1 , g 1 , c 1 , d 1 , donde A es el

conjunto de los objetos celestes del sistema solar, P 1 es el


conjunto de los planetas, Q 1 es el conjunto de los satlites,

R 1 es la relacin girar alrededor de, f 1 y g 1 son la funcin

nula, c 1 es la tierra y d 1 es el sol.

2. 2 =

B, P 2 , Q 2 , R 2 , f 2 , g 2 , c 2 , d 2 , donde B es el

conjunto de los nmeros naturales, P 2 es el conjunto de los


nmeros primos, Q 2 es el conjunto de los nmeros pares,

R 2 es la relacin ser menor que, f 2 es la funcin (operacin)

suma, g 2 es la funcin (operacin) producto, c 2 = 0 y d 2 = 0


.

3. 3 = C = {1,2,3,4}, P 3 = {1,2}, Q 3 = , R 3 = {(1,3),


(1,1), (3,2)}, f = {(1, 1),( 2, 3),(3, 2),( 4, 4)} ,
2

f = {(1, 3),( 2, 2),(3, 2),( 4, 1)} c 3 = 0 , d = 1


2

VERDAD EN UNA ESTRUCTURA.


Una sentencia sobre un lxico es una sucesin de smbolos la
cual no es verdadera ni falsa, pero si se fija una estructura de
tipo L y se interpretan el rango de los cuantificadores de , as

como sus smbolos no lgicos por el universo, predicados,


relaciones, funciones y constantes de respectivamente, la
sentencia adquiere un significado preciso y por lo tanto, resulta
verdadera o falsa. En caso que sea verdadera se escribe
|= ,
lo cual se lee satisface a y se dice que es un modelo para .
Si es falsa en se escribe
|=/ .
Ejemplo 6.2.1. Considere la estructura = A, P, Q en donde
Universo:

A = {2, 5, 8, 11, 13}

Predicados:

P(x): x es primo
Q(x): x es par

Determine el valor de verdad de las siguientes sentencias

a) x (P(x) Q(x))

c) x (P(x) Q(x))

b) x P(x) x Q(x)

d) x P(x) x Q(x)

Solucin. En el cuadro siguiente se dan los valores de verdad


pedidos
x

P(x) Q(x)

P(x)

P(x) Q(x)

Q(x)
V

11

13
x

V
F

F
F

V
V

Como se observa en la tabla la sentencia x (P(x) Q(x)) es


verdadera en esta interpretacin mientras que x P(x) x Q(x)
es falsa, ya que x P(x) y x Q(x) son falsas. Por otra parte, las
sentencias x (P(x) Q(x)) y x P(x) x Q(x) son verdaderas en
la misma estructura.
Ejemplo 6.2.2. Considere la sentencia : xy (R(x, y) z (z
c f(x, g(z, z)) y)) compatible con el lxico L = {R2, f2, g2, c}.
Escriba en lenguaje usual la sentencia y determine el valor de
verdad en la estructura dada.

a) = , <, +, , 0
b) = R, >, , , 0
c) = P({1, 2, 3}), , , ,
Solucin.

a) La sentencia dice que para cada par de enteros x, y, si x <


y entonces hay un entero z 0 tal que x + z2 = y.
Simblicamente
xy ( x < y z (z 0 x + z2 = y)), la cual es falsa.
(Por qu?). Luego |=/ .
b) Ejercicio.
c) Ejercicio.
Ejemplo 6.2.3. Considere la estructura = A, R2, donde A
={1,2,3,4,5}, R = {(1,2), (1,4), (2,3),(3,3), (4,3), (4,5), (5,2), (5,4)}.

Determine el valor de verdad de la sentencia : xy R(x, y).


Solucin. La relacin R puede representarse por el dgrafo
1

2
3

La sentencia es verdadera en , pues de cada elemento del


conjunto A sale una flecha. Es decir, cada elemento de A est
relacionado con alguno de A. Entonces, |= .
Definicin 6.2.1. Sea una estructura para un lxico L. Para
cada a A sea a la constante que se introduce para nombrar el
objeto a, L(A) el lxico ampliado y * la estructura ampliada con el
mismo dominio que el de , que interpreta los smbolos de L igual
*

que y que adems interpreta a a como a, es decir a = a .


x

a) Si es una frmula de L(A), es la frmula que se


a
obtiene reemplazando todas las ocurrencias libres de x por
a.

b) Dada una sentencia de L(A), |= significa que es


verdadera en y se dice que es un modelo para .
Definicin 6.2.2. Sea t, t1,,tn trminos cerrados de L(A), P es
smbolo de predicado de L, R es smbolo relacional n-ario de L, y
sentencias de L(A), y una frmula de L(A) con a lo sumo la

variable libre x. La definicin de verdad de una sentencia de L(A)


es

a) |= t1 t2 si y solo si t1 t2 .
b) |= P(t) si y solo si t P.
c) |= R(t1,,tn) si y solo si (t1 ,, tn ) R .
d) |= si y solo si |=/ .
e) |= si y solo si |= y |= .
f) |= si y solo si |= o |= .
g) |= si y solo si |=/ o |= .
h) |= si y solo si |= y |= , o, |=/ y |=/ .
x

i) |= x si y solo si para cada a A, |= .


a

j) |= x si y solo si para algn a A, |= .


a

SOLUCIONES DE FRMULAS CON VARIABLES LIBRES.

Definicin 6.3.1. Sea una estructura y una frmula de L con


la variable libre x. Una solucin de es un elemento de a A tal
x
que la sentencia es verdadera en . Para indicar que a es
a
x
una solucin de en se escribir |= o simplemente |=
a

[a] si se tiene claro cul es la variable libre. Tambin se dice que


es satisfecha en por a.
Definicin 6.3.2.

Sea una estructura y una frmula de L

cuyas variables libres estn entre x1, , xn. Una solucin de en

es una n-tupla ( a1 ,, an ) A de manera que la sentencia

x1 xn

es verdadera en . Para indicar que ( a1 ,, an


a

a
n
1

es una

x1 xn
solucin de en se escribir |=
o simplemente |=
a1 an
[a1,an] si se tiene claro cules son las variables libres.
Ejemplo 6.3.1. Sea L un lxico de primer orden cuyos smbolos
propios son dos smbolos de predicado P y Q, un smbolo
relacional binario y un smbolo de constante c, y la estructura
= A, P, Q, R, c, donde A = {1, 2, 3, 4}, P = {1, 2}, Q = {2,
3}, R = {(1,2), (2,3), (3,3)} y c = 1. Halle las soluciones de

a) (x) = P(x) Q(x)

c) (x) = y R(x,y)

b) (y) = x R(x,y)

d) (x,y) = P(x) R(x,y)

Solucin:

a) La frmula (x) es verdadera cuando al menos una de las


subfrmula P(x) o Q(x) sea verdadera, luego el conjunto
solucin es X = {1,2,3}.

b) Para y = 2 o para y = 3, (y) es verdadera, luego Y = {2,3}.


c) La frmula (x) es verdadera cuando x = 1,2 o 3, luego X =
{1,2,3}.

d) Si P(x) es falsa, entonces (x,y) es verdadera, luego S1 =


{(3,1), (3,2), (3,3), (3,4), (4,1), (4,2), (4,3), (4,4)} es parte de la
solucin. Ahora se analiza el caso cuando P(x) es verdadera.
Las soluciones para este caso son aquellas parejas para las
cuales R(x,y) sea verdadera, luego S2 = {(1,2), (2,3)}. Por lo
tanto, el conjunto solucin de es S = S1 S2.
Definicin 6.3.3. Dada una estructura para un lenguaje L y una
frmula de L cuyas variables libres estn entre x1,,xn, la
relacin n-aria definida por es:
R = { ( a1 ,, an ) A |= [a1, ..., an] }.
En particular, si tiene una nica variable libre x, el conjunto P =
{a A |= [a]} es el subconjunto de A definido por .
Se dice que una relacin n-aria S en A es definible en si existe
una frmula de L cuya variables libres estn entre x1, ..., xn tal
que:
S = { ( a1 ,, an ) A [a1, ..., an]}.
En particular, un conjunto X es definible en si existe una frmula
con una nica variable libre x tal que:
X = {a A |= [a]}
Lema de coincidencia. Sea 1 y 2 dos estructuras con el mismo
dominio.

Si es una frmula con variables libres estn entre

x1,,xn , y 1 y 2 interpretan del mismo modo los smbolos


propios de L que aparecen en , entonces para cualesquiera
objetos a1,,an A,

x1 xn
1 |=
si y solo si 2 |=
a1 an

x1 xn

.
a1 an

En particular, si es una sentencia y, 1 y 2 interpretan del


mismo modo los smbolos que aparecen en , entonces:
1 |= si y solo si 2 |= .
Lema de sustitucin. Si es una frmula con una nica variable
libre x, c es una constante y es una estructura,
x
|= si y solo si |=
c

x
si y solo si |= [c].
c

SIMBOLIZACIN.
A continuacin se ilustran con unos ejemplos como simbolizar
enunciados del lenguaje natural. El proceso de simbolizacin es el
siguiente: se parte de un lenguaje de primer orden y una estructura
para el mismo.
Ejemplo 6.4.1. Simbolizar
a) Juan es hermano de Mara.
b) Juan es hermano de Mara y de Pedro.
Solucin. Consideramos una estructura tal que:
Universo:

A = conjunto de las personas

Relacin:

H(x, y) : x es hermano de y

Trminos:

j : Juan

m : Mara
p : Pedro.
La simbolizacin es:
a) H(j, m).

b) H(j, m) H(j, p).


Para la parte b) tambin se puede utilizar la relacin ternaria
H(x, y, z): x es hermano de y y de z
Con lo que la simbolizacin es: H(j, m, p).
Ejemplo 6.4.2. Todos las ballena son acuticas.
Solucin.

Universo:

A = el conjunto de los animales

Predicados:

B(x): x es ballena.
A(x): x es acutica.

La simbolizacin es:

x (B(x) A(x)).

Si el universo es B = {x | x es ballena}, la simbolizacin es: x A(x).


Ejemplo 6.4.3. Existen poltico deshonestos.
Solucin.

Universo

A = conjunto de las personas

Predicados:

P(x): x es poltico.
D(x): x es deshonesto.

x (P(x) D(x))

Simbolizacin:

Ejemplo 6.4.4. Rigoberto es el padre de Antonieta.


Solucin.

Universo

A = conjunto de las personas.

Relacin

P(x, y): x es padre de y.

Trminos

r: Rigoberto.
a: Antonieta.

Simbolizacin:

P(r, a).

Si se desea simbolizar que Rigoberto es nico, la simbolizacin


podra ser:
P(r, a) x (P(x, a) x r),
lo cual indica que Rigoberto es el nico padre de Antonieta.
Otra forma de simbolizar la unicidad es utilizando funciones.
Funcin

: p(x): el padre de x
p(a) r.

y la simbolizacin es:

Ejemplo 6.4.5. Considere una estructura tal que:


Universo

A = N

Predicados

P(x): x es primo
Q(x): x es par

Funciones

f(x, y) : x +y
g(x, y): xy

Trminos

a: 0, b: 1

Simbolizar usando solamente estos recursos.


a) 2 es el nico primo par.
b) El cuadrado de un nmero par es par.
c) x es mayor que y.
d) Todo numero par mayor que 2 es la suma de dos primos.
e) La suma de dos impares es par.
Solucin.

a) P(f (b, b)) Q(f(b, b)) x ((P(x ) Q(x)) x f(b, b)).


b) x (Q(x) Q(g (x, x)).
c) z (z a f (z, y) x): M(x, y).
d) x ((Q(x) M(x, f(b, b)) yz ((P(y) P(z)) f (y, z)
x)).

e) xy ((Q(x) Q(y)) Q (f (x, y))).


Nota: La expresin !(x) abrevia a x((x)y((y) y x)).
FRMULAS UNIVERSALMENTE VLIDAS.
Definicin 6.5.1.

Una sentencia sobre un lxico L es

lgicamente vlida o universalmente vlida o verdad lgica si y


solo si para toda estructura de tipo L, se tiene que |= . Si
es universalmente vlida, se escribe simplemente |= .

En

general, una frmula (x1, ...,xn) se dice universalmente vlida si |


=x1 ...xn (x1, ...,xn).
Ejemplo 6.5.1.

a) |= x (P(x) P(x))
b) |= y (R(x, y) R(x, y))
c) |= x x x
d) |= (x y y z) x z.
e) |= (x P(x) x Q(x)) x Q(x)
Ejemplo 6.5.2. Justifique las siguientes afirmaciones.

a) |= xy R(x, y) yx R(x, y)

b) |=/ yx R(x, y) xy R(x, y)


Solucin. a) Sea = A, L una estructura.. Hay que considerar
dos casos.

Caso 1. Si |=/ xy R(x, y),


entonces |= xyR(x,y) yxR(x, y)
Caso 2. Si |= xy R(x, y), sea a0 el elemento de A para el cual
|= y R(a0, y), entonces para cualquier b A |= R(a0, b), y por
lo tanto, |= x R(x,b); como b es arbitrario, |= yxR(x, y). En
consecuencia, |= xy R(x, y) yx R(x, y).
Basta ver que Z, |=/ xy R(x, y)

b.
yxR(x, y).

En efecto, Z, |=xy R(x, y) pero Z, |=/ xy R(x, y).


Lema 6.5.1. Si la tiene la forma de una tautologa, entonces |= .
Demostracin. Sea x1, .., xn las variables libres de . Por hiptesis
existen subfrmulas 1,...,k tales que si se consideran como letras
proposicionales entonces (1,,k) es decir, es una
combinacin de ellas por medio de las conectivas proposicionales,
y esta combinacin es una tautologa. Las variables libres de 1,...,
k deben estar tambin entre x1,..., xn. Sea = A, L una

estructura cualquiera y a1,..., an A. Se define una valuacin :


{1,...,k} {V, F} como sigue

[
Se

va

demostrar

]=

F
por

si

|= i [ a1 ,..., an ]

de lo contrario
induccin

en

frmulas

que

[ ] = V |= [ a1 ,..., a n ].
Si es alguna i el resultado es inmediato por definicin.
Si = se tiene

[ ] = V [ ] = F
|=/ [ a1 ,...an ] Por hiptesis de induccin
|= [ a1 ,..., an ] Por definicin
Si = entonces

[ ] = V [ ] = [ ] = V
|= [ a1 ,..., an ] y |= [ a1 ,..., an ] hiptesis inductiva
|= ( )[ a1 ,..., an ] definicin

Como tiene la forma de una tautologa con respecto a las i, se


debe tener [ ] = V y por lo tanto |= [ a1 ,..., a n ] .

6.5.1 Propiedades.
1.

Sea una frmula con a lo sumo la variable libre x, y t un


trmino cerrado . Entonces

a) |= x ()

x
c) |= x
t

b) |= x
t

d) |= x x

Sean y frmulas con a lo sumo la variable libre x.

2.

Entonces

a) |= x ( ) (x x ).
b) |= x ( ) (x x )
Sea una frmula con a lo sumo dos variables libres x e y.

3.

Entonces.
|= xy yx
4.

Las siguientes son propiedades de la igualdad.

a) |=x x x

(Reflexividad)

b)

|= xy (x y y x) (Simetra)

c)

|= xyz ((x y y z) x z)

d)

x
|= xy (( x y) ) para cada frmula con
y

(Transitividad)

a lo sumo la variable libre x y para cada variable y que no


aparece en .

e)

x
x
|= t1 t2 si t1 y t2 son trminos
t1
t2

cerrados y es una frmula con a lo sumo la variable libre x.


A primera vista para determinar la validez de una sentencia sera
necesario examinar todas las estructuras. Pero esto es imposible
dada la infinidad de posibles estructuras.

Ms an, para una

estructura fija de universo infinito, puede ser imposible determinar


si una sentencia es verdadera o falsa.

FRMULAS LGICAMENTE EQUIVALENTES.


Definicin 6.6.1. Dos sentencias y de L son lgicamente
equivalentes si son verdaderas exactamente en las mismas
estructuras. Si las sentencias y son lgicamente equivalentes
se escribe .
Definicin 6.6.2. Dos frmulas y con las mismas variables
libres x1,xn son lgicamente equivalentes si y solo si son
satisfechas en las mismas estructuras por los mismos objetos. En
otras palabras, tienen las mismas soluciones en las mismas
estructuras. Es decir, si y solo si
|= [a1,,an] si y solo si |= [a1,,an]
Ejemplo 6.6.1. Muestre que el siguiente par de frmulas no son
lgicamente equivalentes
= x (P(x) Q(x)) y = x P(x) x Q(x)
Solucin. Consideremos una estructura tal que
Universo

A = {2,3,4}

Predicados

P(x): x es primo
Q(x): x es par
x P(x) Q(x) P(x) Q(x)
2
V
V
V
3
V
F
V
4
F
V
V
F
V
x F

En la tabla se observa que la sentencia x (P(x) Q(x)) es


verdadera en dicha estructura, mientras que la sentencia x P(x)
x Q(x) es falsa puesto que cada una de las subfrmulas x P(x) ,
x Q(x) es falsa. Por lo tanto, / .

6.6.1 Propiedades.
1.

Cambio de variable ligada. Si es una frmula y, la variable y


no aparece en , entonces

a)
2.

4.

x
b) x y .
y

Sea y frmulas

a)
3.

x
x y
y
x( ) xx

b) x () x x

Sea una frmula

a)

x x

b) x x

b)

x x

c) x x

Sea una frmula en la que la variable x no ocurre libre,


entonces

a)
5.

b) x

Si y son frmulas y la variable x no ocurre libre en ,


entonces

a)

x ( ) x

b) x ( ) x

b)

x ( ) x

d)

x ( )

c)

x ( ) x

e) x ( )

6.

Si es una frmula con a lo sumo la variable libre x y t un


trmino cerrado

a)

x
x (x t )
t

b)

x
x(x
t

t)
7.

El principio de sustitucin de frmulas equivalentes es


anlogo al de la lgica proposicional.

En el

captulo correspondiente

resolucin

se retomar

nuevamente el concepto de equivalencia que ser necesario para


el desarrollo de este tema.

CONSECUENCIA LGICA.
Definicin 6.7.1. Sea un conjunto de sentencias sobre un lxico
de primer orden L. Se dice que es satisfacible si existe una
estructura de tipo L en las que todas las sentencias de son
verdaderas. En tal caso se dice que satisface a o que es un
modelo para , lo cual se escribe |= . Si en toda estructura al
menos una sentencia de es falsa se dice que es insatisfacible, lo
cual se escribe |=/ .

Ejemplo 6.7.2. Sea = {x (P(x) y R(x, y)), x (y R(x, y)


y R(y, x))}. Muestre que es satisfacible.
Solucin. La estructura cuyo universo es A = {1, 2, 3} y donde
P = {1} y R = {(1,3),(3,1)} satisface a .
Ejemplo 6.7.3.

Muestre que = {x (P(x)Q(x)), x (P(x)

R(x,x)), x(Q(x)R(x, x))} es insatisfacible.


Solucin. Si hubiera una estructura = A, L compatible con el
lxico L = {P1, Q1, R2} en la que fueran verdaderas todas las
sentencias de , debera existir aA tal aP y a Q. Por estar
en P, debera estar relacionado consigo mismo por R, pero por
pertenecer a Q, no puede estarlo. Luego, para cualquier
estructura , |=/ .
Definicin 6.7.2.

Sea

un conjunto de sentencias sobre un

lxico L y una sentencia de L.. Se dice que es consecuencia


lgica de , en smbolos |= , si es verdadera en cualquier
estructura que satisface a . As, no es consecuencia lgica de
, en smbolos |=/ , si y solo si hay al menos una estructura que
es modelo para pero no lo es de .
Ejemplo 6.7.3. Demuestre que |= xy (R(x, y) R(y, x)),
donde
Sea = {x R(x, x), xyz ((R(x, y) R(x, z)) R(y, z))}.

Solucin. Sea = A, L una estructura compatible con el lxico


L = {R2}. Si |= , entonces (i) |= R[a, a] para cualquier aA y
(ii) |= ((R[a, b] R[a, c]) R[b, c]) para cualquier a, b, c A. Si
|=/ R[a, b] el resultado es inmediato. Supongamos que |= R[a,
b]. Por (i) y la suposicin, |= (R[a, b] R[a, a]); por (ii), |=
((R[a, b] R[a, a]) R[b, a]), luego |= R[b, a] y por tanto, |=
(R[a, b] R[b, a]). Como a y b son arbitrarios, entonces |=
xy (R(x, y) R(y, x)). En consecuencia, |= xy (R(x, y)
R(y, x)).
Ejemplo 6.7.4. Sea ={x (P(x) Q(x)), x (P(x) R(x, x)), x
(Q(x) R(x, x)}. Muestre que |=/ x R(x, x).
Solucin. La estructura = A, L tal que A = {1, 2, 3}, P = ,
Q = A y R = satisface el conjunto pero x R(x, x) es falsa en
. Luego, |=/ x R(x, x).
Ejemplo 6.7.5. Considere las siguientes sentencias: 1 = x y
((P(x) P(y)) x y), 2 = x (P(x) P(f(x))) y 3 =
xy(x y f(x) f(y)) y = x y x y.
Muestre que {1, 2, 3} |=/ .
Solucin. La estructura = A, L, donde A = {3, 4}, P = {3} y f
(3) = 4, f (4) = 3 satisface el conjunto = {1, 2, 3} pero = x
y x y es falsa en .

6.7.1 Propiedades.

1.

(Teorema de la deduccin). Sea un conjunto de

sentencias y sean y sentencias cualesquiera; si {} |=


entonces |= ( )
Demostracin. Sea una estructura tal que |= . Si es
falsa en , es verdadera en . Si es verdadera en ,
|= {} y como {} |= entonces es verdadera en ,
con lo cual tambin lo es . Esto termina la prueba.

2. Sea un conjunto de sentencias y una sentencia. |=


si y solo si {} es insatisfacible.

3. Si es un conjunto de frmulas, es una frmula con a lo


sumo la variable libre x y t es un trmino cerrado

a)

x
Si |= , entonces |= x
t

b)

x
Si |= x entonces |=
t

c)

x
Si |= x , { } |= y t no
t
aparece en ni en ni en , entonces |= .

d)

x
Si |= y t no aparece en ni en ,
t
entonces |= x .

EJERCICIOS.

1.

Encuentre los valores de verdad de


cada una de las frmulas:

a)

x(P(x)Q(x)); donde A = {1,2}, P(x): x = 1, Q(x):

x=2

b)

x(P(x) Q(x)) T(a); donde A = {-2, 1, 3, 5, 6,

7}, P(x): x >1, Q(x): x 3, T(x): x > 5, a = 5.

c)

x(H(x) M(x)); donde A = {x | x es un ser vivo},

H(x): x es hombre, M(x): x es mortal.

d)

x(H(x) M(x)); los mismos smbolos que en c)

e)

x(H(x) M(x)); los mismos smbolos que en c)

2. Sea = A = {1,2,3,4}, R = {(1,,2), (2, 3), (3, 2), (4, 4)}.


Determine si es o no un modelo para cada una de las
sentencias.

a) xyR(x, y)
b) xyz((R(x, y) R(x, z)) y z)
c) x(R(x, y) yz R(x, z))
d) xyz ((x y R(y, z)) R(z, y))
3. D una estructura que sea modelo y otra que no lo sea para la
sentencia x(R(x, 0)z( z 0f(x, z) x))

4. Dado el lxico L = {R2, f1, g2, h1, c}.

Determine si la

sentencia es verdadera o falsa en la estructura = A, <, | |, ,

cos, 0 compatible con L, donde A = R es el conjunto de los


nmeros reales y | | es la funcin valor absoluto.
xy(R(x,c)z(R(c,z)w(R(f(g(x,w),z)R(f(g(h(x),h(w))), y)))).
5. Considere las siguientes sentencias:

a) x (P(x) Q(x))
b) x L(x)

c) x P(x)

e) x Q(x)

d) x (Q(x) L(x))

Encuentre estructuras, si existen, estructuras tales que


i.Las sentencias b),c) y d) sean verdadera

y las restantes

falsas.
ii.

Las sentencias b), d) y e) sean verdaderas y las

restantes falsas
iii.

Las sentencias b) y c) sean verdaderas y las restantes

falsas.
iv.

Las sentencias a), b) y c) sean verdaderas y las

restantes falsas

6.

Considere una estructura = A, P1, Q1, R2, S2, c, d, tal que


A = {1, 2, 3, 4}, P = {1, 3}, Q = , R = {(1, 2), (1, 3), (2, 3), (3,
3), (3, 4), (4, 1)}, S = {(1, 1), (1, 2), (1, 3), (1, 4), (3,4)}, c = 1 y
d = 2.
Cules de las siguientes sentencias son verdaderas en ?

a)

P(c) P(d)

d) P(c) Q(d)

b)

P(c) Q(d)

e) x (P(x) Q(x))

x (R(c, x) S(c, x))

c)

f) xy (R(x, y) z

S(x, z))

7. Sea = A, P1, Q1, R2, S2, c, donde A = {1, 2, 3, 4, 5}, P =


{1,2, 3}, Q = {3, 5}, R = {(1,2), (1,3), (2,3), (3,3)}, S = {(1,3),
(3,1),(3,3)} y c = 1
Halle las soluciones de las siguientes frmulas

a) P(x) Q(x)

e) P(x) Q(y)

b) P(x) Q(x)z (R(x, z) P(y))


c) x ((P(x) Q(x)) R(x, y)
d) z (R(x, z) S(y, z))
8.

Simbolice indicando el significado de los smbolos


a)

Todos los pjaros cantores vuelan

b)

Dos es el nico par primo

c)

Ningn pez trepa montaas

d)

Hay un superior para todos

e)

Juan puede engaar a alguna persona todos los

das y puede engaar a todas las personas algunos das,


pero no puede engaar a todas las personas todos los das
f)

Hay al menos un planeta

g)

Hay a lo sumo un planeta

h)

Hay al menos dos planetas

9. Considere una estructura tal que


Universo : A = {x | x es persona}
Conceptos primitivos

A(x): x es hombre
B(x): x es mujer

M(x, y): x es madre de y


P(x, y): x es padre de y
Simbolice usando slo estos recursos:
a)

x es tataranieto de y

b)

x es hurfano de madre

c)

x tiene una sola hermana

d)

x tiene un hermano que no tiene hijos

e)

A quien Dios no le da hijos el diablo le da sobrinos

10. Sea: Universo: A = N,


Funciones:

f(x, y) : x +y
g(x, y) : xy

Individuos:

a: 0
b: 1

Simbolice usando slo estos recursos.


3.

x<y

4.

x es el mnimo nmero natural

5.

2 es el mnimo par
6.

Todo nmero natural mayor que 3 es la suma de


dos primos

11. Determine cul o cules de las sentencias son verdades


lgicas. Justifique su respuesta.

a)

x (P(x) (Q(x) P(x)))

b)

x P(x) x (P(x) Q(x))

c)

xy R(x, y) yxR(x, y)

12. Muestre si el par de frmulas es equivalente o no. Justifique

a)

x(P(x) Q(x)),

b)

x(P(x) Q(x)), x(P(x) Q(x))

c)

x(P(x) Q(x)),

x P(x) x Q(x)

d)

x(P(x) P(c)),

x P(x) P(c)

13. Justifique

cada

una

x( P(x) Q(x))

de

las

siguientes

afirmaciones

encontrando una estructura que satisfaga las premisas pero


no la conclusin.

a) {x(Q(x)P(x)), x(Q(x)L(x))} |=/ x(P(x) L(x))


b) {x (P(x) y R(x, y)), x (y R(x, y) y R(y, x))} |=/
, donde = x(y R(x, y)P(x))

c) {xy(R(x, y) R(y, x) x y)} |=/ xy((R(x, y)


R(y, x)) x y)
14. Si el conjunto de sentencias es satisfacible, d un modelo;
si no lo es justifquelo.

a) {x f (x) x, xf (x) x, xy (f (x) f (y) x y}


b) {xf (x) x, x f (f (x)) x, x y f (y) x}
15. Dadas las sentencias = xy (f( x) f (y) x y), y =
xy f (y) x. Es alguna de ellas consecuencia de la otra?
Justifique su respuesta.

DEDUCCIN.
El mtodo de deduccin empleado en LPO usa las reglas de
inferencia

dadas

en lgica

proposicional

ciertas

reglas

adicionales que se requieren para tratar con frmulas que incluyen


cuantificadores. A fin de usar resultados de lgica proposicional se
necesitan algunas reglas que permitan eliminar cuantificadores
durante el proceso de deduccin. Esta eliminacin se hace
mediante el uso de reglas de eliminacin de cuantificadores.
Una vez eliminados los cuantificadores, la deduccin prosigue
como en el clculo proposicional. Pero puede suceder que la
conclusin est cuantificada. En este caso se necesitan las reglas
de introduccin de cuantificadores , que se pueden usar para
introducirlos.
SISTEMA DEDUCTIVO EN LPO.
Definicin 7.1.1. Sea L un lxico de primer orden y sea L(A) el
lenguaje ampliado que se obtiene aadiendo a L un conjunto
infinito numerable de constantes nuevas, las constantes auxiliares.
Un secuente de L es un par , , donde es un conjunto finito de
frmulas de L(A) y es una frmula de L(A). Los elementos de
son las premisas y es su conclusin. Se escribir en lugar
de , para abreviar.
Algunos esquemas aparentemente vlidos deben tomarse con
cierta precaucin. Considrese por ejemplo el esquema:
= x (x) (y),

donde es una frmula cualquiera con la variable libre x.

En

forma tan general no es lgicamente vlido; para verlo, si (x) = y


R(x,y), entonces es xy R(x,y) y R(y, y), la cual es falsa en
la estructura = Z, <. Lo que ha sucedido es que al sustituir x
por y en (x), la variable sustituida ha quedado atrapada por un
cuantificador, distorsionndose el significado de la frmula. El
ejemplo anterior justifica la siguiente definicin.
Definicin 7.1.2. Sea (x) una frmula. La variable y es libre para
x en si cualquier ocurrencia libre de x en no est dentro de una
subfrmula de que empiece por y o y. En general, un trmino t
es libre para x en si todas las variables de t son libres para x en
.
El efecto de la anterior definicin es que si t es libre para x en ,
x
entonces las variables de las ocurrencias de t en que
t
x
resultan de la sustitucin estn libres en . Es fcil ver que
t
siempre se tiene:
x es libre para x en ,
si y no ocurre en , entonces y es libre para x en ,
si t es un trmino cerrado, entonces t es libre para x en
Ejemplo 7.1.1. Sean las siguientes frmulas definidas sobre el
lxico L = {P1, R2, S2, f1, c}.

a) (x) = R(x, y) y P(y)

b) (x) = (P(x) P(y)) x R(f(x), x)


c) (x) = R(x, y) y S(x, y)
d) (x) = y (P(y) R(x, y))
e) (x, y, z) = w(R(f(w), y) y((P(z) y w) R(w , x)))
En a) y b) la variable y es libre para x en , en c), d) y e) la variable
y no es libre para x en pues x ocurre libre en una subfrmula de
que empieza por y o y. En e) se tiene que VL[] = {x, y, z,}, la
primera ocurrencia de y es libre, pero la segunda ocurrencia es
ligada. Todas las ocurrencias de x y de z son libres, luego son
libres para x en .
Definicin 7.1.3. Una derivacin es una sucesin finita de
secuentes cada uno de los cuales se obtiene mediante la
aplicacin de alguna de las siguientes reglas de inferencia, junto
con las reglas de la lgica proposicional.
1. Introduccin y Eliminacin del Cuantificador Universal.
y
[I]
x
__________

, si x no ocurre libre en

x
x

c
_______________ ,
x

c es una constante que no aparece


en {}

[E] x ,

t es libre para x en

x

t

2. Introduccin y eliminacin del Cuantificador Existencial

[I]


t
t es libre para x en .

__________ ,
x

[E]

x
x

c

____________ ,

,
c es una constante que no ocurre
en {, }

y no ha aparecido antes en la
deduccin.

3. Reglas de la igualdad: Reflexividad y Sustitucin.


[R] _______,

t es trmino cerrado.

tt
[S]

t1 t2

x

t1

____________,

t1, t2 son trmino cerrados

x

t2

Toda regla debe entenderse como una instruccin que permite


obtener un secuente a partir de una coleccin de secuentes.
Definicin 7.1.4. Se dice que un secuente es derivable, si
existe una derivacin cuyo ltimo secuente es , . Dada una
derivacin se dice que es una derivacin de su ltimo secuente
Definicin 7.1.5.

Sea = {1,...,n }es un conjunto finito de

frmulas de L y es una frmula de L, se dice que es deducible


de , si el secuente , es derivable.

En general, dado un

conjunto de frmulas de L y una frmula de L, se dice que es


deducible de , si hay un subconjunto finito de tal que el
secuente , es derivable. Se dice que es deducible sin
premisas si | .

El concepto de derivacin es sintctico: las reglas se usan para


manipular entidades sintcticas, los secuentes. Se dice que un
secuente , es correcto si es consecuencia lgica de .

Notacin.

1. Si es la ltima frmula se escribe | . Cuando = se


escribe simplemente | en lugar de | y se dice que es
una deduccin sin premisas.

2. Escribiremos {} | mediante | y | mediante |


.

3. Para indicar | y | se escribir .


4. | se considera una deduccin con premisas .
Ejemplo 7.1.2. Demuestre: {x (H(x) M(x)), H(s)} | M(s)
Solucin. Sea = {x (H(x) M(x)), H(s)}

1.

x (H(x) M(x))

[E1]

2.

H(s) M(s)

[E],1, t s

3.

H(s)

[E1]

4.

M(s)

[E], 2, 3

Ejemplo 7.1.3. Demuestre: {x (P(x) Q(x)), x (Q(x) R(x))}


| x (P(x) R(x)).
Solucin. Sea = {x (P(x) Q(x)), x (Q(x) R(x))}

1.

x (P(x) Q(x))

[E1]

2.

P(x) Q(x)

[E], 1, t x

3.

x (Q(x) R(x))

[E1]

4.

Q(x) R(x)

[E], 3, t x

5.

{P(x)}

P(x) Q(x)

[E2], 2

6.

{P(x)}

P(x)

[E1]

7.

{P(x)}

Q(x)

[E], 5, 6

8.

{P(x)}

Q(x) R(x)

[E2], 4

9.

{P(x)}

R(x)

[E], 7, 8

10.

P(x) R(x)

[I], 9

11.

x (P(x) R(x))

[I], 10, x no aparece


libre en las premisas.

Ejemplo 7.1.4. Demuestre: xy R(x, y) | yx R(x, y)


Solucin. Sea = {xy R(x, y)}

1.

xy R(x, y) [E1]

2. {y R(c, y)}

y R(c, y)

[E1], c es una
constante nueva

3. {y R(c, y)}
4. {y R(c, y)}
5. {y R(c, y)}

[E], 2, t y

R(c, y)
x R(x, y)

x
[I], 3; R(c, y) es R(x, y)
c

y x R(x, y) [I], 4, y no ocurre libre


en {y R(c, y)}

6.

yxR(x,y)

[I], 1, 5; c no ocurre
en {yR(x,y),yxR(x,y)}

Ejemplo 7.1.5. Sean x D(x, c) y x D(x, c) dos sentencias. La


siguiente es una deduccin incorrecta.

1. {x D(x, c)}

x D(x, c)

[E1]

2. {x D(x, c), D(a, c)}

D(a, c)

[E1], a constante nueva

3. {x D(x, c)}

D(a, c)

[E], 1, 2

4. {x D(x, c)}

x D(x, c)

[I], 3 , x no es libre en
la premisa

La estructura = A, D ,c , donde A = {5, 7, 10, 11}, D(u, v): u es

divisible por v y c = 5 satisface a xD(x,c) pero no satisface a


x D(x, c). Luego, x D(x, c) |/ x D(x, c). En la lnea 4 se ha
obtenido la conclusin x D(x, c) a partir de x D(x, c).
Evidentemente x no es libre en la premisa x D(x, c), pero la
aplicacin de [E] en la lnea 3 es incorrecta porque la constante a
aparece en la conclusin D(a, c) de [E].
Ejemplo 7.1.6. Demuestre:
= {x (P(x) Q(x)), x P(x)} | x Q(x).
Solucin.

1.

x P(x)

[E1]

2. {P(c)}

x (P(x) Q(x))

[E1], c constante nueva

3. {P(c)}

P(c) Q(c)

[E], 2, t c

4. {P(c)}

P(c)

[E1]

5. {P(c)}

Q(c)

[E], 3, 4

6. {P(c)}

x Q(x)

x
[I], 5; Q(c) es Q(x)
c

7.

x Q(x)

[E], 1, 6, c no ocurre

en {P(x), x Q(x)}
Ejemplo 7.1.7. Demuestre : P(c) | x (x c P(x)).
Solucin.
1. {P(c)}

P(c)

[E1]

2. {P(c), d c}

dc

[E1], d constante nueva

3. {P(c), d c}

dd

[R]

4. {P(c), d c}

cd

[S], 3,2; d d es [x d]

5. {P(c), d c}

P(c)

[E2], 1

6. {P(c), d c}

P(d)

[S], 4, 5, pues P(c) es P(x)

d c P(d)

[I], 6

x

d

x

c

7. {P(c)}
{P(c)}

x (x cP(x))

[I], 7, d no ocurre en
{P(c),x d P(x)}.

Ejemplo 7.1.8. Demuestre:


| x((x) (x)) (x (x) x (x))
Solucin. Sea = {x((x) (x))}. Esta es una deduccin sin
premisas, por lo tanto se deben eliminar de al final.

1.

x((x) (x))

[E1]

2.

(x) (x)

[E], 1, t x

3. {x (x)}

(x) (x)

[E2], 2

4. {x (x)}

x (x)

[E1]

5. {x (x)}

(x)

[E], 4, t x

6. {x (x)}

(x)

[E], 3, 5

7. {x (x)}

x (x)

[I], 6, x no es libre en
las premisas

8.

x (x) x (x)

[I], 7

9.

x( ) (x x )

[I], 8

Ejemplo 7.1.9. Sea g un smbolo funcional binario. Demuestre: |


xyz g(x, y) z.
Solucin. Esta es una deduccin sin premisas

1.

g(c, d) g(c, d)

[R], c y d constantes nuevas

2.

z g(c, d) z

[I],1; ya que g(c, d) g(c, d)

es
z

[g(c, d) z]
g (c, d )

3.

yz g(c, y) z

[I], 2; y no es libre en las

premisas
y d no aparece.

4.

xyz g(x, y) z

[I], 3; x no es libre en las

premisas,
y c no aparece.

Ejemplo 7.1.10. Simbolice y determine la validez del siguiente


razonamiento.
2 es primo. Para todo primo hay un primo mayor que l. Todo
primo mayor que 2 es impar. Por lo tanto existen primos impares.
Solucin. Sea = A, P1, Q1, M2, c una estructura tal que: A =
N, P(x): x es primo, Q(x): x es impar, M(x, y): x > y, c = 2. La
simbolizacin del razonamiento es
= {P(c), x (P(x)y (P(y)M(y, x))), x((P(x) M(x, c)) Q(x))} | x (P(x) Q(x)).

La deduccin es la siguiente.

1.

x (P(x) y (P(y) M(y, x)))

[E1]

2.

P(c) y (P(y) M(y, c))

[E], 1, t c

3.

P(c)

[E1]

4.

y (P(y) M(y, c))

[E], 2, 3

5.

{P(d) M(d, c)}

y (P(y) M(y, c))

[E2], 4, d

constante nueva

6.

{P(d) M(d, c)}

P(d) M(d, c)

[E1]

7.

{P(d) M(d, c)}

x((P(x) M(x, c)) Q(x))

[E1]

8.

{P(d) M(d, c)}

(P(d) M(d, c)) Q(d)

[E], 7, t d

9.

{P(d) M(d, c)}

Q(d)

[E], 6, 9

10.

{P(d) M(d, c)}

P(d)

[E], 6

11.

{P(d) M(d, c)}

P(d) Q(d)

[I], 10, 9

12.

{P(d) M(d, c)}

x(P(x) Q(x)) [I], 11; P(d)Q(d) es [P(x)Q(x)]

x

d

13.

x (P(x) Q(x)) [E], 4, 12, d no ocurre en {P(y)M(y,c),

x(P(x)Q(x)}.

REGLAS DERIVADAS.
Al utilizar el clculo deductivo, a menudo se repiten ciertos pasos
una y otra vez. Para evitar estas repeticiones y simplificar la tarea,
se introducen reglas derivadas.
Para justificar una regla derivada se construye una derivacin con
la nica diferencia de que sus primeras lneas son los secuentes
superiores de la regla.

7.2.1 Reglas derivadas para cuantificadores.


Cambio de variable.
Si y no ocurre libre en {} pero es libre para x en .
[CV]

Equivalencia de cuantificadores.
[CU]

[CE]

Ahora justificamos la reglas [CV], las dems se dejan como


ejercicio.
a) 1. x

Suposicin

x
2.
y

3. y

[E],1, t y
x

[I], 2; pues y no ocurre libre en {} pero


es libre para x en .

b)

1.

Suposicin

x
2.
c

x

c

[E1],1, c constante
nueva

3.

4.

x
x
x

y [I], 2, pues es
c
y
c

x
y ,
y

x y

y c

[E], 1, 3, c no ocurre en {, y }

7.2.2 Reglas derivadas para la igualdad


Simetra:[SI]

t1 t2 Transitividad: [TR]

t1 t2

t2 t3

__________

t2 t1

___________

t2 t3

Justificamos la simetra; la transitividad se deja como ejercicio.

1.

t1 t2

Suposicin

2.

t1 t1

[R]

3.

t2 t1

x
[S], 2,1, pues t1 t1 es [x t1] .
t1

ALGUNOS PRINCIPIOS SOBRE DEDUCIBILIDAD.


Teorema 7.3.1. Sean y sentencias cualesquiera. Entonces

1.

| si y slo si para cada conjunto finito de sentencias,

________

es una regla primitiva o derivada.

2.

{, } | si y slo si para cada conjunto de sentencias,

________

es una regla primitiva o derivada.


Demostracin. Justificamos 1. La demostracin de 2 es similar.

i. (Si) Supongamos que {} | . Si la regla en cuestin es


primitiva, no hay nada que justificar. Si no lo es,
consideremos una derivacin D del secuente {}, .
Construyamos ahora la derivacin cuya primera lnea es ,
, cuyas lneas 2, ..., n son las de la derivacin D, y que
sigue como se indica a continuacin.

1.

.
.
.
n.

{}

n+1

{}

n+2

[I], n+1

n+3

[E], 1, n+2

ii. (Si)

[E2], n

Supongamos ahora que esta regla es una regla

primitiva o derivada. Y, por lo tanto, podemos usarla en las


derivaciones. La derivacin

1. {}

[E1]

2. {}

por la regla

muestra que el secuente {}, es derivable.


Teorema 7.3.2.

Sean , y sentencias cualesquiera. Si para

todo conjunto finito de sentencias

________

es una regla primitiva o derivada, entonces para cualquier conjunto


de sentencias , si | y | entonces | .
Teorema 7.3..3. Sean y conjuntos de sentencias cualesquiera
y una sentencia arbitraria,

a. si , entonces |
b. si | , entonces | .

Teorema 7.3.4.

Sean y sentencias cualesquiera y un

conjunto de sentencias.
Si | ( ) y | , entonces | .
Teorema 7.3.5.

( De deduccin)

Sean y sentencias

cualesquiera y un conjunto de sentencias. Si {} | ,


entonces | ( ).
Teorema 7.3.6.

Sean y sentencias cualesquiera y un

conjunto de sentencias. Si | y | , entonces | .


Teorema 7.3.7.

Para cada n, para cada sentencia y

cualesquiera sentencias i con i n. Si para cada i n , | i y


{0, , n} | entonces | .
Teorema 7.3.8. Si | y para cada , | entonces | .

EJERCICIOS
1.

Construya una deduccin formal de

a) {x (P(x) Q(x)), x P(x)} | x Q(x)


b) {xQ(x), x (P(x) Q(x))} | xP(x)
c) xy R(x, y) | yx R(x, y)
d) x P(x) | x P(x)
e) | x( ) ( x ), si x no ocurre libre en .
f) {xy f(x,y) f(y,x), xf(x,e) x} | y(xf(x,y) xy e)
g) {x(P(x) x c)}| x(P(x) y(P(y) y x))
2.

Es correcta

la siguiente deduccin?. Es vlida la

conclusin?. Justifique

Sea = {x(P(x) Q(x)), x P(x)}, = x Q(x)

1.

x(P(x) Q(x))

2.

P(c) Q(c)

[E1]

[E], 1, t c, c
constante nueva

3.

x P(x)

4. {P(c)}

[E1]
x P(x)

5. {P(c)} P(c)
6. {P(c)} P(c) Q(c)

[E1]
[E2], 2

7. {P(c)} Q(c)
8. {P(c)} x Q(x)
9.

x Q(x)

[E2], 3

[E], 5, 6
[I], 7
[E], 3, 8

3. Cul es el error en la siguiente deduccin?

1. {x R(x, x)}

x R(x, x)

[E1]

2. {x R(x, x)}

R(c, c)

[E], 1, t c

3. {x R(x, x)}

x R(x, c)

[I], 2

4. Simbolice y determine la validez de los siguientes


razonamientos
a) Algn A es B. Todo B es C. Por lo tanto algn A es C.
b) Todo el que haya estudiado ha aprobado. Por lo tanto los
que no hayan aprobado no han estudiado.
c) Quien tiene amigos tiene enemigos, luego quien no tiene
enemigos tampoco tiene amigos.
d) Pedro es hijo de Juana. Para que alguien (cualesquiera) sea
hijo de alguna (cualquiera) persona es necesario que tal

persona sea uno de sus progenitores. Por lo tanto Juana es


uno de los progenitores de Pedro.
e) El Amazonas es un ro. Todos los ros son masas de agua
dulce o de agua salada. En el Amazona habitan delfines
rosados. Los delfines rosados no pueden habitar en masas
de agua salada. En conclusin, el Amazonas es una masa
de agua dulce.
f) El pap de cada ser humano es uno de sus familiares.
Patricia no es amiga de nadie que no sea ms joven que ella
o que no tenga ojos claros. Patricia es un ser humano y el
pap de todo ser humano no es ms joven que ste. Nadie
que tenga ojos claros es familiar de Patricia. Por lo tanto, si
Roberto es el pap de Patricia, entonces Patricia no es
amiga de Roberto.
g) Todo aquel que aprecie a Jorge escoger a Pedro para su
partido.

Pedro no es amigo de nadie que sea amigo de

Juan. Luis no escoger a nadie que no sea amigo de Carlos


para su partido. Por lo tanto, si Carlos es amigo de Juan
entonces Luis no aprecia a Jorge.
h) El opuesto de cada nmero racional es a su vez un racional.
Adems la suma de dos racionales es racional. Se sabe que
z es racional y que w no lo es. Por lo tanto, la suma de z con
w no es racional.
5. Demuestre o refute. Justifique su respuesta.

a) x(A(x)B(x)) | xA(x)xB(x)
y xA(x)x B(x) | x(A(x) B(x)).

b) xA(x)xB(x) | x(A(x)B(x))

y x(A(x)B(x)) | xA(x) xB(x)


c) Todo P es Q. Algn Q es S. Por lo tanto, algn P es S.

d) x P(x) x Q(x) | x(P(x) Q(x))


e) xy R(x, y) | yx R(x, y)
f) y y < f (c, y) | xy y < x.

8. RESOLUCIN Y PROGRAMACIN LGICA.


EQUIVALENCIAS BSICAS.

1. Si x no ocurre libre en , entonces


a) x

b) x

2. Si y no ocurre libre en pero es libre para x en , esto es y


es variable nueva, entonces
a) x y

3. a) xy yx
Extraccin de cuantificadores
4. a) x x

5. a) x x x ( )

b) x y
b) xx yx

b) x x
b) x x x ( )

Si x no ocurre libre en , entonces

6. a) x x ( )

b) x x ( )

7. a) x x ( )

b) x x ( )

8. a) x x ( )

b) x x( )

FORMA NORMAL PRENEXA


La forma normal prenexa (FNP) constituye una estructura de
frmulas en LPO caracterizado por las siguientes propiedades.

1. Todos los cuantificadores aparecen al principio de la


frmula a la que afectan en su totalidad.
2. La frmula afectada por el conjunto de cuantificadores se
denomina matriz y est constituida por predicados,
relaciones o funciones y conectivos
Es decir, una frmula es una FNP si tiene la forma Q1x1 Qnxn
M, donde Q1,,Qn son cuantificadores ( o ) y M no contiene
cuantificadores. A la expresin Q1 x1 Qn xn se le llama prefijo de
y M es la matriz.
Ejemplo 8.2.1. Las siguientes son frmulas en FNP.

a) x y ( P(x) R(x,y))
b) x y z ((P(x) R(x,y)) P(z))
c) Q(c) (P(c)R(c, c))
Teorema 8.2.1.

Toda frmula en LPO es equivalente a una

frmula en la forma normal prenexa.


Omitimos la demostracin.

FORMA NORMAL DE SKOLEM.


Considere una frmula en la forma
x1 xn y (x1,,xn , y)

Si esta frmula es verdadera en alguna estructura =A, L


entonces para cualquier n tupla (a1,an)An, existe un b A tal
que |= [ a1,an, b]. Esto significa que hay una funcin de n
variables : An A tal que para cada (a1,an)An ,
|= [ a1,an, (a1,an)].
La funcin se llama una funcin de Skolem y

debe ser un

smbolo nuevo. Lo anterior se puede expresar:


A, L, f |= x1x n (x1,,xn ,(x1,,xn))
Si en la frmula no aparecen cuantificadores universales, se puede
aadir un nuevo smbolo de constante c. Es decir, si |= y (y),
entonces para algn c A, se tiene |= (c).
Teorema 8.3.1. x1xny (x1,,xn ,y) es satisfacible si y solo
si x1xn (x1,,xn ,(x1,,xn)) es satisfacible.
Aplicando sistemticamente el teorema 2 se pueden eliminar todos
los cuantificadores existenciales de una frmula en forma prenexa
y obtener una frmula equivalente por satisfacibilidad, llamada
Forma Normal de Skolem (FNS).

Para indicar que es

equivalente con por satisfacibilidad se escribir S. La FNS


de una frmula , se denota por S.
Ejemplo 8.3.1. Hallar la FNS de .

a) = x y z w u t s r (x , y , z , w , u , t , s , r)
b) = x y z R( (z , x) , y) w (R(w , z) g(y , x) = w)
Solucin:
a) S y z w u t s r (c , y , z , w , u , t , s , r)
S y z u t s r (c , y , z , (y , z) , u , t , s , r)

S y z u s r (c , y , z , (y , z) , u , g (y , z , u) , s , r)
S yzur(c, y, z , (y, z), u , g (y, z , u), h(y, z, u), r) = S
b) Primero se halla la FNP y luego la FNS
x y z R (f (z , x) , y) w (R (w , v) g (t , u) w))
x y z (R (f (z , x) , y) w (R (w , v) g (t , u) w))
x y z w (R (f (z , x) , y) (R (w , v) g (t , u) w))
S x z w (R (f (z , x) , h1 (x)) (R (w , v) g (t , u) w))
S xz(R(f(z , x), h1(x))(R(h2 (x, z), v)g(t, u) h2(x, z)))
= S
Teorema 8.3.2. Si S es una FNS de una frmula , entonces

i.

S |

ii.

es satisfacible si y solo si S es satisfacible

iii.

| si y solo si | ( )S.

Teorema 8.3.3. Sean 1S, , nS

FNSs de las i, , n

respectivamente, donde los smbolos de funcin se han tomado


distintos en las is, entonces el conjunto {1 ,, n} es satisfacible
si y solo si {1S,, nS} es satisfacible.
DEFINICIONES.

1. Literal. Un literal es una frmula atmica o la negacin de


una frmula atmica.
Ejemplo 8.4.1. Son literales P(x), P(c), R(x , y , f(g(x , y)))

2. Clusulas. Una clusula es un expresin de la forma L1


Lk , donde cada Li es un literal. Como en el caso de
lgica proposicional, la clusula vaca se denota por f.
Ejemplo 8.4.2.

Las siguientes son clusulas P(x) Q(x),

R(x , y), P(f(x)) Q(y) R(g(f(z) , x))

3. Par complementario. Si t1, , tn son trminos y R es un


smbolo relacional n ario, los literales R(t1, , tn ) y R(t1,
, tn) se llama un par complementario.
Ejemplo 8.4.3. Son pares complementarios.

a) P(x) y P(x),
b) R(a , f(a)) y R(a , f(a))
c) S(x , y , z , g(x , y)) y S(x , y , z , g(x , y))
Ejemplo 8.4.4. No son pares complementarios
a) Q(x) y Q(a)

b) R(a , f(a)) y R(b , f(x))

Sin embargo, en el ejemplo 8.4.4 a), al hacer la sustitucin x


por a, el par se transforma en Q(a) y Q(a) que es
complementario, mientras que en el ejemplo 8.4.4

b) es

imposible transformar el par en uno complementario, puesto


que a y b son constantes y no se puede sustituir a por b. Lo
que se ha hecho en el ejemplo 8.4.4 es unificar variables,
dando origen al concepto de unificador.

4. Sustitucin.

Si t1, , tn son trminos y x1, , xn son

variables, la sustitucin x1 por t1, ..., xn por tn se simboliza = {


x1 | t1, , xn | tn } o tambin = { xi ti}, i = 1, .., n.

Notacin. Si E es una expresin y es una sustitucin, la


expresin resultante de aplicar se simboliza por E .
Ejemplo 8.4.5. Sean las expresiones E1 =R(x,y), E2 = R(a,x),
E3 = P(x) R(x, y) y la sustitucin = {x | a , y | f(a)}.
Entonces
E1 = R(a,f(a), E2 = R(a,a), E3 = P(a) R(a, f(a))

5. Unificador. Sean E1 y E2 dos expresiones, una sustitucin


es un unificador del par (E1 , E2 ) si y solo si E1 = E2 y se
dice que unifica E1 , E2 y que (E1 , E2 ) es un par unificable.
Ejemplo 8.4.6. Sean E1 = R(a , y) y E2 = R(x , f(b)) .
= {x | a , y | f(b)} es un unificador de (E1 , E2 ) ya que:
E1 = R(a, f(b)) = E2
Ejemplo 8.4.7. Sean E1 = f(g(x , a) , g(z , x)) y E2 = f(w , g(v ,
b)), donde x, z, v y w son

variables y, a y b son constantes.

1 = {x|b, z|v, w|g(b,a)} y 2 = {x | b, z|c, v|c, w|g(b,a)} son


unificadores de (E1 , E2 ).
Observe que 2 = 1 , donde = {v | c}y 1 es la
sustitucin que resulta de efectuar 1 primero y despus .
En este sentido, 1 es ms general que 2.

6. Unificador ms general (umg). Un unificador de (E1,E2 )


es un unificador ms general (umg) si y solo si para cada
unificador de (E1,E2 ) existe una sustitucin tal que
= .

7. Par de discordancia. Un par de discordancia de (E1 , E2 )


se obtiene localizando el primer smbolo ( de izquierda a
derecha) en el cual las expresiones son diferentes. Luego se
extrae de cada subexpresin el trmino que ocupa esa
posicin y llmense t1 , t2 respectivamente. A la pareja t1, t2
se le llama par de discordancia de (E1 , E2 ).
Ejemplo 8.4.8. Sean E1 = R(x , f(x , z) , x) y E2 = R(x , v , a).
El primer smbolo en que difieren las expresiones es f en E1 y
v en E2 que ocupan la quinta posicin (de izquierda a
derecha), luego el par de discordancia de (E1 , E2 ) es f(x ,
z) , v. Al hacer la sustitucin 1 = {v | f(x , z)} en E1 y E2 se
obtiene
E1 1 = R(x , f(x , z) , x) y E2 1 = R(x , f(x , z) , a)
Un anlisis similar muestra que el par de discordancia de
(E11, E21) es x , a que ocupan la posicin doce en las
nuevas expresiones.

La sustitucin 2 = {v | f(x , z), x|a}

produce:
E1 1 2 = R(a , f(a , z) , a) y E2 1 2 = R(a , f(a , z) , a).
Las expresiones E1 1 2 y E2 1 2 son iguales, con lo cual E1 y E2
se han unificado. El procedimiento efectuado en el ejemplo 10 se
puede realizar mediante un algoritmo, llamado algoritmo de
unificacin.

8.4.1 Algoritmo de unificacin


Entrada: E1 y E2 := expresiones
Salida: := sustitucin, FALLA := Bolean

Garantiza: Si FALLA := Falso, entonces E1 y E2 son unificables y


es su unificador ms general. Si FALLA := Verdadero, entonces E1
y E2 no son unificables.
Inicio
:= ;

/* es la sustitucin vaca

Mientras E1 E2 haga
Sea (d1 , d2 ) el par de discordancia de E1 y E2
Si d1 y d2 no contienen variables entonces FALLA := Verdadero;
Fin
sino
Sea x la componente de d1 , d2 que es variable
/* si ambas lo son, se escoge cualquiera
Sea t la otra componente de d1, d2
Si x ocurre en t entonces FALLA := Verdadero;
Fin
sino sea := {x|t}
fin si
fin si
fin mientras
FALLA := Falso
Fin.
Ejemplo 8.4.9. Utilice el algoritmo unificador par hallar el umg de
las siguientes expresiones.
E1 = R(x, y, f(u, v),z) y E2 = R(a, g(b), w, h(a))

Solucin.
Inicio

:=
E1 E2
Par de discordancia: x, a
:= {x | a}
E1 := R(a, y, f(u, v),z), E2 := R(a, g(b), w, h(c))
E1 E2
Par de discordancia: y, g(b)
:= {x | a, y | g(b)}
E1 := R(a, g(b), f(u, v), z), E2 := R(a, g(b), w, h(c))
E1 E2
Par de discordancia: f(u, v), w
:= {x | a, y | g(b), w | f(u,v)}
E1 := R(a, g(b), f(u, v), z), E2 := R(a, g(b), f(u,v), h(c))
E1 E2
Par de discordancia: z, h(c)
:= {x | a, y | g(b), w | f(u, v), z | h(c)}
E1 := R(a,g(b), f(u,v),h(c)), E2 := R(a,g(b),f(u,v), h(c))
E1 = E2

Luego, el umg de E1 y E2 es = {x | a, y | g(b), w | f(u, v), z | h(c)}.

DEDUCCIN POR RESOLUCIN.


A continuacin se describe el mtodo de deduccin por resolucin.
El mtodo de resolucin consta de las siguientes reglas.

1. Regla de corte
Sean C1, C2, C3, C4 clusulas, R(t1, , tn) y R(s1, , sn)
literales unificables, siendo ti y si trminos para i = 1, ..., n .
Entonces.
D1 = C1 R( t1, , tn ) C2
D2 = C3 R(s1, , sn) C4
________________________
D3 = (C1 C3 C2 C4 ) ,
donde es el umg de R(t1, , tn) y R(s1, , sn) y, D1 y D2 no
tienen variables comunes.
La clusula D3 es llamada resolvente binaria de D1 y D2 , y se
dice que los literales R(t1, , tn) y R(s1, , sn) que no
aparecen en D3 son los literales resueltos. Las clusulas Ci
pueden ser vacas. Si alguna variable aparece tanto en D1
como en D2 , deben ser renombradas en una de ellas antes de
aplicar la regla. Esto se debe a que las variables son locales
en cada clusula. En forma de rbol, la regla de corte se
representa por:
D1

D2
Corte

D3
2. Regla de simplificacin.
Sea L1 y L2 literales unificables, C1 , C2 y C3 clusulas
(pueden ser vacas), entonces:

D1 = C1 L1 C2 L2 C3
_______________________
D2 = ( C1 L1 C2 C3 )
donde es el umg de L1 y L2 . La clusula D2 se denomina
un factor de D1. En forma de rbol esta regla se representa
por:
D1

D2
Ejemplo 8.5.1. Sea C1 = P(x) P(f(y)) Q(x).
P(x) y P(f(y)) son literales unificables. Un umg es = {x |
f(y)}. Luego, por la regla de simplificacin se infiere:
C2 = P(f(y)) Q(f(y))
P(x) P(f(y)) Q(x)
= {x | f(y)}
P(f(y)) Q(f(y))
Ejemplo 8.5.2. Sean C1 = P(x) Q(x) y C2 = P(a) R(x).
Como x aparece en ambas clusulas, se renombra x en C2:
C2 = P(a) R(y).

Ahora P(x) y P(a) son literales

unificables, donde el umg es = {x | a}. Por la regla de


corte:

C3 = (Q(x) R(y)) = Q(a) R(y)


En forma de rbol:
P(x) Q(x)

P(a) R(y)
Corte
= {x | a}
Q(a) R(y)

Las dos reglas anteriores se pueden reunir en una sola regla


llamada regla de resolucin.

8.5.1. Regla de resolucin.


Dadas dos clusulas C1 y C2 , llamadas clusulas padres, la
aplicacin de la regla de resolucin sobre estas clusulas consiste
en uno de los cuatro casos siguientes:

1. Regla de corte entre C1 y C2.


2. Regla de corte entre C1 y un factor de C2 .
3. Regla de corte entre un factor de C1 y C2 .
4. Regla de corte entre un factor de C1 y un factor de C2 .
El resultado es llamado una resolvente de C1 y C2 . Una deduccin
de a partir de un conjunto de premisas , utilizando solo las
reglas de resolucin se simboliza por:
|
R

Ejemplo 8.5.3. Sean 1 = xy(P(x, y) w(Q(w, x) Q(w, y),


2 = xy(w(Q(w, x) Q(w, y)) P(x, y)) y = xyz((P(x, y)
P(y, z)) P(x, z)).
Use resolucin para demostrar que 1, 2 |= .

Solucin: Primero transformamos el conjunto {1, 2, } en un


conjunto de clusulas usando las equivalencias y las FNSs,
obtenindose: = {C1, C2, C3, C4, C5, C6 }, en donde C1 = P(x,y)
Q(w,x) Q(w,y), C2 = Q(f(x,y),x) P(x,y), C3 = Q(f(x,y),y)
P(x,y), C4 = P(a,b), C5 = P(b,c) y C6 = P(a,c).
La deduccin por resolucin es la siguiente

1.

P(a,c)

2.

Q(f(x,y),y) P(x,y)

3.

Q(f(a,c),c)

4.

Q(f(x,y),x) P(x,y)

5.

Q(f(a,c),a)

6.

P(x,y) Q(w,x) Q(w,y) C1

7.

P(a,b)

8.

Q(w,a) Q(w,b)

Corte 6,7, 3 = {x | a, y | b}

9.

Q(f(a,c), b)

Corte 5, 8, 4 = {w | f(a,c)}

10.

P(b,c)

11.

Q(w,b) Q(w,c)

Corte 6, 10, 5 = {x | b, y | c}

12.

Q(f(a,c), c)

Corte 9, 11, 6 = {w | f(a, c)}

13.

C6
C3
Corte 1,2 , 1 = {x | a, y | c}
C4
Corte 1,4, 2 = {x | a, y | c}

C4

C5

Corte 3, 12

Por lo tanto, 1, 2 |= .
Teorema 8.5.1. Sea S un conjunto de clusulas y C una clusula.
Si S |R C , entonces S |= C.

Teorema 8.5.2.

Un conjunto estndar de clusulas S es

insatisfacible si y solos si S |R f , donde f es la clusula vaca.


OBTENCIN DE RESPUESTAS POR RESOLUCIN.
A continuacin se ilustra con unos ejemplos cmo emplear
resolucin para la obtencin de respuestas a ciertos tipos de
preguntas.
Ejemplo 8.6.1. A partir de las suposiciones.
S1: Turing es humano
S2: Scrates es filsofo
S3: Todo filsofo es humano
S4: Cualquier humano es falible
Se quiere responder la pregunta P: Hay alguien que sea falible?
Solucin. Lo primero que hay que hacer es simbolizar las
suposiciones, para lo cual introducimos los siguientes smbolos.
Humano(x)

: x es humano

Filosofo(x)

: x es filsofo

Falible(x)

: x es falible

: Turing

: Scrates

S1: Humano(t)
S2: Filosofo(s)
S3: x(Filosofo(x)Humano(x))x(Filosofo(x)Humano(x))
S4: y(Humano(y) Falible(y)) y(Humano(y))Falible(y))
P: z Falible(z).

Negando P se obtiene el conjunto estndar de clusulas.


S = {Humano(t), Filosofo(s), Filosofo(x)Humano(x),
Humano(y)Falible(y), Falible(z)}
La refutacin es la siguiente.

1. Falible(z)

Clusula 5

2. Humano(y) Falible(y)

Clusula 4

3. Humano(y)

Corte 1, 2; 1 = {z | y}

4. Humano(t)

Clusula 1

5. f

Corte 3, 4: 2 = {y | t}

El rbol de refutacin es:


Falible(z)

Humano(y) Falible(y)
1 = {z | y}

(Corte)
Humano(y)

Humano(t)
(Corte)
2 = {y | t}
f

Tambin se puede obtener la refutacin

1. Falible(z)

Clusula 5

2. Humano(y) Falible(y)

Clusula 4

3. Humano(y)

Corte 1, 2; 1 = {z | y}

4. Filosofo(x) Humano(x)

Clusula 3

5. Filosofo(x)

Corte 3, 4; 2 = {y | x}

6. Filosofo(s)

Clusula 2

Corte 5, 6 3 = {x | s}

7. f

El rbol de refutacin es:


Falible(z)

Humano(y) Falible(y)
1 = {z | y}

Corte
Humano(y)

Filosofo(x)Humano(x)

Corte
2 = {y | x}
Filosofo(x)

Filosofo(s)
Corte
3 = {x | s}
f

La respuesta a P es afirmativa.

Ms an, al examinar los

unificadores, se ve que z 1 2 = t y Falible(z) 1 2 = Falible(t)


obtenindose una refutacin, y por lo tanto, no solo se puede decir
que la respuesta es afirmativa sino que Falible(t). Para ello basta
tomar z = t. Similarmente, de la segunda refutacin se obtiene z 1
2 3 = s y otra prueba de que P es afirmativa es tomar z = s.
Ejemplo 8.6.2. Sabiendo que.
S1: Antonio va a los mismos sitios que Juan
S2: Juan va al estadio Pascual Guerrero.
Contestar. P: A dnde va Antonio?

Solucin. Simbolizacin
V(x, y) : x va al sitio y
a : Antonio
j : Juan
e : Estadio Pascual Guerrero
S1: x (V(j, x) V(a, x))
S2: V(j, e)
Si la pregunta es A dnde va Antonio?, de las premisas debe ser
deducible que Antonio va a algn sitio. Es decir, y V(a, y),
luego hay que demostrar que {S1, S2} | y V(a, y), lo cual es
equivalente a que {S1, S2, y V(a, y)} es insatisfacible.
Un conjunto estndar de clusulas es
S = {C1 = V(j, x) V(a, x), C2 = V(j, e), C3 = V(a, y)}
Una refutacin es:

1. V(j, x) V(a, x)

C1

2. V(j, e)

C2

3. V(a, e)

Corte 1,2 ; 1 = {x|e}

4. V(a, y)

C3

5. f

Corte 3,4, 2 = {y|e}

Hasta aqu slo se puede responder afirmativamente a la pregunta


Antonio va a algn sitio?. Para contestar la pregunta original, se
define el predicado
Res(x): x es la respuesta

y luego traducir a una frmula lgica la hiptesis si Antonio va al


sitio s, entonces s es la respuesta. Es decir.
y (V(a, y) Res(y))
o equivalentemente
y (V(a; y) Res(y))
Al sustituir la conclusin por esta ltima clusula en la lnea 4 de
la refutacin anterior, modificando las lneas 4 y 5, se tiene:

1. V(j, x) V(a, x)

C1

2. V(j, e)

C2

3. V(a, e)

Corte 1,2 ; 1 = {x|e}

4. V(a, y) Res(y)

C3

5. Res(e)

Corte 3,4, 2 = {y|e}

Obtenindose la respuesta e.
En forma de rbol sera
V(j, x) V(a, x)

V(j, e)

Corte
1 = {x | e}
V(a, y)

V(a, e)
Corte

2 = {y | e}

f
y el rbol modificado en el cual en los nodos V(a, y) y f se ha
agregado Res(y).
V(j, x) V(a, x)
Corte

V(j, e)
1 = {x | e}

V(a, y) Res(y)

V(a, e)

Corte

2 = {y | e}

f Res(e)
La respuesta es Antonio va al estadio Pascual Guerrero.
PROGRAMACIN LGICA.
Prolog es un lenguaje basado en las reglas de la lgica. Los
programas en Prolog se expresan en una base de datos que
consta de hechos y reglas. Los hechos enuncian los datos bsicos,
tales como las propiedades de ciertas entidades. Por su parte, las
reglas nos permiten hacer inferencias tomando como base estos
datos. La informacin se extrae de la base de datos por medio de
consultas. Las consultas se corresponden con la conclusin de
una derivacin, mientras que la base de datos proporciona las
premisas. Las premisas de una derivacin se corresponden con
los hechos y las reglas de una base de datos de Prolog y la
conclusin se pueden considerar como una pregunta o la consulta
que concierne a esta base de datos. Los hechos, las reglas y las
consultas conforman el conjunto de clusulas. Los hechos
solamente contienen una frmula atmica y se usan para aportar
informacin.
Ejemplo 8.7.1. Los siguientes son hechos.
mamifero(leon).
capital(canada , ottawa).
gusta(rosalia , chocolate).

Los cuales indican que: el len es un mamfero, la capital de


Canad es Ottawa y a la ta Rosala le gusta el chocolate
respectivamente.
En Prolog los individuos (trminos cerrados), predicados y
funciones empiezan con letras minsculas mientras las variables
empiezan con una letra mayscula o con un guin de subrayado.
Ejemplo 8.7.2. gusta(X , chocolate).
Aqu X es variable y el hecho afirma que a todo el mundo le gusta
el chocolate.
Las reglas son sentencias condicionales.
Ejemplo 8.7.3.

La afirmacin si ta Rosala come chocolate,

entonces ganar peso se puede expresar en la forma


ganapeso(rosalia) comechocolate(rosalia).
Ejemplo 8.7.4. La regla tia(X,Y) hermana(X,Z) , padre(Z,X).
Esto significa que X es ta de Y si X es hermana de Z y Z es padre
de X.
Las reglas constan de un encabezado que expresa el consecuente
del condicional, y de un cuerpo que forma el antecedente. Las
frmulas atmicas que aparecen en el cuerpo de una regla se
llaman metas u objetivos y van separadas por comas en lugar de
. Las reglas pueden contener disyunciones. En este caso, se
utiliza un punto y coma en lugar de .
recomienda el uso de disyunciones.

Sin embargo, no se

En lugar de usar punto y

coma, hay que utilizar distintas clusulas.


Ejemplo 8.7.5. El predicado padreomadre se puede definir
mediante la regla
padreomadre(X,Y) madre(X,Y) ; madre(X,Y).

O mediante las dos reglas


padreomadre(X,Y) madre(X,Y).
padreomadre(X,Y) padre(X,Y).
Las listas de clusulas que en su conjunto definen un predicado o
una relacin, se llaman procedimientos. Es posible derivar
conclusiones a partir de una base de datos efectuando consultas.
En esencia, una consulta es una regla sin encabezado. Al igual
que las reglas, las reglas pueden tener una o ms metas. Las
metas tienen que ir separadas por comas o punto y comas. Una
consulta va precedida del smbolo ( en Prolog |?)
Para mayor claridad se pueden utilizar los comentarios. En Prolog,
los comentarios comienzan por el smbolo % y termina con el final
de lnea.
Ejemplo 8.7.6.
a) mamfero(leon).
b) humano(X) mortal(X).
c) tia(X,Y) , gusta(X, chocolate).

% es un hecho
% es una regla
% es una consulta (objetivo)

Ejemplo 8.7.7. Considere el siguiente programa


pais(usa).
pais(canada).
pais(mexico).
pais(japon).
capital(usa , washington).

capital(canada , ottawa).
capital(mexico , ciudaddemexico).
Ahora se efectan una serie de consultas y se registran las
respuestas del sistema.
pais(usa).
yes
capital(mexico , ciudaddemexico).
yes
capital(usa, ottawa)
no
cais(japon).
yes
Hay que recordar que el verdadero significado de no es que no
se puede demostrar ese hecho de la base de conocimiento. Esto
no tiene nada que ver con la veracidad o falsedad de la consulta.
Se dice que aquellas consultas que se pueden derivar de la base
de datos en cuestin tiene xito, mientras que las consultas para
las cuales Prolog puede determinar que no se pueden derivar,
fracasan.
Ejemplo 8.7.8. Considere las siguientes consultas, junto con las
respuestas del sistema, con respecto al programa del ejemplo
8.7.7.
capital(canada , Ciudad).
Ciudad = ottawa
capital(ottawa , X).
no

pais(X).
X = usa ?;
X = mexico ?;
X = usa ?;
no
Hay cuatro maneras de satisfacer el ojetivo, pais(X). Se puede
unificar con el hecho pais(usa), con el hecho pais(canada), con el
hecho pais(mexico) y pais(japon). Recuerde que Prolog siempre
selecciona el primer acierto que es pais(usa). Consiguientemente
X se particulariza con usa. Si esta particularizacin no es
satisfactoria, el usuario se limita a pulsar la tecla retorno (Enter o
) para volver al modo de consulta. Para obtener otras respuestas,
se pulsa un punto y coma seguido por retorno. Esto da lugar a que
el sistema deshaga la particularizacin y vuelva a examinar la base
de datos en busca de otras clusulas con las cuales pueda unificar
la consulta.
Cada vez que el usuario pulse un punto y coma, la consulta se
rehace. Al rehacer una consulta con una sola meta en una base de
datos que contenga hechos, Prolog procede de la siguiente
manera. Se pone un marcador en la lnea que contiene el hecho
que ha dado lugar a que la consulta tenga xito. Cuando se rehace
la consulta, no hay que utilizar ninguna de las clusulas existentes
hasta ese marcador inclusive. Si sigue habiendo una clusula que
se pueda hacer coincidir con la consulta, entonces tiene xito el
intento de rehacer la consulta. En caso contrario fracasar.

Una consulta puede tener varias metas. Tpicamente, estas metas


estn separadas por comas, lo cual significa que todas las metas
deben tener xito para que tenga xito la consulta. Una meta
tambin tiene xito si se unifica con el encabezado de una regla y
el cuerpo de la regla tiene xito.
Ejemplo 8.7.9. Considere el siguiente programa y el objetivo junto
con la respuesta.
C1.

humano(socrates).

C2:

humano(platon).

C3:

mortal(X) humano(X).

mortal(platon).
yes
Formalmente, la demostracin se efecta particularizando
mortal(X) humano(X) en
mortal(platon) humano(platon).
La deduccin en forma de rbol es la siguiente
mortal(platon)

mortal(X) humano(X).
= {X | platon}

humano(platon)

humano(platon)

Ahora considere la consulta y la respuesta del sistema.


mortal(Y).
Y = socrates
La deduccin formal es
mortal(Y)

mortal(X) humano(X).

1 = {X | Y}
humano(Y)

humano(socrates)
2 = {Y | socrates}

Tambin
mortal(Y).

% la consulta

mortal(X) humano(X).

% regla

humano(Y).

% corte 1,2 , 1 = {X | Y}

humano(socrates)

% hecho

% corte 3,4, 2 = {Y | socrates}

Hasta aqu solo se puede responder si al consulta mortal(Y); pero


observando el ltimo unificador se puede obtener la respuesta Y =
socrates. Esta respuesta se obtiene definiendo el predicado
res(X): X es la respuesta,
luego, se modifica la consulta a la siguiente: si Z es mortal
entonces Z es la respuesta. En notacin Prolog es:
res(Y) mortal(Y).
La deduccin de esta respuesta es
res(Y) mortal(Y).

% la consulta

mortal(X) humano(X).

% regla

res(Y) humano(Y).

% corte 1,2 , 1 = {X | Y}

humano(socrates).

% hecho

res(socrates)

% corte 3,4,

2 = {Y |

socrates}
Ahora se obtiene la respuesta deseada Y = socrates.
Ejemplo 8.7.10. Considere el siguiente programa y los objetivos

C1:

padre(tomas, roberto)

C2

padre(roberto, mateo)

C3:

padre(patricia, roberto)

C4

padre(anita, mateo)

C5:

padre(mateo, jorge)

C6:

padre(cristina, jorge)

C7:

abuelo(X, Y) padre(X, Z), padre(Z, Y)

C8:

ancestro(X, Y) padre(X, Y)

C9:

ancestro(X, Y) padre(x, Z), ancestro(Z, Y)

ancestro(roberto, D)
Se obtiene la siguiente deduccin
ancestro(roberto, D)
C8

C9

{D|Y, X|roberto}

{X|roberto, D|X}

padre(roberto, Y)

padre(roberto, Z), ancestro(Z, Y)

C2 {Y|mateo}

C2 {Z|mateo}

ancestro(mateo, Y)
{X|mateo, Y|Y1}

{X|mateo, Y|Y1}

C8
padre(mateo, Y1)
C5

C9

padre(mateo, Z1), ancestro(Z2, Y1)

{Y1|jorge}

C5 {Z2|jorge}

{X|jorge, Y|Y1}

ancestro(jorge, Y1)
C8

C9

{X|jorge, Y|Y1}

padre(jorge, Y1) padre(jorge(Z3), ancestro(Z3, Y1)

X
Hay dos soluciones.

La primera corresponde a {D|mateo} y la

segunda a {D|jorge}.
La mayora de los programas en Prolog estn organizados en
cuatro secciones principales y aunque no todas estas secciones
necesitan estar presentes en todos los programas, es bueno
familiarizarse con ellas:

Clusulas:

los hechos que construy con los objetivos y

relaciones se listan en la seccin de clusulas (clauses). La


seccin clauses puede tambin contener reglas y otras
construcciones ms complejas.

Predicados: los predicados son las relaciones.

El trmino

predicado viene de la lgica formal, la cual es uno de los


fundamentos iniciales de Prolog. Siempre que el programa vaya
a usar un predicado particular en las clusulas, necesita
declararlo formalmente en la seccin predicates.
Dominio: en Prolg se necesita un nivel ms de explicacin
antes de que un programa est completo. Se necesita conocer
de antemano qu tipo de cosas pueden ser un argumento.

Objetivo: es la seccin que le dice a Prolog lo que ha de


encontrar o lo que desea que la comutadora haga con la
informacin que se la ha suministrado en las otras secciones.

Implementacin en Prolog del ejemplo 8.7.9 .


En la ventana del editor de Prolog se procede a escribir el
siguiente cdigo:

domains
persona = symbol
predicates
padre(persona)
abuelo(persona)
ancestro(persona)
clauses
padre(tomas, roberto)
padre(roberto, mateo)
padre(patricia, roberto)
padre(anita, mateo)
padre(mateo, jorge)
padre(cristina, jorge)
abuelo(X, Y) if padre(X, Y),padre(Z, Y)
ancestro(X, Y) if padre(X, Y)
ancestro(X, Y) if padre(X, Z), ancestro(Z, Y)
Luego se procede a guardar la informacin con F2 y a compilar el
cdigo con F9 y R para ejecutar el programa.
En la ventana de dilogo se procede a evaluar el objetivo:
Goal: ancestro(roberto, D)
D = roberto
D = jorge

2 solutions
Al final se tendr en Prolog algo muy parecido a la siguiente figura.

Files

Edit

Compile

Predicates

Options

Goal: ancestro(roberto, D)

padre(persona, persona)

D = mateo

abuelo(persona, persona)

D = jorge

ancestro(persona, persona) 2 solutions


clauses
Goal. _
padre(tomas, roberto).
padre(roberto, mateo).
padre(patricia, roberto).
padre(anita, mateo).
padre(mateo, jorge).
padre(cristina, jorge).
abuelo(X, Y) if padre(X, Y),padre(Z, Y).
ancestro(X, Y) if padre(X, Y).
ancestro(X, Y) if padre(X, Z), ancestro(Z, Y).

EJERCICIOS.
1. Hallar las FNSs de

Setup

a) x P(x) x Q(x)
b) x (y R(x, y) y w S(y, w, x))
c) x P(x) x Q(x)
d) x(P(x)z(yQ(x,y)P(f(z))))y (Q(x , y) P(x))))
e) x ((P(x) y (R(x , y) z f(x , z) y)) y R(x , y)
f) = x((P(x)y(R(x, y) z f(x , z) y) y R(x , y))
2. Use resolucin para demostrar

a) x y (P(x) R(x , y)) | (x y R(x , y) x P(x))


b) {x(P(x) (Q(x)R(x))), (P(x)S(x)))} | xR(x) S(x))
c) {A(x,y) B(x) C(f(x)) , A(x,y) B(y)
D(x,f(x)) ,C(u) , A(a,b) , B(b)} es insatisfacible.

d) x y (P(x) Q(y)) x y (P(x) Q(y))


e) {xyR(x, y), xy(R(x, y) R(y, x))} | x y R(x, y)
3. Dadas las siguientes premisas

a) 1 : x (F(x) y (E(y) A(x, y)))


2 : xy ((F(x) C(x, y)) A(x, y))
Demuestre usando resolucin que:
{1, 2} | x y (E(x) C(x, y))

b) 1 : x (F(x) y (E(y) A(x, y))


2 : x y ((F(x) C(y)) A(x, y))
Demuestre usando resolucin que:
{1, 2} | x(E(x) C(x))
4. A partir de la siguiente informacin
a) Antonio, Miguel y Juan son estudiantes de computacin
b) A todos los estudiantes de computacin les gusta el ftbol o
el ajedrez
c) A nadie que le guste el ftbol le gusta la lluvia

d) A todos aquellos a quienes les gusta el ajedrez, les gusta la


nieve
e) A Miguel le desagrada todo lo que le que gusta a Antonio y
le gusta todo lo que le desagrada a Antonio
f)

Antonio le gusta la lluvia y la nieve

Determine si se puede responder, usando resolucin, la


pregunta y cul es la respuesta: Quin es estudiante de
computacin y no le gusta el ajedrez?
5. Utilizando el universo y los smbolos definidos y la
estrategia de Prolog, responda la pregunta a la base de
conocimientos
Universo. U = {x | x es persona}
Relaciones.

A(x, y): x es hijo de y

B(x, y): x es hermano de y


ndividuos. p: Pedro, j: Juan, m: Mario
Informacin.
Juan es hijo de Pedro
Mario es hijo de Pedro
Cualquier par de personas que sean hijos de un mismo padre
son hermanos
Pregunta: De quin es hermano Juan?

6. Considere el universo A = N y los siguientes smbolos


Predicado.

Suma(x, y z): x + y = z

Funcin. s(x): el sucesor de x. Por ejemplo, s(0)= 1, s(1) = 2, ...


Premisas. n Suma(0, n, n)
n m p (Suma(n, s(m), p) Suma(s(n), m ,p))
Pregunta. z Suma(s(s(0)), s(s(0)), z)

a) Explique en el lenguaje natural el significado de las


premisas y pregunta.
b) Escriba en notacin Prolog el programa y el objetivo que
resuelve el problema.
7. Considere la siguiente programa
Hermana(ana,pablo).
Hermana(mimi,juana).
Padreomadre(pablo,jaimito).
Padreomadre(juana,caty).
Mujer(caty).
Hombre(jaimito).
Tia(X,Y) : Hermana(X,Z) , Padreomadre(Z,Y).
Responder la consulta Tia(U,V).
8. Considere el siguiente programa
Compra(X,Y) : Sevende(Y) , Gusta(X,Y) , Bueno(Y).
Sevende(vestido).
Sevende(sombrero).
Sevende(zapatos).
Gusta(jaime,zapatos).
Gusta(maria,vestido).
Gusta(maria,sombrero).
Bueno(sombrero).
Responda las siguientes consultas usando la estrategia de
Prolog.
a) Compra(maria,sombrero)
b) Compra(Z,U)

BIBLIOGRAFA.
1.

BADESA
Ramn.

Calixto,

JAN

Ignacio,

JANSANA

Elementos de Lgica Formal. Ariel Filosofa.

Barcelona 1998.
2.

BERTOSSI Leopoldo. Lgica para la Ciencia de la


Computacin.

3.

CAICEDO Xavier.

Elementos de Lgica y

Calculabilidad. Departamento de Matemticas Universidad


de los Andes. Segunda edicin. Bogot.1990.

4.

GRASSMAN Winfrield Karl,


Paul.

TREMBLAY Jean

Matemtica Discreta y Lgica.

Prentice Hall.

Madrid 1996.

5.

TREMBLAY

Jean

Paul,

MANOHAR

Ram.

Matemticas Discretas con Aplicaciones a las Ciencias de


la Computacin. Compaa Editorial Continental S.A.
Primera edicin. Mxico 1996.

6.

SMITH Karl J. Introduccin a la Lgica. Grupo


Editorial Iberoamrica. Mxico 1991.

También podría gustarte