Está en la página 1de 19

Lógica Computacional 2016-2, nota de clase 12

Sistemas de Deducción Natural


Favio Ezequiel Miranda Perea Araceli Liliana Reyes Cabello
Lourdes Del Carmen González Huesca

19 de mayo de 2016
Facultad de Ciencias UNAM

1. Introducción
Los sistemas de deducción natural, introducidos por Gentzen en 1935, son formalismos de-
ductivos que modelan el razonamiento matemático ordinario de manera más fiel que un sistema
axiomático o que el método de tableaux. Un sistema de deducción natural consiste de reglas de
inferencia para introducir y eliminar cada uno de los conectivos lógicos. Las pruebas o derivacio-
nes se construyen mediante la aplicación de dichas reglas en una sucesión adecuada que relaciona
conclusiones con premisas de reglas posteriores. De igual forma que en el razonamiento ordinario se
pueden hacer hipótesis temporales durante la prueba, las cuales se pueden descargar al incorporarlas
a la conclusión. Mientras que los sistemas computacionales de razonamiento automatizado usual-
mente se basan en métodos refutacionales como los tableaux, los asistentes de prueba interactivos
útiles para razonar acerca de las propiedades de programas se basan frecuentemente en los sistemas
lógicos de deducción natural.
Por otra parte, en fundamentos de lenguajes de programación la deducción natural juega también
un papel importante por medio de la llamada correspondencia de Curry-Howard también conocida
como el paradigma de fórmulas como tipos, cuya idea a grandes rasgos es que las pruebas lógicas
contienen ciertas construcciones las cuales pueden interpretarse como programas, de modo que las
proposiciones lógicas se convierten en tipos de un lenguaje de programación. La última parte de
nuestro curso se dedicará en gran parte a mostrar tal correspondencia.

El adjetivo natural dado por Gentzen a estos sistemas deductivos se refiere al hecho de que
modelan de manera tan cercana como sea posible el razonamiento natural de un humano, o al
menos el razonamiento matemático hecho por personas mediante distintos juicios.

1.1. Significado de conectivos y cuantificadores


El significado de una fórmula lógica se entenderá si comprendemos cuando ésta es verdadera.
Analicemos a este respecto cada clase de fórmula de acuerdo a su conectivo o cuantificador principal:
Información básica: A es cierta, lo cual podemos denotar con: A true.
Conjunción: A ∧ B es cierta solo sı́ ambas A y B son ciertas. Lo cual nos lleva al juicio:
A true B true
A ∧ B true

1
Esta clase de regla se conoce como regla de introducción porque introduce un conectivo en la
conclusión en este caso ∧.

La siguiente cuestión es preguntarnos como usar la información A ∧ B true, a cuya respuesta


nos lleva de nuevo el razonamiento natural:
A ∧ B true A ∧ B true
A true B true

Implicación: ¿Cuando es verdadera una implicación ? El razonamiento matemático nos dice


que la implicación A → B es cierta si el suponer el antecedente A cierto nos permite probar
que el consecuente B es cierto. Esto nos lleva a la siguiente regla de introducción:

[A true]
..
.
B true
A → B true

Aquı́ los corchetes que encierran al juicio hipotético A true indican que en la conclusión tal
hipotésis fue descargada, es decir despues de introducir la implicación tal hipótesis ya no es
necesaria, es decir, se trataba de una hipótesis temporal.

La regla de eliminación de la implicación modela una forma de razonamiento conocida desde


Aristóteles y llamada “modus ponens”. De los juicios A → B true y A true podemos obtener
el juicio B true.
A → B true A true
B true
La disyunción nos lleva a las siguientes reglas de introducción
A true B true
A ∨ B true A ∨ B true
Lo cual captura el hecho de que una disyunción es cierta sólo si alguna de sus dos componentes
lo es.
Para obtener la regla de eliminación debemos considerar como utilizar correctamente el juicio
A∨B true dado que no sabemos con certeza cual de las dos componentes es cierta. Si tratamos
de probar C true a partir de A ∨ B true debemos llegar a tal juicio sin importar cual de A true
o B true es válido. Esto nos lleva a hacer una prueba por casos capturada en la siguiente regla:

[A true] [B true]
A ∨ B true .. ..
. .
C true C true
C true
Al igual que en la introducción de la implicación los corchetes indican que tal hipótesis es
temporal y ha sido descargada.

2
La falsedad ⊥ representa una contradicción y no deberı́a ser probable, por lo que no tiene
regla de introducción. Inversamente si llegamos en algún momento al juicio ⊥ true deberiamos
poder concluir cualquier cosa, lo cual genera la regla de eliminación:
⊥ true
A true

La verdad debe ser demostrable sin importar que hipótesis tenemos, de manera que su regla
de introducción es:
> true
Dado que no tenemos información de como introducir la verdad, tampoco podemos tener
información de como eliminarla, por lo que no hay regla de eliminación.

Cuantificación Universal: ¿Bajo que circunstancias debe la fórmula ∀xA ser verdadera?, la
respuesta depende claramente del dominio de cuantificación. Por ejemplo, si sabemos que
la variable x toma como valores números naturales, entonces podemos concluir que ∀xA es
verdadera si podemos probar que las fórmulas A[x := 0], A[x := 1], . . . , A[x := n], . . . son todas
verdaderas, lo cual nos lleva a la siguiente regla:

A[x := 0] true A[x := 1] true . . . A[x := n] true . . .


∀xA true

Tal regla no es efectiva dado que tendrı́amos un número infinito de premisas, usualmente se usa
la regla de inducción en su lugar. Sin embargo la elección de tal regla depende fuertemente de
un dominio de cuantificación particular mientras que lo que nos interesa es probar la verdad en
cualquier dominio posible. De manera que podremos decir que ∀xA es verdadera si sin asumir
nada acerca de x, podemos cercioranos de la verdad de A, es decir tenemos la siguiente regla
informal:
A true x parámetrica en A
∀xA true
Por otro lado si sabemos que la fórmula ∀xA es cierta entonces deberı́amos poder concluir la
verdad de A[x := t] para cualquier objeto t, lo cual nos lleva a la siguiente regla:

∀xA true
A[x := t] true

Cuantificación Existencial: Si sabemos que A[x := t] es cierta para algún objeto t entonces
podemos concluir que ∃xA es cierta, lo cual se modela mediante la regla:

A[x := t] true
∃xA true

Por otro lado cuando conocemos la verdad de ∃xA no sabemos cual es el objeto t cuya
existencia se asegura de manera que sólo podemos asumir A sin hacer ninguna suposición
acerca del valor representado por x, lo cual se puede hacer sin problemas dado que la x

3
estaba ligada en A. La regla de eliminación para el existencial es entonces similar al caso de
la disyunción:
[A true]
∃xA true .. x∈/ F V (B)
.
B true
B true
Se observa que no hemos hablado de la negación, conectivo de suma importancia que discuti-
remos más tarde. Como siempre la equivalencia se considera una abreviatura A ↔ B =def (A →
B) ∧ (B → A)

2. Sistemas de Deducción Natural con Contextos


En esta sección presentamos sistemas de deducción natural con contextos o hipótesis localizadas,
es decir, en cada paso de la deducción estarán disponibles todas las hipótesis. Esta presentación
podrı́a parecer más complicada que otras, sin embargo la disponibilidad de todo el conjunto de
hipótesis en cada momento es de gran utilidad como se verá al estudiar sistemas de tipos.

Definición 1 Un contexto es un conjunto finito de fórmulas {A1 , . . . , An } . Usualmente denota-


remos un contexto con Γ, ∆, Π. En lugar de Γ ∪ ∆ escribimos Γ, ∆. Analogamente Γ, A denota al
contexto Γ ∪ {A}.

En adelante hacemos la siguiente convención: siempre que un contexto sea de la forma Γ, A,


suponemos que la fórmula A no figura en Γ.
Si Γ = {A1 , . . . , An } entonces el conjunto de variables libres de Γ, denotado F V (Γ), se define
como la unión de los conjuntos de variables libres F V (Ai ).

2.1. Reglas de inferencia


La relación de derivabilidad o deducibilidad Γ ` A, leida “la fórmula A es derivable o deducible
en el contexto Γ”, se define recursivamente a partir de la regla de inicio

(Hip)
Γ, A ` A
dando reglas de introducción y eliminación para cada conectivo que queremos esté presente en el
sistema:

Implicación:
Γ, A ` B Γ`A→B Γ`A
(→ I) (→ E)
Γ`A→B Γ`B
Conjunción:
Γ`A Γ`B Γ`A∧B Γ`A∧B
(∧I) (∧E) (∧E)
Γ`A∧B Γ`B Γ`A

4
Disyunción
Γ`A Γ`B
(∨I) (∨I)
Γ`A∨B Γ`A∨B

Γ`A∨B Γ, A ` C Γ, B ` C
(∨E)
Γ`C
Cuantificador Universal:
Γ`A x∈ / F V (Γ) Γ ` ∀xA
(∀I) (∀E)
Γ ` ∀xA Γ ` A[x := t]

Cuantificador Existencial:
Γ ` A[x := t] Γ ` ∃xA Γ, A ` B x ∈
/ F V (Γ, B)
(∃I) (∃E)
Γ ` ∃xA Γ`B

Obsérvese que mediante estas reglas de inferencia no estamos derivando fórmulas sino expresiones
de la forma Γ ` A, conocidas como secuentes. En particular las reglas de inferencia son correctas
con respecto a la consecuencia lógica, es decir transforman secuentes válidos (respecto a |=) en
secuentes válidos como lo asegura la siguiente

Proposición 1 Sean Γ un contexto y A, B, C fórmulas. Se cumple lo siguiente

Si Γ, A |= B entonces Γ |= A → B.

Si Γ |= A y Γ |= A → B entonces Γ |= B.

Γ |= A ∧ B si y sólo si Γ |= A y Γ |= B.

Si Γ |= A entonces Γ |= A ∨ B.

Si Γ |= B entonces Γ |= A ∨ B.

Si Γ |= A ∨ B, Γ, A |= C y Γ, B |= C entonces Γ |= C.

Si Γ |= A y x ∈
/ F V (Γ) entonces Γ |= ∀xA.

Si Γ |= ∀xA entonces Γ |= A[x := t] siendo t cualquier término

Si Γ |= A[x := t] para algún término t entonces Γ |= ∃xA.

Si Γ |= ∃xA y Γ, A |= B donde x ∈
/ F V (Γ, B) entonces Γ |= B.

Demostración. Ejercicio a

Definición 2 Una derivación del secuente Γ ` A es una sucesión finita de secuentes Γ1 ` A1 , . . . , Γn `


An tal que:

Γi ` Ai es instancia de la regla (Hip) ó

5
Γi ` Ai es conclusión de alguna regla de inferencia tal que las premisas necesarias figuran
antes en la sucesión.

Γ ` A es el último elemento de la sucesión.

Definición 3 Si ` A es derivable, es decir si ∅ ` A es derivable (A es derivable sin hipótesis)


entonces decimos que A es un teorema.

Mostramos ahora algunas reglas estructurales que pueden ser de ayuda en la construcción de
derivaciones:

Proposición 2 Las siguientes reglas de inferencia son válidas:


Intercambio de premisas:
Γ, A, B ` C
Γ, B, A ` C
Monotonı́a o debilitamiento:
Γ`A
Γ, B ` A
Contracción:
Γ, A, A ` B
Γ, A ` B
Sustitución o Corte:
Γ, A ` B Γ ` A
Γ`B

3. La Negación
La negación es quizás el conectivo lógico más importante, recordemos por ejemplo que para
definir en lógica clásica todos los conectivos y cuantificadores, basta quedarnos con uno de los
conectivos binarios, un cuantificador y la negación, la cual es imprescindible.
Sin importar que otros conectivos estén presentes, un sistema de deducción natural puede cla-
sificarse, de acuerdo a qué clase de negación tenga, como minimal, intuicionista o clásico.

3.1. Lógica Minimal DNm


Se dice que la lógica es minimal si no hay reglas para la negación ¬ ni para lo falso ⊥. En un
sistema minimal la constante ⊥ está presente pero no tiene propiedades particulares. En la presencia
de ⊥ el sı́mbolo de negación se define como

¬A =def A → ⊥

En cuyo caso hablamos de la negación constructiva, cuyas reglas de inferencia son:

Γ, A ` ⊥ Γ ` A Γ ` ¬A
(¬I) (¬E)
Γ ` ¬A Γ`⊥
Obsérvese que, de acuerdo a la definición de ¬A, estas reglas no son más que casos particulares
de las reglas para la implicación (→ I) y (M P ) respectivamente.

6
3.2. Lógica Intuicionista DNi
La lógica intuicionista1 se obtiene al agregar a la lógica minimal la regla de eliminación de lo
falso (⊥E) conocida también como ex-falso-quodlibet.

Γ`⊥
(EF Q)
Γ`A
Se observa que cualquier fórmula derivada en la lógica minimal sigue siendo derivable en la lógica
intuicionista. Además se pueden derivar nuevas fórmulas, en particular la regla de eliminación de la
negación puede modificarse como sigue en la lógica intuicionista:

Γ ` A Γ ` ¬A
(¬E)
Γ`B
Más aún, el carácter constructivo de la negación restringe a la lógica de una manera importante,
en particular el sistema no permite probar la tautologı́a clásica

A ∨ ¬A

conocida como el principio del tercero excluido. Para convencernos de tal situación basta recor-
dar qué significa el hecho de que una disyunción sea demostrable. En el caso del tercero excluido
tendrı́amos que construir una prueba de A o bien una prueba de ¬A lo cual no es posible en general.
Este hecho implica igualmente que la fórmula ¬¬A → A NO es válida. Por otro lado es fácil dar una
derivación de A → ¬¬A desde la lógica minimal. Otras fórmulas NO válidas en la lógica intuicionista
son:

(¬A → ¬B) → (B → A).


(A → B) ∨ (B → A).
¬∀xA → ∃x¬A.
∀x(A ∨ B) → A ∨ ∀xB con x ∈
/ F V (A).
(B → ∃xA) ↔ ∃x(B → A) con x ∈
/ F V (B).
(∀xA → B) ↔ ∃x(A → B) con x ∈
/ F V (B).
∀x¬¬A → ¬¬∀xA.

Las demostraciones de la invalidez intuicionista de tales fórmulas utilizan técnicas de semánticas


de Heyting ó forzamiento mediante marcos que no pertenecen a nuestro curso.

Las lógicas minimal e intuicionista también se conocen como lógicas constructivas porque toda
fórmula se puede construir o derivar directamente, en particular se tienen las siguientes propiedades
no válidas en la lógica clásica:

Propiedad Disyuntiva: Si `i A ∨ B entonces `i A ó `i B.


Propiedad Existencial: Si `i ∃xA entonces existe un término t tal que `i A[x := t].
1
El nombre se debe a una corriente lógica para fundamentar las matemáticas desarrollada a principios del siglo
XX.

7
3.3. Lógica clásica DNc
Para recuperar a la lógica clásica tenemos que postular alguna de las siguientes reglas:

Tercero Excluido:
(T E)2
Γ ` A ∨ ¬A
Reducción al absurdo:

Γ, ¬A ` ⊥
(RAA)
Γ`A
Esta regla es muy utilizada en razonamientos matemáticos.

Eliminación de la doble negación3

Γ ` ¬¬A
(¬¬E)
Γ`A
Obsérvese que la regla (T E) permite probar ` A ∨ ¬A situación imposible de motivar en el
ámbito constructivo. Esta situación rompe con la simetrı́a de los conectivos dada por las reglas de
introducción y eliminación. En particular en la lógica clásica podemos deducir disyunciones por
medio de una regla distinta a la regla de introducción de la disyunción, a saber mediante el uso de
la regla del tercero excluido.

3.4. Otras reglas de la negación clásica


Las siguientes reglas son de utilidad en la lógica clásica. Se deja como ejercicio mostrar que son
derivables a partir de las reglas de negación dadas.

Modus Tollens:
Γ ` A → B Γ ` ¬B
Γ ` ¬A
Silogismo disyuntivo:
Γ ` A ∨ B Γ ` ¬A
Γ`B
2
También conocida como (T N D) por su nombre en latı́n Tertium non datur.
3
La regla dual para introducción de la doble negación:
A
(¬¬I)
¬¬A
es válida desde la lógica minimal.

8
4. Ejemplos de derivaciones
En lo que sigue denotamos con `m , `i , `c a las relaciones de derivación en los sistemas minimal,
intuicionista y clásico, respectivamente. De las definiciones es claro que el sistema intuicionista es
una extensión conservativa del minimal y el clásico del intuicionista. Es decir, Γ `m A implica
Γ `i A implica Γ `c A. Sin embargo ninguna de las afirmaciones recı́procas es válida en general. En
los ejemplos siguientes debe entenderse que el sistema correspondiente es estrictamente necesario,
es decir, para las derivaciones en `i ( respectivamente `c ) no existe una derivación en `m ( respecti-
vamente `i ), aunque para mostrar formalmente estas afirmaciones se necesitan técnicas semánticas
que van más allá del alcance de nuestro curso.

Mostrar que: `m (p ∧ q → r) → p → q → r

1 p∧q →r , p, q `p Hip
2 p∧q →r , p, q `q Hip
3 p∧q →r , p, q `p∧q (∧I 1, 2)
4 p∧q →r , p, q `p∧q →r Hip
5 p∧q →r , p, q `r (→ E 3, 4)
6 p∧q →r , p`q →r (→ I 5)
7 p∧q →r `p→q →r (→ I 6)
8 ` (p ∧ q → r) → p → q → r (→ I 7)

Sea Γ = {p → q ∨ r , q → r , r → s}, queremos mostrar Γ `m p → s

1 Γ, p ` p (Hip)
2 Γ, p ` p → q ∨ r (Hip)
3 Γ, p ` q ∨ r (→ E) 1, 2
4 Γ, p, q ` q (Hip)
5 Γ, p, q ` q → r (Hip)
6 Γ, p, q ` r (→ E) 4, 5
7 Γ, p, r ` r (Hip)
8 Γ, p ` r (∨E) 3, 6, 7
9 Γ, p ` r → s (Hip)
10 Γ, p ` s (→ E) 8, 9
11 Γ ` p→s (→ I) 10

`m A → ¬¬A. Basta mostrar que A, A → ⊥ ` ⊥.

1. A, A → ⊥ ` A (Hip)
2. A, A → ⊥ ` A → ⊥ (Hip)
3. A, A → ⊥ ` ⊥ (→ E) 1, 2

9
`m ¬¬(A ∨ ¬A). Basta derivar A ∨ ¬A → ⊥ `m ⊥.

1. A ∨ ¬A → ⊥, A ` A (Hip)
2. A ∨ ¬A → ⊥, A ` A ∨ ¬A (∨I) 1
3. A ∨ ¬A → ⊥, A ` A ∨ ¬A → ⊥ (Hip)
4. A ∨ ¬A → ⊥, A ` ⊥ (→ E) 2, 3
5. A ∨ ¬A → ⊥ ` A → ⊥ (→ I) 4
6. A ∨ ¬A → ⊥ ` A ∨ ¬A (∨I) 5
7. A ∨ ¬A → ⊥ ` ⊥ (→ E) 3, 6

`m ¬(A ∨ B) ↔ ¬A ∧ ¬B. Hay que mostrar ambas implicaciones:

• `m ¬(A ∨ B) → ¬A ∧ ¬B. Basta mostrar A ∨ B → ⊥, A `m ⊥ y A ∨ B → ⊥, B `m ⊥.

1. A∨B → ⊥, A ` A (Hip)
2. A∨B → ⊥, A ` A ∨ B (∨I) 1
3. A∨B → ⊥, A ` A ∨ B → ⊥ (Hip)
4. A∨B → ⊥, A ` ⊥ (→ E) 2, 3

la derivación faltante es análoga.


• `m ¬A ∧ ¬B → ¬(A ∨ B). Basta mostrar ¬A ∧ ¬B, A ∨ B ` ⊥.

1. ¬A ∧ ¬B, A ∨ B ` A ∨ B (Hip)
2. ¬A ∧ ¬B, A ∨ B, A ` ¬A ∧ ¬B (Hip)
3. ¬A ∧ ¬B, A ∨ B, A ` A (Hip)
4. ¬A ∧ ¬B, A ∨ B, A ` ¬A (∧E) 2
5. ¬A ∧ ¬B, A ∨ B, A ` ⊥ (→ E) 3, 4
6. ¬A ∧ ¬B, A ∨ B, B ` ¬A ∧ ¬B (Hip)
7. ¬A ∧ ¬B, A ∨ B, B ` B (Hip)
8. ¬A ∧ ¬B, A ∨ B, B ` ¬B (∧E) 6
9. ¬A ∧ ¬B, A ∨ B, B ` ⊥ (→ E) 7, 8
10. ¬A ∧ ¬B, A ∨ B ` ⊥ (∨E) 1, 5, 9

`i ¬A ∨ B → A → B. Basta mostrar ¬A ∨ B, A ` B

1. ¬A ∨ B, A ` ¬A ∨ B (Hip)
2. ¬A ∨ B, A, ¬A ` A (Hip)
3. ¬A ∨ B, A, ¬A ` ¬A (Hip)
4. ¬A ∨ B, A, ¬A ` ⊥ (→ E) 2, 3
5. ¬A ∨ B, A, ¬A ` B (⊥E) 4
6. ¬A ∨ B, A, B ` B (Hip)
7. ¬A ∨ B, A ` B (∨E) 1, 5, 6

10
`i A ∨ ¬A → ¬¬A → A. Basta mostrar A ∨ ¬A, ¬¬A ` A.

1. A ∨ ¬A, ¬¬A ` A ∨ ¬A (Hip)


2. A ∨ ¬A, ¬¬A, A ` A (Hip)
3. A ∨ ¬A, ¬¬A, ¬A ` ¬A (Hip)
4. A ∨ ¬A, ¬¬A, ¬A ` ¬¬A (Hip)
5. A ∨ ¬A, ¬¬A, ¬A ` ⊥ (→ E) 3, 4
6. A ∨ ¬A, ¬¬A, ¬A ` A (⊥E) 5
7. A ∨ ¬A, ¬¬A ` A (∨E) 1, 2, 6

`c ¬¬A ↔ A. La parte ` A → ¬¬A ya fue probada. Basta probar entonces ` ¬¬A → A, es


decir, ¬¬A ` A. Pero esto es inmediato por la regla (¬¬E)

`c ¬(A ∧ B) ↔ ¬A ∨ ¬B. La parte “← “ es válida minimalmente. Basta probar ¬(A ∧ B) `c


¬A ∨ ¬B.
1. ¬(A ∧ B) ` A ∨ ¬A (T E)
2. ¬(A ∧ B), A ` B ∨ ¬B (T E)
3. ¬(A ∧ B), A, B ` A (Hip)
4. ¬(A ∧ B), A, B ` B (Hip)
5. ¬(A ∧ B), A, B ` A ∧ B (∧I) 3, 4
6. ¬(A ∧ B), A, B ` ¬(A ∧ B) (Hip)
7. ¬(A ∧ B), A, B ` ⊥ (→ E) 5, 6
8. ¬(A ∧ B), A, B ` ¬A ∨ ¬B (⊥E) 7
9. ¬(A ∧ B), A, ¬B ` ¬B (Hip)
10. ¬(A ∧ B), A, ¬B ` ¬A ∨ ¬B (∨I) 9
11. ¬(A ∧ B), A ` ¬A ∨ ¬B (∨E) 2, 8, 10
12. ¬(A ∧ B), ¬A ` ¬A (Hip)
13. ¬(A ∧ B), ¬A ` ¬A ∨ ¬B (∨I) 12
14. ¬(A ∧ B) ` ¬A ∨ ¬B (∨E) 1, 11, 13

`c ((A → B) → A) → A. Por la ley de contrapositiva basta mostrar ¬A `c ¬((A → B) → A).


Por otra parte, se puede probar que C ∧ ¬D `m ¬(C → D), por lo que basta mostrar
¬A `c (A → B) ∧ ¬A, lo cual se sigue de ¬A, A `c B. Pero esto es inmediato de la regla (⊥E).

Veamos ahora algunos ejemplos con cuantificadores.

Mostrar que: `m ∀v(P v → Qv) → ∀x(∃y(P y ∧ Rxy) → ∃z(Qz ∧ Rxz))

1 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) ` ∀v(P v → Qv) Hip

2 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) ` ∃y(P y ∧ Rxy) Hip

3 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` P y ∧ Rxy Hip

4 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` P y → Qy ∀E 1

5 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` P y ∧E 3

11
6 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` Rxy ∧E 3

7 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` Qy → E 4, 5


8 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` Qy ∧ Rxy ∧I 6, 7

9 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` ∃z(Qz ∧ Rxz) ∃I 8

10 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) ` ∃z(Qz ∧ Rxz) ∃E 2, 9

11 ∀v(P v → Qv) ` ∃y(P y ∧ Rxy) → ∃z(Qz ∧ Rxz) → I (0

12 ∀v(P v → Qv) ` ∀x(∃y(P y ∧ Rxy) → ∃z(Qz ∧ Rxz)) ∀I 11

13 ` ∀v(P v → Qv) → ∀x(∃y(P y ∧ Rxy) → ∃z(Qz ∧ Rxz)) → I 12

`m A ∨ ∀xB → ∀x(A ∨ B) con x ∈


/ F V (A).

1. A ∨ ∀xB, A ` A ∨ ∀xB (Hip)


2. A ∨ ∀xB, A ` A (Hip)
3. A ∨ ∀xB, A ` A ∨ B (∨I, 2)
4. A ∨ ∀xB, A ` ∀x(A ∨ B) (∀I, 3), x ∈/ F V ({A ∨ ∀xB, A})
5. A ∨ ∀xB, ∀xB ` ∀xB (Hip)
6. A ∨ ∀xB, ∀xB ` B (∀E, 5)
7. A ∨ ∀xB, ∀xB ` A ∨ B (∨I, 6)
8. A ∨ ∀xB, ∀xB ` ∀x(A ∨ B) (∀I, 7), x ∈/ F V ({A ∨ ∀xB, ∀xB})
9. A ∨ ∀xB ` ∀x(A ∨ B) (∨E, 1, 4, 8)

`c ∀x(A ∨ B) → A ∨ ∀xB con x ∈


/ F V (A). Basta probar que ∀x(A ∨ B), ¬A `c ∀xB

1. ∀x(A ∨ B), ¬A ` ∀x(A ∨ B) (Hip)


2. ∀x(A ∨ B), ¬A ` ¬A (Hip)
3. ∀x(A ∨ B), ¬A ` A ∨ B (∀E, 1)
4. ∀x(A ∨ B), ¬A ` B (RB, 2, 3)
5. ∀x(A ∨ B), ¬A ` ∀xB (∀I, 4), x ∈
/ F V ({∀x(A ∨ B), ¬A})

Aquı́ RB denota a la regla de resolución binaria, válida en lógica clásica.

`m ∃x(A → B) → (∀xA → B) con x ∈


/ F V (B). Basta ver que ∃x(A → B), ∀xA `m B

1. ∃x(A → B), ∀xA ` ∃x(A → B) (Hip)


2. ∃x(A → B), ∀xA, A → B ` ∀xA (Hip)
3. ∃x(A → B), ∀xA, A → B ` A (∀E, 2)
4. ∃x(A → B), ∀xA, A → B ` A → B (Hip)
5. ∃x(A → B), ∀xA, A → B ` B (→ E, 3, 4)
6. ∃x(A → B), ∀xA ` B (∃E, 1, 5), x ∈
/ F V ({∃x(A → B), B})

`c (∀xA → B) → ∃x(A → B) con x ∈ / F V (B). Puesto que estamos en lógica clásica basta
probar ∀xA → B `c ¬∀x¬(A → B), es decir, ∀xA → B, ∀x¬(A → B) `c ⊥.

12
1. ∀xA → B, ∀x¬(A → B) ` ∀x¬(A → B) (Hip)
2. ∀xA → B, ∀x¬(A → B) ` ¬(A → B) (∀E, 1)
3. ∀xA → B, ∀x¬(A → B) ` A ∧ ¬B (equiv. logica, 2)
4. ∀xA → B, ∀x¬(A → B) ` A (∧E, 3)
5. ∀xA → B, ∀x¬(A → B) ` ∀xA (∀I, 4), x ∈
/ F V ({∀xA → B, ∀x¬(A → B)})
6. ∀xA → B, ∀x¬(A → B) ` ∀xA → B (Hip)
7. ∀xA → B, ∀x¬(A → B) ` B (→ E, 5, 6)
8. ∀xA → B, ∀x¬(A → B) ` ¬B (∧E, 3)
9. ∀xA → B, ∀x¬(A → B) ` ⊥ (→ E, 7, 8)

`m ∀xA → ¬∃x¬A. Basta ver que ∀xA, ∃x¬A `m ⊥

1. ∀xA, ∃x¬A ` ∃x¬A (Hip).


2. ∀xA, ∃x¬A, ¬A ` ¬A (Hip).
3. ∀xA, ∃x¬A, ¬A ` ∀xA (Hip).
4. ∀xA, ∃x¬A, ¬A ` A (∀E, 3).
5. ∀xA, ∃x¬A, ¬A ` ⊥ (→ E, 2, 4).
6. ∀xA, ∃x¬A ` ⊥ (∃E, 1, 5), x ∈
/ F V ({∀xA, ∃x¬A, ⊥}).

`c ¬∃x¬A → ∀xA. Basta ver que ¬∃x¬A `c ∀xA y como x ∈ / F V (¬∃x¬A) basta con
¬∃x¬A `c A, para lo cual mostramos ¬∃x¬A `c ¬¬A, es decir ¬∃x¬A, ¬A `c ⊥

1. ¬∃x¬A, ¬A ` ∃x¬A → ⊥ (Hip).


2. ¬∃x¬A, ¬A ` ¬A (Hip).
3. ¬∃x¬A, ¬A ` ∃x¬A (∃I, 2).
4. ¬∃x¬A, ¬A ` ⊥ (→ E, 1, 3).

5. Estrategias de derivación
Las siguientes estrategias se basan en las reglas de introducción y permiten construir una fórmula
de acuerdo a su conectivo principal.

Para derivar Γ ` A → B basta derivar Γ, A ` B.

Para derivar Γ ` A ∧ B basta derivar Γ ` A y Γ ` B

Para derivar Γ ` A ∨ B basta derivar Γ ` A o bien Γ ` B

Para derivar Γ ` ∀xA basta derivar Γ ` A donde s.p.g. x ∈


/ F V (Γ)

Para derivar Γ ` ∃xA basta encontrar un término t tal que Γ ` A[x := t]

Las siguientes estrategias se basan en las reglas de eliminación y permiten construir una fórmula
C usando una premisa particular:

13
Aplicación: para derivar Γ, A → C ` C, basta derivar

Γ, A → C ` A

Para derivar Γ, A ∧ B ` C basta derivar

Γ, A, B ` C

Para derivar Γ, A ∨ B ` C basta derivar

Γ, A ` C y Γ, B ` C

Para derivar Γ, ∃xA ` C basta derivar

Γ, A ` C

donde x ∈
/ F V (Γ, C)

La siguiente estrategia corresponde al uso de un lema, la fórmula A, en matemáticas. Se reco-


mienda utilizarla cuando las anteriores no funcionan directamente.

Aserción: Para derivar Γ ` C basta proponer A y derivar

Γ`Ay
Γ, A ` C

El uso adecuado de las estrategias anteriores nos llevar eventualmente a buscar pruebas triviales.
Las siguientes estrategias permiten concluir pruebas o disminuir el número de subpruebas en una
prueba particular.
Para derivar
Γ, A ` A
no hay nada más que hacer pues esta es una derivación válida.

Para derivar
Γ, ∀xA ` A[x := t]
no hay nada más que hacer pues esta es una derivación válida.

6. Tácticas
Las estrategias anteriores pueden mecanizarse mediante un procedimiento de búsqueda de prue-
bas orientado a metas. Una meta es simplemente un secuente Γ ` A correspondiente a la prueba
deseada. Usando las estrategias definidas arriba este secuente se transforma en una secuencia de
uno o más secuentes digamos Γ1 ` A1 ; . . . ; Γk ` Ak siendo la nueva meta a resolver el secuente
Γ1 ` A1 , el cual genera nuevas submetas, y ası́ sucesivamente. El proceso de búsqueda se simplifica
con las siguientes definiciones.

14
S denota a una secuencia finita de metas (posiblemente vacı́a, denotada )

S =def G1 ; . . . ; Gk

El proceso de búsqueda aplica una estrategia a la primera meta de la secuencia actual Si


al aplicar cierta estrategia a la meta G1 se generan las submetas G11 0 ; G 0 ; . . . ; G 0 entonces
12 1k
escribimos
0
G1 ; S B G11 ; G;12 ; . . . ; G1k ; S
y a este proceso le llamamos táctica.

La relación S B S 0 puede leerse como para demostrar la secuencia S es suficiente demostrar


la secuencia S 0 . Por ejemplo:

Para demostrar que p, q ` (q ∨ r) ∧ p


es suficiente demostrar que p, q ` q ∨ r y que p, q ` p
por lo que escribimos p, q ` (q ∨ r) ∧ p B p, q ` q ∨ r ; p, q ` p.

Para demostrar que p, q ` q ∨ r y p, q ` p


es suficiente demostrar p, q ` q y p, q ` p
por lo que escribimos p, q ` q ∨ r ; p, q ` p B p, q ` q ; p, q ` p.

Para demostrar que p, q ` q y p, q ` p


es suficiente demostrar p, q ` p (pues p, q ` q es inmediato)
por lo que escribimos p, q ` q ; p, q ` p B p, q ` p.

Para demostrar p, q ` p
hemos terminado pues p, q ` p es inmediato por lo que escribimos p, q ` p B 

A continuación definimos las tácticas particulares. Aquı́ S denota a una secuencia arbitraria de
metas. Aquı́ una expresión de la forma H : A denota a una hipótesis etiquetada con el nombre H
el cual se usa como referencia en la definición de la táctica. En general un contexto tiene todas las
hipótesis etiquetadas, es decir, es de la forma Γ = {H1 : A1 , . . . , Hn : An }.

intro: Γ ` A → B; S B Γ, A ` B; S

split: Γ ` A ∧ B; S B Γ ` A; Γ ` B; S

left: Γ ` A ∨ B; S B Γ ` A; S

right: Γ ` A ∨ B; S B Γ ` B; S

intro: Γ ` ∀xA; S B Γ ` A; S donde s.p.g x ∈


/ F V (Γ)

15
exists t: Γ ` ∃xA; S B Γ ` A[x := t]; S para algún t.

apply H: Γ, H : A → B ` B; S B Γ, H : A → B ` A; S

destruct H: Γ, H : A ∧ B ` C; S B Γ, H1 : A, H2 : B ` C; S

destruct H: Γ, H : A ∨ B ` C; S B Γ, H1 : A ` C; Γ, H2 : B ` C; S

apply H: Γ, H : ∀xA ` A[x := t]; S B S

destruct H: Γ, H : ∃xA ` C; S B Γ, H1 : A ` C; S donde x ∈


/ F V (Γ)

trivial: Γ, H : A ` A; S B S en particular Γ, A ` A B 

assert A: Γ ` C; S B Γ ` A; Γ, H : A ` C; S

Los nombres de las tácticas corresponden al nombre del comando en el asistente de prueba Coq
que usaran en el laboratorio.
Veamos algunos ejemplos de derivación mediante tácticas.

Probar que: ` (p ∧ q → r) → p → q → r

1 H1 : p ∧ q → r ` p → q → r intro

2 H1 : p ∧ q → r , H2 : p ` q → r intro

3 H1 : p ∧ q → r , H2 : p , H3 : q ` r intro

4 H1 : p ∧ q → r , H2 : p , H3 : q ` p ∧ q apply H1

5 H1 : p ∧ q → r , H2 : p , H3 : q ` p ; H1 : p ∧ q → r , H2 : p , H3 : q ` q split

6 H1 : p ∧ q → r , H2 : p , H3 : q ` q trivial

7  trivial

Sea Γ = {H : p → q ∨ r, H 0 : q → r, H 00 : r → s}. Queremos mostrar que Γ ` p → s

1 Γ`p→s
2 Γ, H1 : p ` s intro
3 Γ, H1 : p ` r apply H 00
4 Γ, H1 : p ` q ∨ r ; Γ, H1 : p, H2 : q ∨ r ` r assert q ∨ r
5 Γ, H1 : p ` p ; Γ, H1 : p, H2 : q ∨ r ` r apply H
6 Γ, H1 : p, H2 : q ∨ r ` r trivial
7 Γ, H1 : p, H2 : q ` r ; Γ, H1 : p, H3 : r ` r destruct H2
8 Γ, H1 : p, H2 : q ` q ; Γ, H2 : p, H3 : r ` r apply H 0
9 Γ, H1 : p, H3 : r ` r trivial
10  trivial

16
6.1. Tácticas para la negación
Las siguientes tácticas son útiles cuando hay que razonar con negación:

absurd (A) : Γ ` B ; S B Γ ` A ; Γ ` ¬A ; S
contradict H: Γ, H : ¬A ` B ; S B Γ ` A ; S
contradict H: Γ, H : ¬A ` ¬B ; S B Γ, H : B ` A ; S
contradict H: Γ, H : A ` B ; S B Γ ` ¬A ; S
contradict H: Γ, H : A ` ¬B ; S B Γ, H : B ` ¬A ; S

Las siguientes tácticas sólo están disponibles en la lógica clásica al importar la biblioteca
Classical

exact (classic (A)): Γ ` A ∨ ¬A ; S B S


exact (NNPP (A)): Γ ` ¬¬A → A ; S B S

La primera de estas tácticas es útil en combinación con assert para agregar una instancia del
tercero excluido al contexto y la segunda para agregar una instancia de la parte clásica de la ley de
doble negación . Otras tácticas útiles derivada de éstas son:

destruct (classic (A)): Γ ` B ; S B Γ, A ` B ; Γ, ¬A ` B; S.


apply (NNPP(A)): Γ ` A ; S B Γ ` ¬¬A ; S

7. Los teoremas de completud y correctud para la lógica clásica


Finalizamos nuestras consideraciones acerca de los sistemas de deducción natural mencionando
los teoremas de correctud y completud para la lógica clásica DNc que vinculan el mundo de la
semántica con el de la sintáxis de manera biunı́voca.

Teorema 1 (Correctud de DNc ) Sean Γ un conjunto de fórmulas y A una fórmula. La relación


`c es correcta con respecto a la consecuencia lógica,es decir:
Si Γ `c A entonces Γ |= A.

Demostración. Inducción sobre Γ `c A. Lo cual equivale a probar que todas las reglas del sistema
DNc preservan la noción |= pero esto es justo lo que dice la proposición 1.

Teorema 2 (Completud de DNc ) Sean Γ un conjunto de fórmulas y A una fórmula. El sistema


DNc es completo con respecto a la relación `c , es decir:
Si Γ |= A entonces Γ `c A.

Demostración. Omitimos la demostración dado que las técnicas necesarias pertenecen al ámbito
de la lógica matemática pura.

17
8. Reglas del sistema de Fitch (con cajas)
Una presentación común del sistema de deducción natural es usando el llamado sistema de Fitch
o sistema de cajas. Enunciamos aquı́ sus reglas por ser un sistema importante, aunque no lo usaremos
en este curso. En este sistema las derivaciones son sucesiones de fórmulas y no de secuentes.

Conjunción:

A B
(∧I)
A∧B

A∧B A∧B
(∧E) (∧E)
A B
Implicación:

A
..
.
B
(→ I)
A→B

A→B A
(M P )4
B
Disyunción

A B
(∨I) (∨I)
A∨B A∨B

A B
A∨B .. ..
. .
C C
C
Verdad:

(>I)
>
Cuantificación universal:

x0 parámetro
..
.
A[x := x0 ]

(∀I)
∀xA
4
Tambien denotada como (→ E)

18
La condición de que x0 sea un parámetro significa que x0 no puede figurar libre fuera de su
caja.

∀xA
(∀E)
A[x := t]

Cuantificación existencial:

A[x := t]
(∃I)
∃xA

A[x := x0 ]
∃xA .. x0 parámetro
.
B
(∃E)
B
x0 parámetro significa que x0 no puede estar libre fuera de su caja, en particular x0 no debe
estar libre en B.

19

También podría gustarte