Documentos de Académico
Documentos de Profesional
Documentos de Cultura
LGICA FORMAL
Jos Eduardo Tofio Pea
Alejandro Martnez Acosta
- 2003 -
TABLA DE CONTENIDO.
JOS EDUARDO TOFIO PEA...................................................................................3
ALEJANDRO MARTNEZ ACOSTA...............................................................................3
JOS EDUARDO TOFIO PEA...................................................................................4
ALEJANDRO MARTNEZ ACOSTA...............................................................................4
INTRODUCCIN
16
SINTAXIS.
16
29
SEMNTICA.
32
54
3. DEDUCCIN FORMAL.
59
SISTEMA DEDUCTIVO.................................................................................59
REGLAS DERIVADAS................................................................................64
ALGUNOS RESULTADOS SOBRE DEDUCIBILIDAD..............................66
EJERCICIOS.
69
71
FORMAS NORMALES...................................................................................71
DEDUCCIN POR RESOLUCIN...........................................................76
INTRODUCCIN A PROGRAMACIN LGICA......................................83
EJERCICIOS
90
95
5.SINTAXIS.
96
108
SEMNTICA
ESTRUCTURAS.
112
112
134
DEDUCCIN.
141
156
160
EQUIVALENCIAS BSICAS......................................................................160
FORMA NORMAL PRENEXA ...................................................................160
FORMA NORMAL DE SKOLEM...............................................................161
DEFINICIONES.
163
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
con la
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
Bertrand Russell y
10
partir
de
la
resolucin
unificacin,
procesos
que
de
modelamiento
de
bases
de
conocimiento
12
13
PRIMERA PARTE
LGICA PROPOSICIONAL
15
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
1. Variables proposicionales:
, , , ,
(, )
Tabla 1
Conectiva
Nombre
Lectura
Negacin
No
Conjuncin
Y
Disyuncin
O
Bicondicional
si y solo si
i)
(p (q p))
ii)
(((p q) p) q)
En efecto:
i)
ii)
18
i)
((p q) q)
ii)
(p q) p
iii)
En efecto:
i)
2.
2:
a) p es fbf* por F1*
Este es el
F: , (*), donde * {, , , }.
definicin
inductiva
del
lenguaje
L(P)
tiene
algunas
II.
21
n( n + 1)
.
2
n(n + 1)
} y demostrar, usando el axioma
2
22
nmero de smbolos de .
Solucin.
23
A continuacin
por definicin de I
24
Si no es as,
La conectiva
21
1.4
( )
2 34
321
27
r q
s s
(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
se conserve la estructura
i)
ii)
((p q ) (r p))
Solucin.
i)
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
29
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)
30
b)
a)
p r) r q)
c) p q)) r q)))
b)
p q)) r) s)
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.
las
posibles
Observaciones:
Se define
: L( P ) {V , F } como sigue.
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
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:
es contingente si es
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
una
(4)
(2)
(3)
(1)
(2) (3)
)
V
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:
2. Si es tautologa, se escribe =
Lema 2.1.1. Sean una fbf y
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)
en
P1.
Por
hiptesis
de
induccin,
v ( ) = w ( ) y por tanto v ( ) = w ( ) .
b)
( )
( )
(( ) )
(( ) )
(( ) )
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
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)
ii)
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
( ) ( )
( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( )
( )
( )
( )
( )
Solucin.
(p q) r (p q) r
(p q) r
Ley de De Morgan
r (p q)
Ley conmutativa de
r (p q)
((p q) r) q
((p q) q) (r q)
Ley distributiva.
q ( r q)
Ley de absorcin.
r q
Ley de absorcin.
1. ( )
5. ( )
2. ( )
6.
3. ( )
7.
4. ( ) ( )
Demostracin: Se demostrarn 1 y 2, las dems se dejan como
ejercicio.
sii () = F y () = F
sii () = V y () = V
sii () = V
sii (()) = F
sii () = V y () = V
sii () = F y () = F
sii ( ) = F
sii (( )) = V
Teorema 2.2.1.2.
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
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
(( )) ( | ) ( | ) | ( | ).
( ) (( | ) ( | )) ( | ) | ( | ).
( ) ( ( | )) ( | ( | )) | ( | ( | )).
( ) ( ) (( | ( | )) | ( | ( | )))
(( | ( | )) | ( | ( | ) )).
(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.
q
V
F
V
F
CONSECUENCIA LGICA.
Definicin 2.3.1.
una
1.
2.
3.
4.
Ejemplo 2.3.1.
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.
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.
4.
solamente
en
cuanto
estas
Se analizan las
puedan
estar
conectan
proposiciones
se
simbolizan
por
smbolos
pq
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
Definicin 2.4.1.
1
2
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
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.
a)
(( ) ( )) .
b)
( ) ( ).
c)
( ( )) (( ) ).
d)
( ) (( ) ( )).
3.
a)
b)
c)
d)
4.
Determine si el par de
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.
a)
b)
( ) ( )
c)
( ) ( )
d)
( )
6.
a)
(p q) r
b)
(p q) r
c)
(p q) r
d)
(p q) (q p)
7.
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.
V
V
F
F
V
F
V
F
V F
V F
F F
V F
9.
V
V
F
F
V
F
V
F
/ T
F V
F V
V V
F V
a.
{p q, p q}
b.
{p (p q), (q r) p, r (p q)}
c.
{p q, p r, q r}
11.
q
F
F
V
V
F
r
F
F
F
V
V
s
V
V
V
V
V
a)
pq
c) r p
b)
rs
d) (r s) q
12.
a)
{(p q) r, r} |= p
b)
|= ((p q) p) p
c)
{p (q r), r} |= p q
d)
13.
a)
{ ,} |=
b)
{ , } |=
c)
Si {} |= , entonces |=
d)
Si |= y {} |= , entonces |=
e)
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
{ }
[E ]
{}
{}
{}
[E ]
[E]
{}
{}
{}
[E ]
{}
[E ]
{}
[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
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
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
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
Lo segundo es
( )
[E1]
2. {( ), }
[E1]
3. {( ), }
[I], 2
4. {( ), }
( )
[E2],1
5. {( )}
[I], 3, 4
6. {( )}
[I], 5
7.
[E], 1, 6
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
III.
Suposicin.
Demostracin.
1.
Suposicin
2.
Suposicin
3.
{}
[E1]
4.
{}
[E2], 1
5.
{}
[E], 3, 4
6.
{}
[E2], 2
7.
[I], 5, 6
1. { }
[E1]
2. { }
[E1]
3. { }
[E], 1
4. { }
[E], 1
5. { }
[ED], 2, 3
6.
( )
[E], 4, 5
1.
{}
2.
( )
[E1]
[E]
1.
si , entonces |
2.
si | , entonces | .
Demostracin.
( De deduccin) [TD].
Sean y frmulas
1.
( )
Suposicin.
2. {, }
[E1]
3. {, }
( )
[E2], 1
4. {, }
[E], 3, 4
5. { ,}
[E1]
6. { }
[I], 4, 5
7.
( )
[I], 6
Teorema 3.3.6.
Sean y
1.
( )
2.
3.
4.
[E], 2, 3
Sean y frmulas
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].
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.
a)
b)
c)
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.
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) r
b) p (q 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)
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
valor F se
Definicin 4.1.5.
En general,
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.
3.
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.
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
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.
2.
Lema 1. Si | C entonces |= C .
R
Lema 2.
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 .
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.
v ( D1 D1' D2 D2' ) = F
( D1 D1' D2 D2' )
(p1,
p2,
...,
pn-1).
Tmese
El
1. Se agrega a .
2. Se genera un conjunto de clusulas {}
que sea
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
de
refutacin.
p q s
r q s
p s
r s
s
r
f
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).
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
r p
p p (C)
pq
p (S)
qr
q (C)
p r
r (C)
p (C)
f (C)
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
Este tipo de
Si se tiene q1 , q2 , , qm
(***)
(****)
En
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
------
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
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
10. p u
Definicin de p (Retroceso)
11. u
Corte 1, 10
12. u
u es un hecho
13.
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
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
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) (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.
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
1. p q
q: Le gusta la lgica
2.
----
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
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
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
f(t1,..., tn)
t1
... tn
g
f
P(t)
()
R(f(x), w)
P(z)
R(w, x)
xw
PRINCIPIO DE INDUCCIN
Definicin 5.4.2.
variables de t.
Si
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.
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].
= x(R(f(x),f(a))w((P(z)wx)R(x , y)))
b)
f (a )
x
1. y
t
2.
x
x
x
f (r1 ,, rn ) = f r1 ,, rn
t
t
t
Sustitucin en 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)))
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
Una disyuncin.
b)
Un
condicional
cuyo
consecuente
es
una
disyuncin.
c)
cuantificacin universal.
d)
e)
f)
universal de un condicional.
g)
a.
R(x, y) P(x)
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)))
a.
f(f(x), c)
y))
e. z(f(f(f(x, c), x), c) z)
b.
c.
a.
b.
c.
d.
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
Ejemplo 6.1.1.
Sea = A, P, R, f, g, h, c, d una
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
funciones primitivas y c1 ,, cr
f1 ,, f j
son las
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.
A, P 1 , Q 1 , R 1 , f 1 , g 1 , c 1 , d 1 , donde A es el
2. 2 =
B, P 2 , Q 2 , R 2 , f 2 , g 2 , c 2 , d 2 , donde B es el
Predicados:
P(x): x es primo
Q(x): x es par
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)
P(x) Q(x)
P(x)
P(x) Q(x)
Q(x)
V
11
13
x
V
F
F
F
V
V
a) = , <, +, , 0
b) = R, >, , , 0
c) = P({1, 2, 3}), , , ,
Solucin.
2
3
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
x1 xn
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
c) (x) = y R(x,y)
b) (y) = x R(x,y)
Solucin:
x1 xn
1 |=
si y solo si 2 |=
a1 an
x1 xn
.
a1 an
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:
Relacin:
H(x, y) : x es hermano de y
Trminos:
j : Juan
m : Mara
p : Pedro.
La simbolizacin es:
a) H(j, m).
Universo:
Predicados:
B(x): x es ballena.
A(x): x es acutica.
La simbolizacin es:
x (B(x) A(x)).
Universo
Predicados:
P(x): x es poltico.
D(x): x es deshonesto.
x (P(x) D(x))
Simbolizacin:
Universo
Relacin
Trminos
r: Rigoberto.
a: Antonieta.
Simbolizacin:
P(r, a).
: p(x): el padre de x
p(a) r.
y la simbolizacin es:
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
En
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.
yxR(x, y).
[
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
6.5.1 Propiedades.
1.
a) |= x ()
x
c) |= x
t
b) |= x
t
d) |= x 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.
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)
e)
x
x
|= t1 t2 si t1 y t2 son trminos
t1
t2
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
6.6.1 Propiedades.
1.
a)
2.
4.
x
b) x y .
y
Sea y frmulas
a)
3.
x
x y
y
x( ) xx
b) x () x x
a)
x x
b) x x
b)
x x
c) x x
a)
5.
b) x
a)
x ( ) x
b) x ( ) x
b)
x ( ) x
d)
x ( )
c)
x ( ) x
e) x ( )
6.
a)
x
x (x t )
t
b)
x
x(x
t
t)
7.
En el
captulo correspondiente
resolucin
se retomar
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 |=/ .
Sea
6.7.1 Propiedades.
1.
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.
a)
x=2
b)
c)
d)
e)
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))
Determine si la
a) x (P(x) Q(x))
b) x L(x)
c) x P(x)
e) x Q(x)
d) x (Q(x) L(x))
y las restantes
falsas.
ii.
restantes falsas
iii.
falsas.
iv.
restantes falsas
6.
a)
P(c) P(d)
d) P(c) Q(d)
b)
P(c) Q(d)
e) x (P(x) Q(x))
c)
f) xy (R(x, y) z
S(x, z))
a) P(x) Q(x)
e) P(x) Q(y)
b)
c)
d)
e)
g)
h)
A(x): x es hombre
B(x): x es mujer
x es tataranieto de y
b)
x es hurfano de madre
c)
d)
e)
f(x, y) : x +y
g(x, y) : xy
Individuos:
a: 0
b: 1
x<y
4.
5.
2 es el mnimo par
6.
a)
b)
c)
xy R(x, y) yxR(x, y)
a)
x(P(x) Q(x)),
b)
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
DEDUCCIN.
El mtodo de deduccin empleado en LPO usa las reglas de
inferencia
dadas
en lgica
proposicional
ciertas
reglas
En
, si x no ocurre libre en
x
x
c
_______________ ,
x
[E] x ,
t es libre para x en
x
t
[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.
t es trmino cerrado.
tt
[S]
t1 t2
x
t1
____________,
x
t2
En general, dado un
Notacin.
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
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))
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
6.
yxR(x,y)
[I], 1, 5; c no ocurre
en {yR(x,y),yxR(x,y)}
1. {x D(x, c)}
x D(x, c)
[E1]
D(a, c)
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
1.
x P(x)
[E1]
2. {P(c)}
x (P(x) Q(x))
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
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)
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)}.
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
1.
g(c, d) g(c, d)
2.
z g(c, d) z
es
z
[g(c, d) z]
g (c, d )
3.
yz g(c, y) z
premisas
y d no aparece.
4.
xyz g(x, y) z
premisas,
y c no aparece.
La deduccin es la siguiente.
1.
[E1]
2.
[E], 1, t c
3.
P(c)
[E1]
4.
[E], 2, 3
5.
[E2], 4, d
constante nueva
6.
P(d) M(d, c)
[E1]
7.
[E1]
8.
[E], 7, t d
9.
Q(d)
[E], 6, 9
10.
P(d)
[E], 6
11.
P(d) Q(d)
[I], 10, 9
12.
x
d
13.
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.
Equivalencia de cuantificadores.
[CU]
[CE]
Suposicin
x
2.
y
3. y
[E],1, t y
x
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 }
t1 t2 Transitividad: [TR]
t1 t2
t2 t3
__________
t2 t1
___________
t2 t3
1.
t1 t2
Suposicin
2.
t1 t1
[R]
3.
t2 t1
x
[S], 2,1, pues t1 t1 es [x t1] .
t1
1.
________
2.
________
1.
.
.
.
n.
{}
n+1
{}
n+2
[I], n+1
n+3
[E], 1, n+2
ii. (Si)
[E2], n
1. {}
[E1]
2. {}
por la regla
________
a. si , entonces |
b. si | , entonces | .
Teorema 7.3.4.
conjunto de sentencias.
Si | ( ) y | , entonces | .
Teorema 7.3.5.
( De deduccin)
Sean y sentencias
EJERCICIOS
1.
Es correcta
conclusin?. Justifique
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
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
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))
b) x
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 ( )
6. a) x x ( )
b) x x ( )
7. a) x x ( )
b) x x ( )
8. a) x x ( )
b) x x( )
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.
debe ser un
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.
iii.
| si y solo si | ( )S.
FNSs de las i, , n
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) es
4. Sustitucin.
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.
/* 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
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).
P(a) R(y)
Corte
= {x | a}
Q(a) R(y)
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.
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)
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.
: 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).
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}
Humano(y) Falible(y)
1 = {z | y}
(Corte)
Humano(y)
Humano(t)
(Corte)
2 = {y | t}
f
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
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.
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)
4. V(a, y)
C3
5. f
1. V(j, x) V(a, x)
C1
2. V(j, e)
C2
3. V(a, e)
4. V(a, y) Res(y)
C3
5. Res(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).
Sin embargo, no se
% es un hecho
% es una regla
% es una consulta (objetivo)
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.
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)
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
% 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:
C8:
ancestro(X, Y) padre(X, Y)
C9:
ancestro(roberto, D)
Se obtiene la siguiente deduccin
ancestro(roberto, D)
C8
C9
{D|Y, X|roberto}
{X|roberto, D|X}
padre(roberto, Y)
C2 {Y|mateo}
C2 {Z|mateo}
ancestro(mateo, Y)
{X|mateo, Y|Y1}
{X|mateo, Y|Y1}
C8
padre(mateo, Y1)
C5
C9
{Y1|jorge}
C5 {Z2|jorge}
{X|jorge, Y|Y1}
ancestro(jorge, Y1)
C8
C9
{X|jorge, Y|Y1}
X
Hay dos soluciones.
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:
El trmino
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
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
Suma(x, y z): x + y = z
BIBLIOGRAFA.
1.
BADESA
Ramn.
Calixto,
JAN
Ignacio,
JANSANA
Barcelona 1998.
2.
3.
CAICEDO Xavier.
Elementos de Lgica y
4.
TREMBLAY Jean
Prentice Hall.
Madrid 1996.
5.
TREMBLAY
Jean
Paul,
MANOHAR
Ram.
6.