Resultados da pesquisa a pedido "coq"

3 a resposta

Coq: preso usando o subtipo

Eu tenho as seguintes definições: (definição de números inteiros positivos como um subtipo de nat) Definition Z_pos_filter (p: nat) : bool := if (beq_nat p 0) then false else true. Definition Z_pos: Set := {n : nat | is_true (Z_pos_filter n) }. ...

2 a resposta

Por que as novas linguagens de tipo dependente não adotaram a abordagem do SSReflect?

Existem duas convenções que encontrei na extensão SSReflect da Coq que parecem particularmente úteis, mas que não vi amplamente adotadas em linguagens de tipo dependente mais recentes (Lean, Agda, Idris). Em primeiro lugar, sempre que possível, ...

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 ...

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

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 _ => ...

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 ...

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 ...

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, ...

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 ...

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 ...