Resultados da pesquisa a pedido "coq"

2 a resposta

Decompondo igualdade de construtores coq

Muitas vezes, em Coq, me pego fazendo o seguinte: tenho o objetivo de prova, por exemplo: some_constructor a c d = some_constructor b c dE eu realmente só preciso provara = b porque todo o resto é idêntico, então eu faço: assert (a = b).Então ...

6 a resposta

Como faço para provar que duas implementações de Fibonacci são iguais na Coq?

Tenho duas implementações de Fibonacci, vistas abaixo, que quero provar que são funcionalmente equivalentes. Eu já provei propriedades sobre números naturais, mas este exercício requer outra abordagem que não consigo descobrir. O livro que ...

1 a resposta

Escrevendo programas bem fundamentados no Coq usando Fix ou Program Fixpoint

Seguindo o exemplo dado no capítuloGeneralRec [http://adam.chlipala.net/cpdt/html/Cpdt.GeneralRec.html]do livro Chlipala, estou tentando escrever o algoritmo mergesort. Aqui está o meu código Require Import Nat. Fixpoint insert (x:nat) (l: list ...

2 a resposta

Qual biblioteca de vetores usar no coq?

Gostaria de saber, existe uma biblioteca comumente usada para vetores em coq, ie. listas indexadas pelo tamanho em seu tipo. Alguns tutoriais fazem referência ao Bvector, mas não é encontrado quando tento importá-lo. Há Coq.Vectors.Vectordef, ...

2 a resposta

Como instalar o SSReflect e o MathComp no Linux?

Instalei com êxito o Coq 8.6 e o CoqIDE no Linux (Ubuntu 17.04). No entanto, não sei como proceder para adicionar SSReflect e MathComp a esta instalação. Todas as referências que verifiquei me pareciam muito confusas. Alguém tem uma ...

3 a resposta

Mantendo informações ao usar indução?

Estou usando o Coq Proof Assistant para implementar um modelo de (pequena) linguagem de programação (estendendo uma implementação do Featherweight Java por Bruno De Fraine, Erik Ernst, Mario Südholt). Uma coisa que continua surgindo ao usar ...

2 a resposta

Como chamar Coq asistant à prova de software externo

Como chamar o Coq de assistente de prova de um software externo? Coq tem alguma API? A interface da linha de comandos Coq é rica o suficiente para passar argumentos no arquivo e receber resposta no arquivo? Estou interessado em pontes Java ou C ...

1 a resposta

Qual é a diferença entre as táticas `destruct` e` case_eq` no Coq?

Eu entendidestruct como quebra uma definição indutiva em seus construtores. Eu vi recentementecase_eq e eu não conseguia entender o que faz de diferente? 1 subgoals n : nat k : nat m : M.t nat H : match M.find (elt:=nat) n m with | Some _ => ...

1 a resposta

Exigir, Importar, Exigir Importação

Em Coq, qual é a diferença entre ...? Exigir X.Importar X.Exigir importação X.Eu basicamente memorizei alguns padrões comuns. Geralmente vejo o código usando Exigir Importação X. Depois, há ImportNotation ListNotation. E acabei de notar que ...

1 a resposta

Chame um teorema usando let-in

Eu tenho uma funçãof retornando um par. Então eu provo alguns resultados sobre isso. Nos meus lemas, minha primeira tentativa de obter cada componente estava usandolet (x, y) := f z in. Mas, então, tentar usar esses lemas parece complicado.apply ...