Subido por Ramiro Choque Canaza

Calculo proposicional asistida por Isabelle

Anuncio
1
0.1
Cálculo proposicional asistida
En principio indicamos los elementos con los que desarrollaremos la lógica
proposicional, y haremos ı́nfasis en la terminologı́a que es adecuada términos
computaciones propias. Denotamos con p, q, r, . . . a las proposiciones (enunciados) y −→, ←→ ,∧, ∨ y ¬ son los conectivos (u operaciones) lógicos condicional,
bicondicional, conjunción, disyunción y negación respectivamente. Una sucesión
finita de proposiciones p1 , p2 , ...pk se llama una demostración (o deducción formal) si cada pi , es un axioma proposicional o resulta de fórmulas anteriores por
la aplicación de las reglas inferencia. Una proposición es un teorema si aparece
como la última proposición de una demoatración. En otras palabras una demotarción o prueba es una sucesión finita de proposiciones tal que cada una es
una axioma o una consecuencia directa (deducción) de una de las proposición
precedentes por medio de las reglas de inferencia. Un teorema es una proposición
para la cual existe una prueba.
Para cada operación lógica, hay dos tipos de reglas: Las reglas de introducción y de eliminación. Las reglas de introducción nos permiten inferir un
operación logica. Las reglas de eliminación nos permiten deducir los factores
de este operación. En lo que sigue estudiamos estas reglas para cada operación
lógı́ca, y sus realizaciones en el programa Isabelle/Hol. Al final del capı́tulo se
presenta una serie de ejercicios complementarios.
0.2
Condicionales
Si p y q son proposiciones, su implicación, p −→ q, es otra proposición que
es falso cuando p es verdadero y q es falso. La regla de eliminación de una
implicación es llamado denominado Modus Ponens. Esta regla y su nombre de
referencia es dada como sigue:
mp
p −→ q
p
q
La regla de introdución de la condicional afirma que si tenemos p y q, podemos
concluir p −→ q. Está regla y su referencia es la siguiente:
impI
p
q
p −→ q
Cuando en un teorema la conclusión es una implicación, en su demostración
se asume el antecedente de esa implicación como una hipótesis auxiliar que
facilita su demotración, ya que es mejor tener más hipótesis que emplear y menos
afirmaciones que demostrar. La validez de su uso es la siguiene equivalencia:
p
q −→ r
es equivalente a
p
q
r
←− Hipótesis auxiliar
2
Example 1 Demostrar: p −→ q, q −→ r ` p −→ r
Proof.
1
2
3
4
5
6
p −→ q
q −→ r
p
q
r
p −→ r
hipótesis
hipótesis
asumimos hipétesis auixliar
de 1 y 3 usando la regla mp
de 2 y 4 usando la regla mp (fin de hip. aux)
de 2 y 5 usando la regla impI
En la demostración asistida por Isalbelle/Hol, la hipótesis auxuliar tiene un
un principio y un final señalados con { y } respectivamente, como se puede
observar en la siguiente demostración asistida
lemma l2:
assumes
1: "p −→q" and
2: "q −→r"
shows "p −→r"
proof{ assume 3: "p"
have 4: "q" using 1 3 by (rule mp)
have 5: "r" using 2 4 by (rule mp) }
thus 6: "p−→r" by (rule impI)
qed
Los camandos empleados en la demostración asistida se explica a continuación:
assumes
and
shows
proof
{ assume
have
using
by (rule . . . )
thus
qed
indica las hipótesis
separa las hipótesis
indica la conclusión (lo que hay que probar)
inicia la demosteración
para no usar el método por defecto
asume la hipótesis auxiliar... hasta }
establece un paso
usando hechos en un paso
indica la regla con la que se prueba un hecho,
establece la conclusión (ası́, en consecuencia)
termina la prueba
Note que cuando empleamos una hipótesis auxiliar en la demotración, en la
conclusión de la demotración utilizamos thus y no show.
El cagado de la hipótesis auxiliar se puede realizar más de una vez. Por
3
ejemplos
p
q → (r −→ s)
es equivalente a
p
q
r −→ s
es equivalente a
p
q
r
s
Example 2 Demostrar: ` (p −→ q) → ((q −→ r) → (p −→ r))
Proof.
1
2
3
4
5
6
7
8
p −→ q
q −→ r
p
q
r
p −→ r
(q −→ r) −→ (p −→ r)
(p −→ q) → ((q −→ r) → (p −→ r))
hipótesis auxiliar A1
hipótesis auxiliar A2
hipétesis auixliar A3
de 1 y 3 usando la regla
de 2 y 4 usando la regla
de 2 y 5 usando la regla
de 2 y 6 usando la regla
de 1 y 7 usando la regla
mp
mp (fin A1)
impI (fin A2)
impI (fin A3)
impI
La demostración asistida por Isabelle/Hol es:
lemma l3:
"( p −→q)−→((q−→r)−→(p−→r))"
proof{ assume 1: "p−→q"
{ assume 2: "q−→r"
{ assume 3: "p"
have 4: "q" using 1 3 by (rule mp)
have 5: "r" using 2 4 by (rule mp)}
hence 6: "p−→r" by (rule impI)}
hence 7: "(q−→r)−→(p−→r)" by (rule impI)}
thus 8: "(p−→q)−→((q−→r)−→(p−→r))" by (rule impI)
qed
El comando hence (por tanto) significa igualmente una conclusión, pero con
una jeraruı́a menor que thus y show. Los comandos utilizados y sus significados
en la demostración asistida anterior es la siguiente:
proof
{ assume
have
using
by (rule . . . )
hence
thus
qed
inicia la demostración
para no usar el método por defecto (p.e. auto)
asume la hipótesis auxiliar... hasta }
establece un paso
usando hechos en un paso
indica la regla con la que se prueba un hecho,
estable una conclusión parcial de una hipótesis aux.
establece la conclusión (ası́, en consecuencia)
termina la prueba
4
0.3
0.4
Conjunción
Una regla de introducción nos dice cuándo podemos inferir una fórmula que
contiene un sı́mbolo lógico especı́fico. En el caso de la regla de introducción
de la conjunción dice que si tenemos p y si tenemos q, entonces tenemos p ∧ q.
Usualmente se expresa ası́:
conjI
p
q
p∧q
Ası́ para demostrar p ∧ q, debemos demostrar p y también q. Las reglas de
eliminación funcionan en la dirección opuesta a las reglas de introducción. En
el caso de la conjunción, existen dos reglas de este tipo. De p ∧ q inferimos p.
también, de p ∧ q inferimos q:
conjunct1
p∧q
p
, conjunct2
p∧q
q
es decir, de p ∧ q podemos eliminar la conjunción y inferir p o bien q.
Estas referencias y las reglas son explicados cuando se coloca el cursor sobre
los siguientes:
thm conjI
thm conjunct1
thm conjunct2
En el siguiente ejemplo aparecen conjunciones, y se desea demostrar una
conjunción. Para ellos debemos realizar eliminaciones de la conjunción y para
estabecer la conclusión debemos aplicar la regla introdución de la conjunción.
Dearemos dos pruebas, la primera una demotarción natural, luego uan demostración asistenda por un ordenador realizado en Isabelle/Hol
Example 3 Demostrar: p ∧ q, r ∧ s ` p ∧ s
Proof.
1
2
3
4
5
p∧q
r∧s
p
s
p∧s
hipótesis
hipótesis
de 1 usando la regla de eliminación de la conjunción
de 2 usando la regla de eliminación de la conjunción
de 4 regla de introdución de la conunción
La demostración asistida por Isalbelle/Hol es la siguiente:
lemma l1:
assumes
1:"p∧q" and
5
2:"r∧s"
shows "p∧s"
proofhave 3: "p" using 1 by (rule conjunct1)
have 4: "s" using 2 by (rule conjunct2)
show 5: "p∧s" using 3 4 by (rule conjI)
qed
Note que en la demostración, Isalbelle/Hol sigue el razonamiento natural
con ciertos comandos que explicamos a continuación:
assumes
and
shows
proof
have
using
by (rule . . . )
show
qed
indica las hipótesis
separa las hipótesis
indica la conclusión (lo que hay que probar)
inicia la demosteración
para no usar el método por defecto (p.e. auto)
establece un paso
usando hechos en un paso
indica la regla con la que se prueba un hecho,
establece la conclusión
termina la prueba
En cada paso de la demotración asistida, Isabelle/Hol indica con enunciados
de color rojosi se comete un error de escritura, mas uso de un comando o si
la deotración esta incompleta. Cuando se coloca el comando qed hay dos resuldados posibles. La demotarción esta bien realizada, en ess caso Isabelle/Hol
coloca cero mensajes de error, y si no está completa de demotración entonces
Isabelle/Hol sigue indicando mensajes de no estar completa de demotración.
0.5
Ahora considere la disyunción. Hay dos reglas de introducción, que se asemejan a formas invertidas de las reglas de eliminación de conjunción:
p
p∨q
q
p∨q
Para la regla de eliminación de disyunción, es la demostración dos casos.
p∨q
p −→ r
q −→ r
r
Podemos suponer que p es verdadero y probar r y luego asumir q verdadero y
probar r por segunda vez. Tenemos que demostrar R dos veces, bajo diferentes
supuestos. Las suposiciones son locales para estas subpruebas y no son visibles
en ningún otro lugar.
Descargar