Pauta - Pontificia Universidad Católica de Chile

Anuncio
Pontificia Universidad Católica de Chile
Escuela de Ingenierı́a
Departamento de Ciencia de la Computación
Solución Tarea 2
IIC2212 - Lógica para ciencia de la computación
Primer Semestre, 2004
1.
a)
Supongamos que Σ ∪ {ϕ} y Σ ∪ {¬ϕ} no son FS.
Entonces, existen Σ1 ⊆ Σ y Σ2 ⊆ Σ finitos, tales que:
σ 2 Σ1 ∪ {ϕ} para todo σ
σ 2 Σ1 ∪ {¬ϕ} para todo σ.
Como Σ es FS, sabemos que existe σ1 tal que σ1 Σ1 y σ1 Σ2 .
Luego, σ1 2 ϕ y σ1 2 ¬ϕ. (⇒⇐).
b) No. Basta con tomar Σ = {a , b, ¬a ∨ ¬b} y vemos que todos los subconjuntos de Σ
con número par de elementos son satisfactibles, pero Σ no lo es.
2.
3.
a)
Sean:
σ1 una valuación cualquiera.
C1 el conjunto que contiene a toda fórmula ϕ ∈ C tal que σ1 (ϕ)=1.
C2 el conjunto que contiene a toda fórmula ϕ ∈ C tal que σ1 (ϕ)=0.
Vemos que C1 ∪ C2 = C y C1 ∩ C2 = φ, por lo que solo falta demostrar que C1 y C2 son
no vacı́os. Tenemos tres casos posibles:
C2 = φ. No puede suceder, ya que en este caso C serı́a satisfactible.
C1 = φ. No puede suceder, ya que como C solo contiene cláusulas y ∈
/ C, la valuación
¬σ1 satisfacerı́a a C.
C1 6= φ y C2 6= φ. Por descarte esta se cumple.
Entonces, C1 y C2 son no vacı́as.
b)
Como para cualquier σ, σ C1 y σ 2 C2 , no existe ningún σ1 tal que σ1 C1 ∪ C2 , luego
C1 ∪ C2 es insatisfactible y C también. Sin embargo, dado que el antecedente también
indica que ∈ C, sabemos que en general, esto no es verdadero porque perfectamente
podrı́a pertenecer a C.
Un posible algoritmo es el siguiente:
a)
Aplicar resolución a {ϕ} ∪ {¬ψ}.
b) Si se llega a ir a j.
c)
Generar γ.
d)
Aplicar resolución a {γ} ∪ {¬ϕ}.
e) Si no se llega a ir a c.
f)
Aplicar resolución a {γ} ∪ {¬ψ}.
g)
Si se llega a ir a c.
h)
i)
j)
Agregar γ a la lista de fórmulas encontradas.
Ir a c.
Salir.
Este algoritmo es completo, siempre y cuando la función generadora de γ esté bien construida
y no deje de lado algunos tipos de fórmula. Una buena opción para evadir este problema es
hacer que la función genere γ aleatoriamente.
4.
a)
La respuesta es no. Se debe demostrar por lo tanto que no existe un caso en el que
es posible resolver más de un literal. Demostrando por contradicción, suponemos que
existen dos cláusulas que poseen dos o más literales que pueden ser resueltos en forma
múltiple. Podrı́amos resumir el siguiente caso:
l1 ∨ l2 ∨ ... ∨ ln ∨ c1
l1 ∨ l2 ∨ ... ∨ ln ∨ c2
c1 ∨ c2
C1 (cláusula 1)
C2 (cláusula 2)
Suponemos esto cierto para n ≥ 2.
Como la resolución es completa, podemos deducir que
{C1 , C2 } {¬(c1 ∨ c2 )}
{¬(c1 ∨ c2 )}
luego ∀σ/σ {C1 , C2 } ⇒ σ {¬c1 ∧ ¬c2 }
Sin embargo, podemos considerar la siguiente valuación:
σ(l1 ) = 0, σ(l2 ) = σ(l3 ) = ... = σ(ln ) = 1σ(c1 ) = σ(c2 ) = 1
Con esto C1 y C2 se hacen verdaderas, pero también σ 2 {¬c1 ∨ ¬c2 } teniendo entonces
una ⇒⇐
b) Para demostrar que, dado Σ ∪ {C} `r ψ y Σ ∪ {¬C} `r ψ entonces Σ `r ψ, con C
una cláusula cualquiera, y sin usar que la resolución es completa o correcta, debemos
demostrar entonces que existe un árbol de refutación por resolución para Σ ∪ {¬ψ}
Para demostrar tenemos dos casos:
i. Si C o ¬C no se usaron en las demostraciones correspondientes (al menos en una
de las dos: Σ ∪ {C} `r ψ o Σ ∪ {¬C} `r ψ no se usó), entonces trivialmente podemos
suponer que existe un árbol de refutación donde no participa C o ¬C y por lo tanto
Σ `r ψ
ii. Si en cambio, en ambas demostraciones se usó la cláusula C y ¬C, correspondientemente, podemos generalizar y decir que la cláusula C y su negado (¬C) son del
tipo:
{ l1 ∨ l2 ∨ ... ∨ ln } = C
{l1 ∧ l2 ∧ ... ∧ ln } = C
Si ambas demostraciones usaron C o ¬C, esto quiere decir que C o ¬C fue usado en su totalidad para poder realizar la resolución. Esto se ve de forma sencilla en
el caso de Σ ∪ {C} `r ψ, ya que si resolvimos para eliminar por ej., un l1 , necesitaremos luego resolver con todo el resto de los li de la cláusula, por lo que también
2
podemos suponer que en el caso Σ ∪ {¬C} `r ψ pasa en forma equivalente, ya que
si no fuera ası́, la demostración dirı́a que Σ ∪ {lj } `r ψ en vez de Σ ∪ {¬C} `r ψ con
un j arbitrario en el caso de un literal que necesitara solamente, o con el conjunto de
literales que necesitara en el caso que fueran más de uno y menos que el total de ¬C
(acá la conclusión se basa en la estructura de ¬C, compuesta por literales “sueltos”).
Luego sabemos que en ambos casos se usan todos los literales. En particular, en
Σ ∪ {¬C} `r ψ tendremos un árbol de refutación tal en que participará cada uno
de los li de ¬C. Si a éste árbol podemos eliminarle los pasos de resolución con los
literales de ¬C, entonces el árbol de resolución de Σ ∪ {¬C} `r ψ siendo modificado
a que no use ¬C, obtiene por resultado l1 ∨ l2 ∨ ... ∨ ln . Luego por método de resolución demostramos que Σ ∪ {¬ψ} `r {l1 ∨ l2 ∨ ... ∨ ln }.
Por otro lado decir que Σ∪{C} `r ψ es lo mismo que decir que Σ∪{l1 ∨l2 ∨...∨ln } `r
ψ. Entonces simplemente colgando el árbol de resolución de Σ ∪ {C} `r ψ a el árbol
obtenido en Σ ∪ {¬ψ} `r {l1 ∨ l2 ∨ ... ∨ ln } (considerando en ésta el árbol que llega
hasta la cláusula {l1 ∨l2 ∨...∨ln } que ya vimos anteriormente) podemos concluir que
Σ `r ψ, ya que lo que obtendremos finalmente es que Σ ∪ {¬ψ} `r (recordemos
que Σ ∪ {C} `r ψ es lo mismo que decir que Σ ∪ {C} ∪ {¬ψ} `r ).
5.
Para este ejercicio consideremos la siguiente representación en lógica proposicional:
v1 : “El sujeto A dice la verdad”
v2 : “El sujeto B dice la verdad”
v3 : “El sujeto D dice la verdad”
v4 : “El sujeto C dice la verdad”
a : “El fallecido gritó antes de morir”
b
: “El fallecido estaba alterado”
c
: “Fue un horrible asesinato”
La representación es la siguiente:
Respecto a lo que declara A: v1
Respecto a lo que declara B: v2
Respecto a lo que declara D: v3
Respecto a lo que declara C: v4
↔ ((a ∨ b) → c)
↔ (a ∧ v2 )
↔ (¬v4 ∧ ¬b)
↔ ¬c
Uno de ellos miente:
(v1 ∧ v2 ∧ v3 ∧ ¬v4 ) ∨ (v1 ∧ v2 ∧ ¬v3 ∧ v4 ) ∨ (v1 ∧ ¬v2 ∧ v3 ∧ v4 ) ∨ (¬v1 ∧ v2 ∧ v3 ∧ v4 )
Entonces tenemos que nuestra base de conocimientos Σ consiste en lo siguiente:
{v1 ↔ ((a∨b), v2 ↔ (a∧v2 ), v3 ↔ (¬v4 ∧¬b), v4 ↔ ¬c, (v1 ∧v2 ∧v3 ∧¬v4 ) ∨ (v1 ∧v2 ∧¬v3 ∧v4 )
∨ (v1 ∧ ¬v2 ∧ v3 ∧ v4 ) ∨ (¬v1 ∧ v2 ∧ v3 ∧ v4 )}
Transformando el conjunto a F.N.C., nos queda Σ como lo siguiente:
{ ¬v1 ∨ ¬a ∨ c, ¬v1 ∨ ¬b ∨ c, v1 ∨ a ∨ b, v1 ∨ ¬c, ¬v2 ∨ a, ¬v3 ∨ ¬v4 , ¬v3 ∨ ¬b, v3 ∨ v4 ∨ b,
3
¬v4 ∨ ¬c, v4 ∨ c, v1 ∨ v2 , v1 ∨ v3 , v1 ∨ v4 , v2 ∨ v3 , v2 ∨ v4 , v3 ∨ v4 , ¬v4 , ∨¬v3 ∨ ¬v1 ∨ ¬v2 }
Sospechamos que el que miente es el sujeto C. Por resolución, debemos demostrar que Σ `r ¬v4
que es lo mismo que encontrar un árbol de refutación por resolución para Σ ∪ {v4 }.
La resolución es la siguiente (enumeramos las cláusulas de la F.N.C que forman Σ ∪ {v4 }
para partir y de ellas vamos aplicando resolución):
1
¬v1 ∨ ¬a ∨ c
2
¬v1 ∨ ¬b ∨ c
3
v1 ∨ a ∨ b
4
v1 ∨ ¬c
5
¬v2 ∨ a
6
¬v3 ∨ ¬v4
7
¬v3 ∨ ¬b
8
v3 ∨ v4 ∨ b
9
¬v4 ∨ ¬c
10 v4 ∨ c
11 v1 ∨ v2
12 v1 ∨ v3
13 v1 ∨ v4
14 v2 ∨ v3
15 v2 ∨ v4
16 v3 ∨ v4
17 ¬v4 , ∨¬v3 ∨ ¬v1 ∨ ¬v2
18 ¬v4
Proof:
19
20
21
22
23
24
25
20
¬c
¬v3
¬v1 ∨ ¬a
v2
v1
a
¬a
(se
(se
(se
(se
(se
(se
(se
(se
genera
genera
genera
genera
genera
genera
genera
genera
entre
entre
entre
entre
entre
entre
entre
entre
9 y 18)
6 y 18)
1 y 19)
14 y 20)
12 y 20)
5 y 22)
21 y 23)
24 y 25)
Q.E.D.
6.
a)
En esta pregunta de la tarea lo que se pide es demostrar lo mismo que se demostró en
la pregunta anterior, antes con resolución, pero ahora usando cálculo de secuentes.
Podemos abusar de las transformaciones usadas para realizar la resolución y partir desde
Σ en F.N.C. para demostrar que Σ `s {¬v4 }.
Entonces tenemos lo siguiente:
4
Un conjunto de fórmulas ∆ que contiene, en forma enumerada, las siguientes fórmulas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
¬v1 ∨ ¬a ∨ c
¬v1 ∨ ¬b ∨ c
v1 ∨ a ∨ b
v1 ∨ ¬c
¬v2 ∨ a
¬v3 ∨ ¬v4
¬v3 ∨ ¬b
v3 ∨ v4 ∨ b
¬v4 ∨ ¬c
v4 ∨ c
v1 ∨ v2
v1 ∨ v3
v1 ∨ v4
v2 ∨ v3
v2 ∨ v4
v3 ∨ v4
¬v4 , ∨¬v3 ∨ ¬v1 ∨ ¬v2
Lo que deseamos demostrar es que ∆ `s {¬v4 }. Para ello partimos con:
{∆}
{∆, v4 }
{∆ - {6}, ¬v3 ∨ ¬v4 , v4 }
⇒s
⇒s
⇒s
{¬v4 }
{}
{}
De aqui obtenemos 2 raı́ces: 1 y 2 por aplicación de reglas de disyunción
1
{∆-{6}, ¬v4 , v4 }
{∆-{6}, v4 }
{v4 }
⇒s
⇒s
⇒s
{}
{v4 }
{v4 }
2
{∆-{6}, ¬v3 , v4 }
{∆-{6}, v4 }
{∆-{6, 9}, ¬v4 ∨ ¬c, v4 }
⇒s
⇒s
⇒s
{}
{v3 }
{v3 }
De aqui obtenemos 2 raı́ces: 3 y 4
3
{∆-{6, 9}, ¬v4 , v4 }
{∆-{6, 9}, v4 }
{v4 }
⇒s
⇒s
⇒s
{v3 }
{ v3 , v4 }
{v4 }
4
{∆-{6, 9}, ¬c, v4 }
{∆-{6, 9}, v4 }
{∆-{6, 9, 10}, v4 ∨ c, v4 }
⇒s
⇒s
⇒s
{v3 }
{ v3 , c}
{ v3 , c}
5
De aqui obtenemos 2 raı́ces: 5 y 6
5
{∆-{6, 9, 10}, c, v4 }
{c}
⇒s
⇒s
{ v3 , c}
{c}
6
{∆-{6, 9, 10}, v4 }
{∆-{6, 9, 10, 12}, v1 ∨ v3 , v4 }
⇒s
⇒s
{ v3 , c}
{ v3 , c}
De aqui obtenemos 2 raı́ces: 7 y 8
7
{∆-{6, 9, 10, 12}, v3 , v4 }
{v3 }
⇒s
⇒s
{ v3 , c}
{v3 }
8
{∆-{6, 9, 10, 12}, v1 , v4 }
{∆-{6, 9, 10, 12, 14}, v2 ∨ v3 , v1 , v4 }
⇒s
⇒s
{ v3 , c}
{ v3 , c}
De aqui obtenemos 2 raı́ces: 9 y 10
9
10
{∆-{6, 9, 10, 12, 14}, v3 , v1 , v4 }
{v3 }
⇒s
⇒s
{ v3 , c}
{v3 }
{∆-{6, 9, 10, 12, 14}, v1 , v2 , v4 }
{∆-{6, 9, 10, 12, 14, 16}, v3 ∨ v4 , v1 , v2 , v4 }
⇒s
⇒s
{ v3 , c}
{ v3 , c}
De aqui obtenemos 2 raı́ces: 11 y 12
11
{∆-{6, 9, 10, 12, 14, 16}, v3 , v1 , v2 , v4 }
{v3 }
⇒s
⇒s
{ v3 , c}
{v3 }
12
{∆-{6, 9, 10, 12, 14, 16}, v1 , v2 , v4 }
{∆-{1, 6, 9, 10, 12, 14, 16}, ¬v1 ∨ ¬a ∨ c, v1 , v2 , v4 }
⇒s
⇒s
{ v3 , c}
{ v3 , c}
Acá tenemos un caso especial. Podemos obtener 3 raı́ces: 13, 14 y 15, debido a que usar
la regla de Disyunción para 2 instancias de ∨ en la fórmula que se le aplica, equivale a
separar la raı́z en 3 ramas e instancias diferentes, ya que de todas maneras será éste el
número de raı́ces totales que se obtendrán de aplicar la regla de Disyunción dos veces
seguidas.
6
13
{∆-{1, 6, 9, 10, 12, 14, 16}, ¬v1 , v1 , v2 , v4 }
{∆-{1, 6, 9, 10, 12, 14, 16}, v1 , v2 , v4 }
{v1 }
⇒s
⇒s
⇒s
{ v3 , c}
{ v1 , v3 , c}
{v1 }
14
{∆-{1, 6, 9, 10, 12, 14, 16}, c, v1 , v2 , v4 }
{c}
⇒s
⇒s
{ v3 , c}
{c}
15
{∆-{1, 6, 9, 10, 12, 14, 16}, ¬a, v1 , v2 , v4 }
{∆-{1, 6, 9, 10, 12, 14, 16}, v1 , v2 , v4 }
{∆-{1, 5, 6, 9, 10, 12, 14, 16}, ¬v2 ∨ a, v1 , v2 , v4 }
⇒s
⇒s
⇒s
{ v3 , c}
{ v3 , a, c}
{ v3 , a, c}
Podemos obtener 2 raı́ces: 16 y 17 :
16
{∆-{1, 5, 6, 9, 10, 12, 14, 16}, ¬v2 , v1 , v2 , v4 }
{∆-{1, 5, 6, 9, 10, 12, 14, 16}, v1 , v2 , v4 }
{v2 }
⇒s
⇒s
⇒s
{ v3 , a, c}
{ v2 , v3 , a, c}
{v2 }
17
{∆-{1, 5, 6, 9, 10, 12, 14, 16}, a, v1 , v2 , v4 }
{a}
⇒s
⇒s
{ v3 , a, c}
{a}
Con esta última tautologı́a terminamos de demostrar, al lograr un árbol inverso que
tiene en todas sus hojas tautologı́as del tipo X ⇒s X. La demostración se hizo usando
el mecanismo de inversión de reglas del cálculo de secuentes
b)
Demostrar las siguientes afirmaciones sin tener en cuenta que el cálculo de secuentes es
un sistema de demostración correcto y completo.
i. Σ ∪ {ϕ} `s ψ si y sólo si Σ `s (ϕ → ψ)
La implicación ⇒ es trivial, puesto que si tenemos:
Σ ∪ {ϕ} `s
ψ
Σ, ϕ
⇒s ψ
entonces por regla de implicación
Σ ⇒s (ϕ → ψ)
Para demostrar la implicación ⇐, podemos considerar que la fórmula ϕ → ψ equivale lógicamente a ¬ϕ ∨ ψ. Por lo que nos queda es:
Σ
⇒s ¬ϕ∨ ψ
Σ, ϕ ⇒s ψ
Que es lo mismo que: Σ ∪ {ϕ} `s ψ
7
ii. Si Σ ∪ {ϕ} `s ψ y Σ ∪ {¬ϕ} `s ψ entonces Σ `s ψ
Por una parte, si yo tengo Σ ∪ {ϕ} `s ψ y Σ ∪ {¬ϕ} `s ψ, entonces puedo obtener usando la regla de Disyunción: Σ ∪ {ϕ ∨ ¬ϕ} `s ψ.
Si miramos la definición de un secuente, en la estructura que posee, sabremos que
la parte de la izquierda de un secuente está compuesta por la intersección de las
diversas fórmulas que forman el conjunto de ese lado. En nuestro caso tenemos:
Σ ∪ {ϕ ∨ ¬ϕ} `s ψ
Σ, {ϕ ∨ ¬ϕ} ⇒s ψ
La coma representa la intersección en el conjunto de fórmulas del lado izquierdo del
secuente, y {ϕ ∨ ¬ϕ} es una fórmula que es siempre verdadera. En realidad lo que
tendremos acá es sólo Σ, puesto que Σ intersección una fórmula siempre verdadera,
dependerá exclusivamente de Σ para sus valuaciones y valor de verdad.
Por este sencillo argumento podemos concluir que si Σ ∪ {ϕ} `s ψ y Σ ∪ {¬ϕ} `s ψ
entonces Σ `s ψ
iii. {φ ∧ ¬φ} `s ϕ para todo ϕ.
La demostración es trivial puesto que si parto de:
{φ} ⇒s {φ}
luego:
{φ, ¬φ} ⇒s {}
Por expansión
{φ, ¬φ}
⇒s ϕ
{φ ∧ ¬φ} ⇒s ϕ
Q.E.D.
iv. Si Σ ∪ {φ ∨ ψ, φ} `s χ entonces Σ ∪ {φ} `s χ.
Σ ∪ {φ ∨ ψ, φ} `s χ es posible de expresar de una manera lógicamente equivalente de la siguiente forma:
Σ ∪ {φ ∨ ψ, φ}
`s
χ
Σ ∪ {φ ∨ ψ, φ}
⇒s χ
Σ ∪ {φ} ∪ {φ ∨ ψ} ⇒s χ
Nos fijamos que Σ ∪ {φ} ∪ {φ ∨ ψ} ⇒s χ podrı́a ser resuelto entonces en otras
dos demostraciones diferentes (se usa el inverso de la regla, pero no pensando en la
regla, sino en el significado lógico de ∨ en el conjunto de fórmulas {φ ∨ ψ}):
Σ ∪ {φ} ∪ {ψ} ⇒s χ
Σ ∪ {φ} ∪ {φ} ⇒s χ
Esta última en particular se puede resumir por lógica convencional como: Σ∪{φ} ⇒s
χ
Luego Σ ∪ {φ} `s χ.
8
Descargar