Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
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
Esta clase de regla se conoce como regla de introducción porque introduce un conectivo en la
conclusión en este caso ∧.
[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.
[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:
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)
(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
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 y Γ, A |= B donde x ∈
/ F V (Γ, B) entonces Γ |= B.
Demostración. Ejercicio a
5
Γi ` Ai es conclusión de alguna regla de inferencia tal que las premisas necesarias figuran
antes en la sucesión.
Mostramos ahora algunas reglas estructurales que pueden ser de ayuda en la construcción de
derivaciones:
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.
¬A =def A → ⊥
Γ, 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:
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:
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.
Γ ` ¬¬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.
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)
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
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
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
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.
11
6 ∀v(P v → Qv) , ∃y(P y ∧ Rxy) , P y ∧ Rxy ` Rxy ∧E 3
`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)
`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 ⊥
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.
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
Γ, A, B ` C
Γ, A ` C y Γ, B ` C
Γ, A ` C
donde x ∈
/ F V (Γ, C)
Γ`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
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
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
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
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
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:
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.
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