fundamentos de lógica 2
DESCRIPTION
introducción a la lógica matematica, contiene excerpts del libro de Grimaldi Discrete and Combinatorial MathematicsTRANSCRIPT
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 1
Tecnologıas de la Informacion UAM-CLogica Computacional
Dr. Carlos Rodrıguez Lucatero
Slide 2
Sistemas de deduccion
El primer sistema que vamos a considerar en este capıtulo no esaplicable al conjunto de todas las formulas del calculoproposicional, mas bien solamente a las clausulas. Este presenta laventaja de ser simple, ya que solamante lleva consigo una solaregla de deduccion y constituye la base de un metodo deconstitucion automatica. Este metodo sera posteriormentegeneralizado para logica de primer orden, bajo el nombre demetodo de resolucion, y nos proveera el fundamento de laprogramacion logica. El segundo sistema, llamado deduccionnatural, se aplica al conjunto de formulas de la logica clasica. Unarestriccion de este sistema a la logica intuicionista (ver capıtulode sistemas de tipajes)
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 3
Un sistema de deduccion para las clausulas
La regla de corte es un procedimiento que, dadas dos clausulas,permite deducir una nueva. Una prueba esta compuesta por unasucesion finita de aplicaciones de esta regla.
0.1 Regla de corte
Definicion 1 Sea C1 = (Γ1, ∆1), y C2 = (Γ2, ∆2) dos clausulas. Siexiste una variable proposicional p que aparece positivamente en C1
y negativamente C2, se dice que podemos deducir una nuevaclausula C a partir de C1, C2 por corte sobre p : C = (Γ, ∆) y estadefinida por
Γ = Γ1 ∪ (Γ2 − {p}) y ∆ = (∆1 − {p}) ∪∆2
Ejemplo. A partir de C1 = (p ∨ q ∨ r) y C2 = (p ∨ q ∨ ¬r) se
Slide 4deduce C = (p ∨ q)
Una aplicacion de esta regla la denotaremos como:
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 5 C1 C2
C
Slide 6
Una prueba por corte es una secuencia finita de clausulasobtenidas por la aplicacion sucesiva de esta regla a un conjunto declausulas.
Definicion 2 Sea S un conjunto de clausulas y C una clausula.Una prueba de C por corte a partir de S es una secuencia finita declausulas C1, C2, . . . , Ck donde Ck = C y para toda i = 1, 2, . . . , k,
• Sea Ci una clausula de S,
• Sea que existe 1 ≤ j, l < i tales que Ci se deduce de Cj , Cl porcorte.
Denotamos S ` C para expresar que existe una prueba de C porcorte a partir de S
Una refutacion por corte de S es una prueba de la clausulavacıa a partir de S
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 7Ejemplo.
Existe una prueba de r a partir de S = {(¬p ∨ q ∨ r), (¬p ∨ ¬q), p} :
C1 = (¬p ∨ q ∨ r), C2 = (¬p ∨ ¬q), C3 = (¬p ∨ r), C4 = p, C5 = r
entonces existe una refutacion de S ∪ {¬r}
Slide 8
0.2 El metodo de refutacion por corte
Lema 1 Si la clausula C es deducida de las clausulas C1, C2 porcorte, entonces C es consecuencia de {C1, C2}Demostracion :
Suponemos que la clausula C es deducida de las clausulas C1 = (Γ1, ∆1)
y C2 = (Γ2, ∆2) por corte sobre la variable proposicional p. Se demuestra
que si V es una valuacion que no satisface C, entonces V no satisface a
C1 o no satisface a C2. Si V no satisface C, es porque : para toda
q ∈ Γ1 ∪ (Γ2 − {p}),V(q) = 1 y para toda r ∈ (∆1 − {p}) ∪∆2,V(q) = 0
Dos situaciones se hacen entonces posibles para la valuacion V:
• Ya sea que V(p) = 1 en cuyo caso V(C2) = 0
• Ya sea que V(p) = 0 en cuyo caso V(C1) = 0
Entonces la clausula C es consecuencia de S
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 9
Lema 2 Si existe una prueba de la clausula C por corte a partir deun conjunto S, entonces C es consecuencia de S.
Demostracion : Sea C1, C2, . . . , Ck una prueba de C a partir de S.
Se demuestra por induccion sobre la longitud k de la prueba que, para
toda i = 1, 2 . . . , k, Ci es consecuencia de S:
• si Ci ∈ S, es verdadero
• si existe 1 ≤ j, l < k tales que Ci se deduzca de Cj , Cl por corte y si
Cj , Cl son consecuencia de S (hipotesis de induccion), segun el lema
anterior, C es consecuencia de Cj , Cl y por lo tanto de S.
La ultima formula de la prueba, C, es claramente una consecuencia de S.
Se ve claramente que si C no es satisfacible, tampoco lo es S.
�
Slide 10Corolario 1 Si S ` C y si la clausula C no es satisfacible,entonces el conjunto S no es satisfacible. En particular, si existeuna refutacion de S, entonces S no es satisfacible.
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 11
Este resultado permite justificar el uso del metodo de refutacionpor corte para determinar si una formula F es consecuencia de unconjunto finito de formulas Σ:
1. Asociamos a Σ un conjunto S de clausulas obtenidasconsiderando que para cada formula G de Σ, las clausulasaparecen en forma normal conjuntiva.
2. Asociamos a la formula ¬F un conjunto S′ de clausulasobtenidas de la misma manera.
3. Construimos el conjunto (finito) de todas las clausulas dondeexista una prueba por corte a partir de S ∪ S′ Si la clausulavacıa pertenece a este conjunto, S ∪ S′ no es satisfacible, lo quesignifica que Σ ∪ {¬F} tampoco lo es y que la formula F esconsecuencia de Σ En el caso contrario S ∪ S′ es satisfacible ypor lo tanto tambien Σ ∪ {¬F} lo es y la formula F no esconsecuencia de Σ.
Slide 12
Ejemplo.
¿ La formula (¬q ∨ t) es consecuencia logica del conjunto de formulas
Σ = {p→ (¬q ∨ (r ∧ s))),¬(p→ s)} ?
S = {(¬p ∨ ¬q ∨ r), (¬p ∨ ¬q ∨ s), p,¬s}, S′ = {q,¬t}
A partir de S ∪ S′, podemos construir la siguiente refutacion:
C1 = (¬p ∨ ¬q ∨ s), C2 = p, C3 = (¬q ∨ s), C4 = ¬s, C5 = ¬q, C6 =
q, C7 = clausula vacıa.
El colorario anterior expresa el hecho de que el metodo derefutacion por corte es correcto con respecto a la nocion desatisfaccion. Nos queda por demostrar que este metodo es tambiencompleto, es decir que para todo conjunto (finito) de clausulas S nosatisfacible, existe una refutacion de S.
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 13
0.3 El metodo de refutacion por corte es
completo
La demostracion de esta propiedad se vale de un procedimientoeficaz de transformacion de conjuntos de clausulas que preserva elhecho de ser satisfacible. En el caso de que el conjunto de clausulasde partida no sea satisfacible, la iteracion de esta transformacionnos da por resultado un conjunto que contiene la clausula vacıa.
Lema 3 Si S es un conjunto de clausulas no satisfacible, que nocontiene la clausula vacıa, entonces existe una variableproposicional p y dos clausulas C1, C2 en S tales que p aparecepositivamente en C1 y negativamente en C2
Demostracion :
Sea S un conjunto de clausulas que no contiene la clausula vacıa.
Suponemos que cada variable proposicional p que aparece en una de las
clausulas de S se encuentra en una de las dos situaciones siguientes:
Slide 14
• p aparece positivamente en toda clausula de S
• p aparece negativamente en toda clausula de S
El conjunto S es entonces satisfacible: basta con considerar la valuacion
definida tomando, para cada variable proposicional p,V(p) = 1
(respectivamente 0) si p aparece positivamente (respectivamente
negativamente) en las clausulas de S.
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 15
La transformacion que nos proponemos efectuar sobre S consiste enescoger una variable que nos permita hacer cortes y realizar todaslas cortaduras posibles sobre esta variable a partir de clausulas deS.
Definicion 3 Sea S un conjunto de clausulas y p una variableproposicional que aparece positivamente en una clausula de S ynegativamente en otra. El subconjunto de clausulas de S quecontiene p denotado por Sp. El conjunto resolvente de Sp es elsubconjunto res(Sp) de todas las clausulas obtenidas por corte sobrela variable p a partir de dos clausulas de Sp.
Slide 16 Corolario 2 Si S es un conjunto de clausulas no satisfacibles,entonces existe una variable proposicional p tal que res(Sp) 6= ∅
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 17
Lema 4 Sea S una variable proposicional que verifica la condicionde la definicion anterior. Entonces el conjunto S es satisfacible si ysolamente si (S − Sp) ∪ res(Sp) es satisfacible tambien.
Demostracion :
Si existe una valuacion que satisface S, entonces la misma valuacion
satisface por igual a (S − Sp) ∪ res(Sp) : en efecto, toda formula de
res(Sp) es obtenida por corte a partir de las formulas de S y entonces es
consecuencia de S. Si existe una valuacion V que satisface
(S − Sp) ∪ res(Sp), basta con mostrar que puede ser prolongada a la
variable p de forma que se satisfagan las clausulas de Sp. Esta valuacion
V satisface todas las clausulas de la forma (C1 ∨ C2) obtenidas por corte
a partir de dos clausulas (C1 ∨ p) y (¬p ∨ C2) (segun el orden de las
variables) de Sp. Dos casos son posibles:
• Si existe una clausula de la forma (C1 ∨ p) en Sp, tal que V(C1) = 0
entonces para toda clausula de la forma (¬p ∨ C2) en Sp, V(C2) = 1
ya que V(C1 ∨ C2) = 1 ; tomando V(p) = 1, la valuacion V satisface
todas las clausulas de la forma (C1 ∨ p), asi como todas las de la
Slide 18
forma (¬p ∨ C2)
• Si para toda clausula de la forma (C1 ∨ p) en Sp, V(C1) = 1,
tomando V(p) = 0 la valuacion V satisface igualmente todas las
clausulas de la forma (¬p ∨ C2) en Sp.
En cada uno de los casos, la valuacion V prolongada de esta forma
satisface todas las clausulas de Sp
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 19
En lo que resta, denotaremos por V ar(S) al conjunto de variablesque aparezcan en S
Corolario 3 Si S es un conjunto finito de clausulas nosatisfacibles, entonces la secuencia obtenida iterando a partir de S
la transformacion anterior es finita y la clausula vacıa pertenece aalguno de los conjuntos de la secuencia.
Demostracion :
Siendo el conjunto S no satisfacible, existe una variable p1 en S que nos
permite aplicar la transformacion anterior. La secuencia de conjuntos Si
se define por recurrencia:
S0 = S, S1 = (S − Sp1) ∪ res(Sp1)
Si se supone que Si es no satisfacible, Si+1 se define de la misma manera:
Si+1 = (S − Spi) ∪ res(Spi), donde pi es una variable que nos permite
aplicar la transformacion anterior. Segun el lema anterior, el nuevo
conjunto de clausulas es igualmente no satisfacible y la secuencia esta
bien definida. Como el numero de variables que aparecen en S es finito y
Slide 20V ar(Si+1) = V ar(Si)− {pi}, esta secuencia es finita y uno de los
conjuntos Si contiene la clausula vacıa.
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 21
Corolario 4 Todo conjunto finito de clausulas no satisfacible poseeuna refutacion por corte
Demostracion :
Utilizando la secuencia de transformaciones anterior, la clausula vacıa es
obtenida por un numero finito de aplicaciones de la regla de corte sobre
clausulas de S.
�
El hecho de que el metodo de refutacion por corte sea completo esla misma propiedad que aquella que se menciona en este corolario,para todo conjunto de clausulas, incluso infinito. Esta propiedad esuna consecuencia del teorema de compacidad, que se demostrara enla ultima seccion de este capıtulo. Si se quiere utilizar este metodoen la practica, antes es necesario definir estrategias de prueba (orefutacion) por corte.
Slide 22
0.4 Estrategias de prueba por corte
La primera forma de aplicar este metodo consiste en engendrartodas las clausulas que se pueden obtener en una prueba por cortea partir de un conjunto finito de clausulas S. Una estrategia,correspondiente a este proceso conocido como de saturacion,construye la secuencia de conjuntos Si definida por recurrencia:S0 = S y Si = {C deducida por corte deC1, C2 : C1 ∈ S0 ∪ S1 ∪ . . . ∪ Si−1} y C2 ∈ Si− 1. El proceso setermina:
• Ya sea cuando la clausula vacıa es obtenida en la etapa i y elconjunto S no es satisfacible
• Ya sea cuando la etapa i no permite nuevas clausulas conrespecto a la etapa anterior i− 1 y el conjunto es entoncessatisfacible.
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 23
Esta estrategia es muy ineficiente ya que enumera todas lasclausulas que aparecen en la prueba a partir de S. Una mejoraposible consiste en no engendrar las clausulas inutiles oredundantes.
Definicion 4 • Se dice que una clausula es una tautologıa siuna misma variable aparece a la vez positivamente ynegativamente en la misma clausula.
• Una clausula C = (Γ, ∆) absorbe una clausula C ′ = (Γ′, ∆′) siΓ ⊆ Γ′ y ∆ ⊆ ∆′
• Una estrategia de aplicacion del metodo de refutacion por cortese dice completa si para todo conjunto finito S de clausulas nosatisfacible, existe una refutacion siguiendo esta estrategia.
Slide 24
Proposicion 1 La nueva estrategia de saturacion, consistente enno engendrar a cada etapa i
• las clausulas tautologicas,
• las clausulas C que son absorbidas por una clausula C ′
engendrada en alguna etapa anterior,
es completa.
La demostracion es dejada al lector como ejercicio. Otra estrategiade aplicacion del metodo de refutacion por corte consiste encontruir la secuencia de sımbolos Si en el parrafo anterior:
• si en cada etapa i, es posible encontrar una variableproposicional pi apareciendo positivamente en una clausula deSi y negativamente en otra clausula de Si, la secuencia deconjuntos Si se termina en una etapa donde la clausula vacıaaparece y el conjunto de S no es satisfacible;
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 25
• si existe una etapa i donde ya no es posible hallar una talvariable proposicional, es que el conjunto Si es satisfacible y elconjunto S de clausulas tambien lo es.
La restriccion del metodo a una clase particular de clausulas, que esel mas usado en la practica, da lugar a un algoritmo mas eficiente.
Slide 26
Definicion 5 Se dice que una clausula es una clausula de Horn sitiene a lo mas una variable proposicional positiva.
Sea S un conjunto de clausulas y P el conjunto de clausulaspositivas de S. Se ve facilmente que si P es vacıo, entonces S essatisfacible (ejercicio).El siguiente algoritmo nos permitedeterminar si un conjunto de clausulas de Horn es satisfacible:
D := 0
mientras P 6= ∅ ∧D = 0 hacer;
• Sea C1 una clausula en P ;
• mientras exista una clausula C2 en S − P permitiendo
hacer un corte con C1:
– retirar C2 de S − P ;
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 27
– Sea C un resolvente de C1, C2;
– Si C es la clausula vacıa entonces D := 1sino si C es positiva entonces agregar C a P
sino agregar C a S − P ;
• retirar C1 de P ;
Si D = 0 entonces S es satisfacible sino S no es satisfacible
El lector podra como ejercicio verificar que si el numero declausulas de S es n, el numero de etapas de calculo esta mayoradopor un polinomio de grado 2 en funcion de n.
Slide 28
0.5 Pruebas y refutaciones lineales
Ciertas restricciones en la manera de aplicar la regla de cortecorresponden a formas particulares de pruebas, particularmenteagradables en su manipulacion. Las pruebas lineales son unejemplo, utilizado en el marco de la programacion logica. Laspruebas, por corte o en un sistema de reglas mas general, puedenser representadas por arboles de la siguiente manera.
Definicion 6 Sea C1, C2, . . . , Cn una prueba de C por corte apartir de S. El arbol de prueba asociado es un arbol binariocuyos nodos estan etiquetados por clausulas de tal suerte que:
• la raiz esta etiquetada por la clausula C
• las hojas, o nodos terminales, estan etiquetadas por lasclausulas de S
• todo nodo no terminal esta etiquetado por una clausula Ci,
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 29 deducida de dos clausulas Cj , Ck(j, k < i) que son las etiquetasde los dos predecesores del nodo correspondiente a Ci.
Slide 30
Definicion 7 Una prueba de C por corte a partir de S es lineal sia cada etapa de corte, una de las dos clausulas utilizadas es ya seauna clausula de S, o una clausula ancestro de la otra en el arbol deprueba.
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 31
Ejemplo.
1. La siguiente refutacion de S no es lineal:
S = {(p ∨ q), (¬p ∨ q), (p ∨ ¬q), (¬p ∨ ¬q)}
(p ∨q) (¬p ∨ q)
q
(p ∨¬q) (¬p ∨ ¬q)
¬q
q ¬q
�
2. La siguiente refutacion de S es lineal:
Slide 32
(p ∨q) (¬p ∨ q)
q
q (¬q ∨ p)
p
p ¬p ∨ ¬q
¬q
¬q q
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 33
La proposicion siguiente tiene como consecuencia que nos podamosrestringir a la busqueda de refutaciones lineales.
Proposicion 2 Para toda prueba de una clausula C por corte apartir de clausulas S, existe una prueba lineal de C a partir de S.
Demostracion :
La idea es de considerar, en el arbol de prueba de C, los nodos que
constituyen fuentes de no linealidad para el arbol y reemplazarlos por
dos subarboles de prueba tales que el arbol resultante sea un arbol de
prueba lineal. Los nodos que presentan dichos defectos pueden ser de dos
tipos (las clausulas que etiquetan los nodos en cuestion son considerados
en el orden de las variables proposicionales: las unicas variables
distinguidas son aquellas
sobre las cuales se efectuan los cortes). La primera categorıa es de la forma:
Slide 34
(C1 ∨ ¬p ∨ q) (C2 ∨ ¬q)
(C1 ∨ C2 ∨ ¬p)
(C3 ∨ p) (C1 ∨ C2 ∨ ¬p)
(C1 ∨ C2 ∨ C3)
Es posible de sustituir este subarbol por el siguiente:
(C3 ∨ p) (C1 ∨ ¬p ∨ q)
(C1 ∨ C3 ∨ q)
(C1 ∨ C3 ∨ q) (C2 ∨ ¬q)
(C1 ∨ C2 ∨ C3)
La segunda categorıa de nodos defectuosos es de la forma siguiente:
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 35
(C1 ∨ ¬p ∨ q) (C2 ∨ ¬p ∨ ¬q)
(C1 ∨ C2 ∨ ¬p)
(C3 ∨ p) (C1 ∨ C2 ∨ ¬p)
(C1 ∨ C2 ∨ C3)
Este subarbol puede ser reemplazado por el siguiente:
(C3 ∨ p) (C1 ∨ ¬p ∨ q)
(C1 ∨ C3 ∨ q)
(C1 ∨ C3 ∨ q) (C2 ∨ ¬p ∨ ¬q)
(C1 ∨ C2 ∨ C3 ∨ ¬p)
Slide 36
(C1 ∨ C2 ∨ C3 ∨ ¬p) (C3 ∨ p)
(C1 ∨ C2 ∨ C3)
Aplicando esta transformacion de manera recursiva a los subarboles, el
arbol que se obtiene al final sera asociado a una prueba lineal.
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 37
Deduccion natural
Historicamente, los primeros sistemas de deduccion para la logicaclasica estaban basados sobre los esquemas de axiomas y sobre lasreglas de deduccion. G.Gentzen tuvo la idea de remplazarlas porun sistema que contenıa solamente una forma de deduccion natural:en una demostracion matematica, la deduccion se efectua a partirde hipotesis admitidas a lo largo del razonamiento, mas bien que apartir de hipotesis generales, fijadas una vez y por todas. En lo quesigue Γ y ∆ denotan conjuntos finitos de formulas y Γ, ∆ sureunion: si ∆ se reduce a una sola formula A, lo denotamos comoΓ, A. Las formulas del calculo proposicional consideradasanteriormete son construıdas con la ayuda de los conectores ∧,∨,→y ⊥, que es un conector de aridad 0 representando el falso oabsurdo.
Definicion 8 La expresion Γ ` A expresa que la formula A puede
Slide 38
ser deducida con ayuda de las formulas de Γ aplicando un numerofinito de veces las siguientes reglas:
• axioma
Γ, A ` A
• introduccion de →Γ, A ` B
Γ ` A→ B
• eliminacion del →Γ ` A ∆ ` A→ B
Γ, ∆ ` B
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 39
• introduccion de ∧Γ ` A ∆ ` B
Γ, ∆ ` A ∧B
• eliminacion de ∧1
Γ ` A ∧B
Γ ` A
• eliminacion de ∧2
Γ ` A ∧B
Γ ` B
Slide 40
• introduccion de ∨1
Γ ` A
Γ ` A ∨B
• introduccion de ∨2
Γ ` B
Γ ` A ∨B
• eliminacion de ∨Γ ` A ∨B ∆, A ` C ∆′, B ` C
Γ, ∆′ ` C
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 41
• eliminacion de ⊥Γ `⊥
Γ ` A
En el caso en que Γ este vacıo, se denota como ` A.
Slide 42
Estas diez reglas constituyen un sistema de deduccion para lalogica intuicionista. La negacion de una formula puede serintroducida como una abreviacion de la formula A→⊥. La logicaclasica estudia los procesos de razonamiento matematico: algunosson no constructivos como el principio del tercero excluıdo o elrazonamiento por reduccion al absurdo.
La logica intuicionista es un marco de formalizacion delrazonamiento que no autoriza mas que procedimientosconstructivos: es decir que no toma en cuenta un objeto mas que sieste ha sido obtenido por medio de un construccion efectiva. Es loque explica que sea la que este en la base del estudio de losproblemas de deduccion en computacion, como por ejemplo eltipaje en los lenguajes funcionales o los procesos de inferencia en laprogramacion logica. El sistema de reglas para la logica clasicahace uso de una regla adicional a la del conjunto de reglas para lalogica intuisionista. Esta regla corresponde al uso clasico de la
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 43
doble negacion:
Γ ` ¬¬A
Γ ` A
Slide 44
Los ejemplos siguientes de prueba estan construidos en el sistemaintuisionista.
Ejemplo.
1. ` A→ (B → A) :
A ` A
A ` (B → A)
` A→ (B → A)
2. ` (A→ B)→ ((B → C)→ (B → C)) :
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 45
(A → B) ` (A→ B) A ` A
(A → B), A ` B (B → C) ` (B → C)
(A → B), (B → C), A ` C
(A → B), (B → C) ` (B → C)
(A → B) ` ((B → C)→ (B → C))
` (A→ B)→ ((B → C)→ (B → C))
3. En particular : ` (A→ B)→ (¬B → ¬A)
4. ` A→ ¬¬A :
A ` A (A →⊥) ` (A→⊥)
A ,(A →⊥) `⊥
A ` ((A→⊥)→⊥)
` A→ ¬¬A
Slide 46
Las propiedades de los conectores con respecto a la deduccionquedan como ejercicio.
• ` ¬(A ∧B) si y solamente si ` (¬A ∨ ¬B)
• ` ¬(A ∨B) si y solamente si ` (¬A ∧ ¬B)
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 47
Teorema de compacidad
Esta ultima seccion se refiere a un resultado importante de la logicacuya demostracion puede ser omitida en una primera lectura. Elteorema de compacidad, o de finitud, expresa que la propiedad,para un conjunto de formulas, de ser satisfacible es de caracterfinito. Este resultado se aplica a continuacion a los conjuntos declausulas.
Definicion 9 • Un conjunto T de formulas se dice finitamentesatisfacible si todo subconjunto finito de T es satisfacible.
• Un conjunto de formulas T finitamente satisfacible es maximalsi T es finitamente satisfacible y si, para toda formula F , yasea que F ∈ T o sea que ¬F ∈ T
Slide 48
Proposicion 3 Existe una biyeccion entre las valuaciones y losconjuntos de formulas finitamente satisfacibles maximales.
Demostracion :
A cada valuacion V, asociamos ΣV = {F : V(F ) = 1}. Este conjunto de
formulas es finitamente satisfacible maximal. Reciprocamente, a todo
conjunto de formulas Σ, finitamente satisfacible maximal, se le hace
corresponder la valuacion V definida de la siguiente manera:para toda
variable proposicional p,V(p) = 1 ssi p ∈ Σ. Mostramos por induccion
sobre las formulas, que: Σ = ΣV . En efecto, las propiedades siguientes se
deducen facilmente del hecho de que Σ es finitamente satisfacible
maximal:
• F ∈ Σ si y solamente si ¬F /∈ Σ
• (F ∧G) ∈ Σ si y solamente si F ∈ Σ y G ∈ Σ
• (F ∨G) ∈ Σ si y solamente si F ∈ Σ o G ∈ Σ
• (F → G) ∈ Σ si y solamente si F /∈ Σ o G ∈ Σ
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 49
• (F ↔ G) ∈ Σ si y solamente si F ∈ Σ es equivalente a G ∈ Σ
Por ejemplo: (F ∨G) ∈ Σ implica F ∈ Σ o G ∈ Σ. Suponemos lo
contrario: (F ∨G) ∈ Σ pero ¬F ∈ Σ y ¬G ∈ Σ ; {(F ∨G),¬F,¬G} serıa
entonces un subconjunto finito de Σ no satisfacible. La definicion de Σ y
las anteriores propiedades permiten concluir que : para toda formula
F,V(F ) = 1 si y solamente si F ∈ Σ
�
Segun la ultima proposicion, el hecho para un conjunto finitamentesatisfacible T de ser satisfacible es equivalente a la existencia de unconjunto finitamente satisfacible maximal Σ que contiene a T .
Slide 50
Teorema 1 Un conjunto de formulas T es satisfacible si ysolamente si T es finitamente satisfacible
Demostracion :
Si T es satisfacible, esta claro que es finitamente satisfacible. Para
montrar lo recıproco, basta con que, dado un conjunto de formulas T ,
finitamente satisfacible, se construya un conjunto finitamente maximal Σ
que contenga a T . El conjunto P de variables propocicionales siendo
finito o enumerable, el conjunto F de formulas es enumerable: sea
F = {Fn : n ∈ N}. La secuencia creciente de conjuntos Tn se define, a
partir de T , por recurrencia sobre n: T0 = T, Tn+1 = Tn ∪ {Fn} si
Tn ∪ {Fn} es finitamente satisfacible, Tn+1 = Tn ∪ {¬Fn} si
no. El conjunto Σ buscado esta definido como la union de estos conjuntos:
Σ =⋃n
Tn
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 51
El conjunto Σ contiene evidentemente a T y es maximal: por
construccion, para toda formula F , ya sea que F ∈ Σ, o que ¬F ∈ Σ. La
secuencia de conjuntos Tn siendo creciente, el hecho de que Σ sea
finitamente satisfacible es resultado de que cada una de las Tn lo sea:
• Esta claro para T0 = T
• Suponiendo Tn finitamente satisfacible, si Tn+1 = Tn ∪ {Fn}, se
cumple que Tn+1 es finitamente satisfacible; sino Tn+1 = Tn ∪ {¬Fn}y existe un subconjunto T ′n de Tn tal que T ′n ∪ {Fn} no es
satisfacible, entonces existe igualmente un subconjunto finito T ′′n de
Tn tal que T ′′n ∪ {Fn} no es satisfacible; T ′n ∪ T ′′n es un subconjunto
finito de Tn y es por lo tanto satisfacible; toda valuacion que la
satisfaga debe de satisfacer ya sea a Fn, o a ¬Fn, lo que contradice
el hecho de que T ′n ∪ {Fn} y T ′′n ∪ {¬Fn} sean ambas no satisfacibles.
Esto muestra que cada una de las Tn es finitamente satisfacible y que su
reunion lo es tambien.
�
Slide 52
Corolario 5 Todo conjunto de clausulas no satisfacible posee unarefutacion por corte.
Demostracion :
Sea S un conjunto de clausulas no satisfacible. Segun el teorema de
compacidad, existe un subconjunto finito S0 de S, no satisfacible. Este
conjunto finito de clausulas posee una refutacion por corte y S, que lo
contiene, posee una igualmente.
�
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 53
Ejercicios
1. Suponemos que la regla de corte se aplica a las clausulas A, B sobre
la variable proposicional p y da la clausula C. Que podemos decir de
las clausulas A, B si p aparece en C ?
2. Suponemos que la regla de corte se aplica a las clausulas A, B por
un lado sobre la variable proposicional p dando la clausula C, y por
otro lado sobre la variable proposicional q (q 6= p) dando la clausula
C′ Que podemos decir de las clausulas C, C′ ?
3. En este ejercicio las clausulas seran denotadas bajo la forma Γ > ∆
donde Γ representa al conjunto de las variables negativas y ∆ el de
las variables positivas. Para cada uno de los siguientes sistemas,
determinar una refutacion o una valuacion que las satisfaga
(precisando las etapas intermedias)
Slide 54
S S′
ae > d > ej
d > df bj > h
ab > > a
bd > d bce >
cd > af hi >
e > b > i
be > ac j > h
> acd ce >
bdf > i > bh
> abc i > ch
4. Demostrar las propiedades de los siguientes conectores con respecto
Tecnologıas de la Informacion UAM-C Carlos Rodrıguez Lucatero
Slide 55
a la deduccion natural
(a) ` ¬(A ∧B) ssi ` (¬A ∨ ¬B)
(b) ` ¬(A ∨B) ssi ` (¬A ∧ ¬B)
5. Sea F la formula p1.p2.p3 + p1.p2.p3
(a) Demostrar que ` p1 ∨ p2 es consecuencia de F .
(b) Demostrar que ` p2p3 ∨ p2.p3 es consecuencia de F .
(c) La formula p1 ∧ p2 es consecuencia de F ?
Para las clausulas de Horn, se utiliza frecuentemente la siguiente
notacion ∧ es denotada por ”,” , ∨ por ”;”, y una clausula
(A1 ∧A2 ∧A3)→ A se escribe A : −A1, A2, A3
Sea S el conjunto de clausulas :
p : −q, r
s : −p, q
q
r
Slide 56
(a) Dar una prueba por corte de p, s a partir de S
(b) Sea S′ el conjunto S al cual se le agrego una clausula:
p : −q, r
s : −q, s, t
s : −p, q
q
r
(c) Existe una prueba por corte de p, s a partir de S′ ?
(d) Existe una prueba por corte lineal de p, s a partir de S′ ?
(e) Existe una prueba por corte lineal de p, t a partir de S′ ?
(f) La formula p ∧ ¬t es consecuencia de S′ ?