Dedução Natural com Coq
-
Upload
flavio-tavares -
Category
Documents
-
view
218 -
download
0
Transcript of Dedução Natural com Coq
-
7/21/2019 Deduo Natural com Coq
1/16
Deduc ao Natural com CoqLogica Aplicada a Computac ao
Andrei de Araujo FormigaUniversidade Federal da Para ba
-
7/21/2019 Deduo Natural com Coq
2/16
O Assistente de Prova Coq
Criado em 1984 por Thierry Coquand e G erard Huet
Recebeu o pr emio ACM Software System Award em 2013
-
7/21/2019 Deduo Natural com Coq
3/16
Aplicac oes
Vericac ao de provas matem aticas
Criac ao de provas matem aticas vericadas
Vericac ao de sistemas computacionais ( hardware, software )
Criac ao de programas certicados
-
7/21/2019 Deduo Natural com Coq
4/16
Prova iterativa baseada em t aticas
As provas no Coq s ao construdas de maneira interativa
O sistema mostra feedback para o usu ario
A prova e guiada usando t aticas , que podem ser entendidos comocomandos de prova.
-
7/21/2019 Deduo Natural com Coq
5/16
Exemplo 1
Provar : P Q , Q R P R .
Section Trans.Variables P Q R : Prop.Hypothesis H1 : P > Q.Hypothesis H2 : Q > R.Theorem trans : P > R.
Proof.intro HP.apply H2.apply H1.assumption.
Qed.
End Trans.
-
7/21/2019 Deduo Natural com Coq
6/16
Regras Introduc ao da Implicac ao
A tatica intro introduz uma hip otese
Funciona similar a introduc ao da implicac ao. Para provar P Q :1. Assuma P como hip otese
2. Prove Q
No exemplo, o objetivo era P R e um intro introduz P comohipotese e muda o objetivo para R .
-
7/21/2019 Deduo Natural com Coq
7/16
Regras Eliminac ao da Implicac ao
A tatica apply usa ( aplica ) uma hip otese
Para uma hip otese que e implicac ao, similar a regra de eliminac ao
Se o objetivo e provar B e existe uma hip otese A B , aplicar ahip otese muda o objetivo para A.
No exemplo, quando o objetivo e R , aplicamos Q R , mudando oobjetivo para Q .
-
7/21/2019 Deduo Natural com Coq
8/16
Finalizando uma prova com assumption
Se o objetivo atual j a existe como uma das hip oteses do contexto,assumption encontra a hip otese e naliza a prova do objetivo
No exemplo, o objetivo e P , que est a estabelecido como uma daship oteses, e o assumption naliza a prova.
-
7/21/2019 Deduo Natural com Coq
9/16
Regras Introduc ao da Conjunc ao
A tatica split funciona como uma introduc ao da conjunc ao.
Para provar A B , deve-se provar A e B separadamente.
Se o objetivo e da forma A B , usar split vai criar doissub-objetivos: provar A e provar B .
-
7/21/2019 Deduo Natural com Coq
10/16
Exemplo Conjunc ao, parte 1
Provar : P Q Q P .
Section Comut.Variables P Q : Prop.Hypothesis H : P / \ Q.
Theorem ecom : Q / \ P.
Proof.split ....
-
7/21/2019 Deduo Natural com Coq
11/16
Regras Eliminac ao da Conjunc ao
Uma forma de eliminar uma conjunc ao em uma hip otese e usando atatica inversion .
Se H e uma hip otese da forma A B , inversion H cria duas novahip oteses no contexto: uma armando A, outra armando B .
Voltando ao exemplo anterior, vamos comecar com inversion
paseparar P e Q , depois usar split para separar o objetivo. Depoiss o usar assumption duas vezes (uma para cada sub-objetivo).
-
7/21/2019 Deduo Natural com Coq
12/16
Exemplo Conjunc ao, parte 2
Provar : P Q Q P .
Section Comut.Variables P Q : Prop.Hypothesis H : P / \ Q.
Theorem ecom : Q / \ P.
Proof.inversion H.split .assumption.assumption.
Qed.
End Comut.
-
7/21/2019 Deduo Natural com Coq
13/16
Regras Introduc ao da Disjunc ao
Para provar A B , basta provar um dos dois (podemos escolher).
As taticas left e right funcionam como introduc ao da disjunc ao
Se o objetivo atual e da forma A B , left muda o objetivo para A
Se o objetivo atual e da forma A B , right
muda o objetivo para
-
7/21/2019 Deduo Natural com Coq
14/16
Regras Eliminac ao da Disjunc ao
Podemos usar inversion para eliminar uma disjunc ao de umahip otese.
Funciona diferente da conjunc ao.
Se a hip otese H e da forma A B , inversion H cria doissub-objetivos id enticos ao atual, um assumindo A como hip otese,outro assumindo B como hip otese.
Isso equivale a regra que vimos: para provar A B e preciso mostrarque e possvel chegar na mesma conclus ao usando tanto A quantocomo hip oteses, separadamente.
-
7/21/2019 Deduo Natural com Coq
15/16
Exemplo Disjunc ao
Provar : P Q Q P .
Section OuComut.Variables P Q : Prop.Hypothesis H : P \ / Q.
Theorem oucom : Q \ / P.
Proof.inversion H.right .assumption.left .assumption.
Qed.End OuComut.
-
7/21/2019 Deduo Natural com Coq
16/16
Regras Negac ao
As regras para negac ao no Coq s ao diferentes
Logica intuicionista versus l ogica cl assica
Podemos obter o comportamento cl assico usando axiomas