Está en la página 1de 8

Facultad de Ciencias Exactas, Ingenierı́a y Agrimensura

Escuela de Ciencias Exactas y Naturales


Departamento de Ciencias de la Computación
Lógica

Práctica 1: Semántica de la Lógica Proposicional


Soluciones

2. Enunciar el principio de inducción sobre Prop.

Solución:

Sea A una propiedad. Supongamos que se tiene que:


si φ ∈ AT entonces A(φ) vale
si A(φ) y A(ψ) valen entonces A(φψ) vale, con  ∈ {∧, ∨, →}
si A(φ) vale entonces A(¬φ) vale
Entonces A(φ) vale para toda φ ∈ Prop.

3. En clase de práctica veremos la definición de árbol sintáctico para una fórmula.

a) Determine los árboles sintácticos correspondientes a las fórmulas del ejercicio 1.

b) Determine las proposiciones correspondientes a los siguientes árboles:

i. ¬ ii. → iii. ¬

¬ →
→ ∧
¬ ¬ ¬
p0 ⊥ ↔ p5
⊥ p0 p1 p1 p1

Solución:

Definición: El árbol sintáctico de una proposición φ se define como:

T (φ) = φ , si φ ∈ AT

T (φψ) =  , con  ∈ {∧, ∨, →}

T (φ) T (ψ)

T (¬φ) = ¬

T (φ)

Práctica 1 2020 Página 1/8


Semántica de la Lógica Proposicional
Lógica Soluciones

a) a) ¬

p1 p2

b) ∨

p1 →

¬ p3

p2

c) →

→ p4

→ p3

p1 p2

d) ∨

→ ¬

¬ ∨ p2

p1 p3 ∧

p5 p4

e) →

∧ ∧

p1 → ¬ p6

→ p4 p2

p3 p5

f) ∧

∨ →

p1 → → p4

¬ p3 p3 p5

p2

b) i. ¬(¬(¬⊥))

Práctica 1 2020 Página 2/8


Semántica de la Lógica Proposicional
Lógica Soluciones

ii. (p0 → ⊥) → ((p0 ↔ p1 ) ∧ p5 )


iii. ¬(¬p1 → ¬p1 )

7. (Lema de coincidencia) Sea φ una fórmula y v, v 0 dos valuaciones. Demuestre que si para
toda variable proposicional pi que ocurre en φ se cumple v(pi ) = v 0 (pi ), entonces [[φ]]v = [[φ]]v0 .

Solución:

Por inducción en Prop.


def [[]]v def [[]]v0
Caso φ = ⊥: [[φ]]v = F = [[φ]]v0
def [[]]v hip. def [[]]v0
Caso φ = pi : [[φ]]v = v(pi ) = v 0 (pi ) = [[φ]]v0
def [[]]v HI def [[]]v0
Caso φ = φ1 ∧ φ2 : [[φ]]v = mı́n([[φ1 ]]v , [[φ2 ]]v ) = mı́n([[φ1 ]]v0 , [[φ2 ]]v0 ) = [[φ]]v0
def [[]]v HI def [[]]v0
Caso φ = φ1 ∨ φ2 : [[φ]]v = máx([[φ1 ]]v , [[φ2 ]]v ) = máx([[φ1 ]]v0 , [[φ2 ]]v0 ) = [[φ]]v0
Caso φ = φ1 → φ2 :
• Si [[φ]]v = T entonces por def. [[]]v resulta que [[φ1 ]]v ≤ [[φ2 ]]v . Como [[φ1 ]]v = [[φ1 ]]v0 y
[[φ2 ]]v = [[φ2 ]]v0 por H.I., luego [[φ1 ]]v0 ≤ [[φ2 ]]v0 . Por lo tanto, por def. [[]]v0 , [[φ]]v0 = T .
• Si [[φ]]v = F entonces por def. [[]]v resulta que [[φ1 ]]v > [[φ2 ]]v . Como [[φ1 ]]v = [[φ1 ]]v0 y
[[φ2 ]]v = [[φ2 ]]v0 por H.I., luego [[φ1 ]]v0 > [[φ2 ]]v0 . Por lo tanto, por def. [[]]v0 , [[φ]]v0 = F .
En ambos casos [[φ]]v = [[φ]]v0 .

Caso φ = ¬φ1 :
• Si [[φ]]v = T entonces por def. [[]]v resulta que [[φ1 ]]v = F . Como [[φ1 ]]v = [[φ1 ]]v0 por
H.I., luego [[φ1 ]]v0 = F . Por lo tanto, por def. [[]]v0 , [[φ]]v0 = T .
• Si [[φ]]v = F entonces por def. [[]]v resulta que [[φ1 ]]v = T . Como [[φ1 ]]v = [[φ1 ]]v0 por
H.I., luego [[φ1 ]]v0 = T . Por lo tanto, por def. [[]]v0 , [[φ]]v0 = F .

En ambos casos [[φ]]v = [[φ]]v0 .

10. Muestre que:


c) si |= p → q entonces p |= q

g) (p → q) → r |= p → (q → r)

Solución:

Práctica 1 2020 Página 3/8


Semántica de la Lógica Proposicional
Lógica Soluciones

c) Supongamos que |= p → q. Sea v una valuación tal que [[p]]v = T . Debemos probar que
[[q]]v = T . Dado que [[p → q]]v = T (pues lo es en toda valuación, en particular en v), tenemos que
T = [[p]]v ≤ [[q]]v , luego [[q]]v = T .

g) Sea v una valuación tal que [[(p → q) → r]]v = T . Debemos probar que [[p → (q → r)]]v = T .
Observemos que
def [[]]v
[[(p → q) → r]]v = T ⇒ [[p → q]]v ≤ [[r]]v
Existen 3 posibilidades:
1) [[p → q]]v = F, [[r]]v = F 2) [[p → q]]v = F, [[r]]v = T 3) [[p → q]]v = T, [[r]]v = T

Casos 1) y 2) [[p → q]]v = F :

def [[]]v
[[p → q]]v = F ⇒
def [[]]v
[[p]]v = T y [[q]]v = F ⇒
def [[]]v
[[p]]v = T y [[q → r]]v = T ⇒
[[p → (q → r)]]v = T

Caso 3) [[p → q]]v = T, [[r]]v = T :


Aquı́ tenemos nuevamente 3 casos posibles según la def. [[]]v :
def [[]]v def [[]]v
i. [[p]]v = T , [[q]]v = T y [[r]]v = T ⇒ [[p]]v = T y [[q → r]]v = T ⇒
[[p → (q → r)]]v = T
def [[]]v def [[]]v
ii. [[p]]v = F , [[q]]v = T y [[r]]v = T ⇒ [[p]]v = F y [[q → r]]v = T ⇒
[[p → (q → r)]]v = T
def [[]]v def [[]]v
iii. [[p]]v = F , [[q]]v = F y [[r]]v = T ⇒ [[p]]v = F y [[q → r]]v = T ⇒
[[p → (q → r)]]v = T

Por lo tanto, queda demostrado que [[(p → q) → r]]v = T ⇒ [[p → (q → r)]]v = T para cualquier
valuación v

13. El operador binario NOR (↓) tiene la siguiente tabla de verdad:

p q p↓q
F F T
F T F
T F F
T T F

a) Extender la definición de semántica para incluir al operador ↓


b) Demostrar:
¬(p ↓ q), p ↓ p |= q

Solución:

Práctica 1 2020 Página 4/8


Semántica de la Lógica Proposicional
Lógica Soluciones

a) [[p ↓ q]]v = [[¬p ∧ ¬q]]v


b) Sea v una valuación tal que [[¬(p ↓ q)]]v = T y [[p ↓ p]]v = T . Debemos probar que [[q]]v = T .
Podemos primero considerar [[p ↓ p]]v = T :
def [[]]v def [[]]v def min
[[p ↓ p]]v = T ⇒ [[¬p ∧ ¬p]]v = T ⇒ mı́n([[¬p]]v , [[¬p]]v ) = T ⇒ [[¬p]]v = T (1)
Luego, considerar [[¬(p ↓ q)]]v = T :
def [[]]v def [[]]v def [[]]v
[[¬(p ↓ q)]]v = T ⇒ [[p ↓ q]]v = F ⇒ [[¬p ∧ ¬q]]v = F ⇒
mı́n([[¬p]]v , [[¬q]]v ) = F (2)
Finalmente, juntando (1) y (2):
def min
[[¬p]]v = T y mı́n([[¬p]]v , [[¬q]]v ) = F ⇒ mı́n(T, [[¬q]]v ) = F ⇒ [[¬q]]v = F
def [[]]v
⇒ [[q]]v = T

16.
a) Demuestre que {∨, ¬} es un conjunto completo de conectivos.
b) Defina un operador binario ⊕ de modo que {⊕} sea un conjunto completo de conectivos, y
demuéstrelo.

Solución:

a) Sea A = {∨, ¬}. Observemos que los conectivos {¬, ∨, ∧, →} se pueden escribir en términos de
los de A del siguiente modo:

¬p = ¬p
p∨q =p∨q
p ∧ q = ¬(¬p ∨ ¬q)
p → q = ¬p ∨ q

Ahora usamos dichas expresiones para definir recursivamente una transformación T : Prop →
Prop tal que T (φ) sólo contenga conectivos de A:

T (⊥) = ¬(p1 ∨ ¬p1 )


T (φ) = φ si φ ∈ AT
T (φ ∨ ψ) = T (φ) ∨ T (ψ)
T (φ ∧ ψ) = ¬(¬T (φ) ∨ ¬T (ψ))
T (φ → ψ) = ¬T (φ) ∨ T (ψ)
T (¬φ) = ¬T (φ)

Con T ası́ definida, demostremos por inducción en Prop que para cada fórmula φ existe ψ que
utiliza únicamente conectivos de A:

a. Casos base:

Práctica 1 2020 Página 5/8


Semántica de la Lógica Proposicional
Lógica Soluciones

Si φ ≡ ⊥ entonces T (φ) = ¬(p1 ∨ ¬p1 ) utiliza sólo conectivos de A.


Si φ ≡ pi entonces T (φ) = pi utiliza sólo conectivos de A.
b. Casos inductivos:
Supongamos que para φ1 , φ2 sus transformaciones ψ1 = T (φ1 ) , ψ2 = T (φ2 ) utilizan sólo
conectivos de A,
Si φ ≡ ¬φ1 entonces T (¬φ1 ) = ¬T (φ1 ) = ¬ψ1 . Como ¬ ∈ A y ψ1 utiliza sólo
conectivos de A, entonces ¬ψ1 = T (φ) también.
Si φ ≡ φ1 ∨φ2 entonces T (φ1 ∨ φ2 ) = T (φ1 ) ∨ T (φ2 ) = ψ1 ∨ ψ2 . Como ∨ ∈ A y ψ1 , ψ2
utilizan sólo conectivos de A entonces ψ1 ∨ ψ2 = T (φ) también.
Si φ ≡ φ1 ∧ φ2 entonces T (φ1 ∧ φ2 ) = ¬ (¬T (φ1 ) ∨ ¬T (φ2 )) = ¬ (¬ψ1 ∨ ¬ψ2 ). Como
∨, ¬ ∈ A y ψ1 , ψ2 utilizan sólo conectivos de A entonces ¬ (¬ψ1 ∨ ¬ψ2 ) = T (φ)
también.
Si φ ≡ φ1 → φ2 entonces T (φ1 → φ2 ) = ¬T (φ1 ) ∨ T (φ2 ) = ¬ψ1 ∨ ψ2 . Como ∨, ¬ ∈ A
y ψ1 , ψ2 utilizan sólo conectivos de A entonces ¬ψ1 ∨ ψ2 = T (φ) también.

Demostremos ahora que para cada φ ∈ Prop resulta  φ ↔ T (φ).

a. Casos base: Sea φ ∈ Prop tal que ψ = T (φ),


Si φ = ⊥ entonces JψKv = JT (φ)Kv = J¬(p1 ∨ ¬p1 )Kv = F y como JφKv = JψKv = F
resulta Jφ ↔ ψKv = T por lo que  φ ↔ ψ.
Si φ = pi entonces JψKv = JT (φ)Kv = Jpi Kv = JφKv y como JφKv = JψKv resulta
Jφ ↔ ψKv = T por lo que  φ ↔ ψ.
b. Casos inductivos:
Supongamos que para φ1 , φ2 | ψ1 = T (φ1 ) , ψ2 = T (φ2 ) resultan  φ1 ↔ ψ1 y  φ2 ↔ ψ2 ,
JφKv = T ⇐⇒ J¬φ1 Kv = T ⇐⇒ Jφ1 Kv = F ⇐⇒
Si φ = ¬φ1 entonces
Jψ1 Kv = F ⇐⇒ J¬ψ1 Kv = T ⇐⇒ JT (φ)Kv = T
JφKv = Jφ1 ∨ φ2 Kv = max {Jφ1 Kv , Jφ2 Kv } =
Si φ = φ1 ∨ φ2 entonces
max {Jψ1 Kv , Jψ2 Kv } = Jψ1 ∨ ψ2 Kv = JT (φ)Kv
JφKv = Jφ1 ∧ φ2 Kv = T ⇐⇒ min {Jφ1 Kv , Jφ2 Kv } = T
⇐⇒ min {Jψ1 Kv , Jψ2 Kv } = T ⇐⇒ Jψ1 Kv = Jψ2 Kv = T
Si φ = φ1 ∧ φ2 entonces J¬ψ1 Kv = J¬ψ2 Kv = F ⇐⇒ max {J¬ψ1 Kv , J¬ψ2 Kv } = F
⇐⇒ J(¬ψ1 ∨ ¬ψ2 )Kv = F ⇐⇒
⇐⇒ T = J¬ (¬ψ1 ∨ ¬ψ2 )Kv = JT (φ)Kv
JφKv = Jφ1 → φ2 Kv = F ⇐⇒
Jφ1 Kv = T y Jφ2 Kv = F ⇐⇒ Jψ1 Kv = T y Jψ2 Kv = F
Si φ = φ1 → φ2 entonces ⇐⇒ J¬ψ1 Kv = F y Jψ2 Kv = F ⇐⇒
⇐⇒ max {J¬ψ1 Kv , Jψ2 Kv } = F ⇐⇒
⇐⇒ J¬ψ1 ∨ ψ2 Kv = JT (φ)Kv = F

b) NAND: p ↑ q = ¬(p ∧ q) = ¬p ∨ ¬q

Práctica 1 2020 Página 6/8


Semántica de la Lógica Proposicional
Lógica Soluciones

Observemos que:

¬p = p ↑ p
p ∧ q = ¬(p ↑ q) = (p ↑ q) ↑ (p ↑ q)
p ∨ q = (p ↑ p) ↑ (q ↑ q)
p → q = ¬p ∨ q = (p ↑ p) ∨ q = ((p ↑ p) ↑ (p ↑ p)) ↑ (q ↑ q)
¬(p ∨ ¬p) = (p ∨ ¬p) ↑ (p ∨ ¬p)
= ((p ↑ p) ↑ ((p ↑ p) ↑ (p ↑ p))) ↑ ((p ↑ p) ↑ ((p ↑ p) ↑ (p ↑ p)))

Definimos entonces recursivamente T : Prop → Prop del siguiente modo:

T (⊥) = ((p1 ↑ p1 ) ↑ ((p1 ↑ p1 ) ↑ (p1 ↑ p1 ))) ↑ ((p1 ↑ p1 ) ↑ ((p1 ↑ p1 ) ↑ (p1 ↑ p1 )))


T (φ) = φ si φ ∈ AT
T (¬φ) = T (φ) ↑ T (φ)
T (φ ∧ ψ) = (T (φ) ↑ T (ψ)) ↑ (T (φ) ↑ T (ψ))
T (φ ∨ ψ) = (T (φ) ↑ T (φ)) ↑ (T (ψ) ↑ T (ψ))
T (φ → ψ) = ((T (φ) ↑ T (φ)) ↑ (T (φ) ↑ T (φ))) ↑ (T (ψ) ↑ T (ψ))

Con T ası́ definida, falta demostrar por inducción en Prop que {↑} constituye un conjunto
completo de conectivos.

NOR: p ↓ q = ¬(p ∨ q) = ¬p ∧ ¬q
Observemos que:

¬p = p ↓ p
p ∨ q = ¬(p ↓ q) = (p ↓ q) ↓ (p ↓ q)
p ∧ q = (p ↓ p) ↓ (q ↓ q)
p → q = ¬p ∨ q = (p ↓ p) ∨ q = ((p ↓ p) ↓ q) ↓ ((p ↓ p) ↓ q)
¬(p ∨ ¬p) = (p ∨ ¬p) ↓ (p ∨ ¬p)
= (p ↓ (p ↓ p)) ↓ (p ↓ (p ↓ p)) ↓ (p ↓ (p ↓ p)) ↓ (p ↓ (p ↓ p))

Definimos entonces recursivamente T : Prop → Prop del siguiente modo:

T (⊥) = (p1 ↓ (p1 ↓ p1 )) ↓ (p1 ↓ (p1 ↓ p1 )) ↓ (p1 ↓ (p1 ↓ p1 )) ↓ (p1 ↓ (p1 ↓ p1 ))


T (φ) = φ si φ ∈ AT
T (¬φ) = T (φ) ↓ T (φ)
T (φ ∨ ψ) = (T (φ) ↓ T (ψ)) ↓ (T (φ) ↓ T (ψ))
T (φ ∧ ψ) = (T (φ) ↓ T (φ)) ↓ (T (ψ) ↓ T (ψ))
T (φ → ψ) = ((T (φ) ↓ T (φ)) ↓ T (ψ)) ↓ ((T (φ) ↓ T (φ)) ↓ T (ψ))

Con T ası́ definida, falta demostrar por inducción en Prop que {↓} constituye un conjunto
completo de conectivos.

Práctica 1 2020 Página 7/8


Semántica de la Lógica Proposicional
Lógica Soluciones

17. Demuestre que si C ⊆ {¬, ∧, ∨, →, ⊥} es un conjunto completo de conectivos, entonces


¬ ∈ C o ⊥ ∈ C.

Solución:

Sea C ⊆ {¬, ∧, ∨, →, ⊥} un conjunto completo de conectivos.


Vamos a demostrar por el absurdo.
Supongamos que C no contiene a ¬ ni a ⊥. Es decir, C ⊆ {∧, ∨, →}. Tenemos entonces que toda
fórmula φ puede escribirse utilizando sólo los conectivos de C.
En particular, debemos poder expresar a la fórmula ⊥ utilizando solamente los conectivos de C.
Sea v una valuación en la que a cada pi atómica se le asigna T.
Entonces tendremos [[⊥]]v = F. Sin embargo, los conectivos {∧, ∨, →} preservan el valor de verdad
T (demostrar esta afirmación por inducción). Llegamos ası́ a un absurdo.
Como conclusión, podemos afirmar que un conjunto C que no contenga a ¬ ni a ⊥ no puede ser
un conjunto completo de conectivos.

Práctica 1 2020 Página 8/8

También podría gustarte