Resultados da pesquisa a pedido "coq"

2 a resposta

O cálculo da avaliação é incompleto quando a própria decidibilidade é usada no Coq

oEval compute O comando nem sempre é avaliado como uma expressão simples. Considere o código: Require Import Coq.Lists.List. Require Import Coq.Arith.Peano_dec. Import ListNotations. Inductive I : Set := a : nat -> I | b : nat -> nat -> I. ...

2 a resposta

Como proibir a tática simples de desdobrar expressões aritméticas?

osimpl tática desdobra expressões como2 + a para "combinar árvores", o que não parece nada simples. Por exemplo: Goal forall i:Z, ((fun x => x + i) 3 = i + 3). simpl.Leva a: forall i : Z, match i with | 0 => 3 | Z.pos y' => Z.pos match y' with ...

1 a resposta

Coq QArith divisão por zero é zero, por quê?

Notei que, na definição de racional de Coq, o inverso de zero é definido como zero. (Normalmente, a divisão por zero não é bem definida / legal / permitida.) Require Import QArith. Lemma inv_zero_is_zero: (/ 0) == 0. Proof. unfold ...

3 a resposta

Quais são os pontos fortes e fracos do assistente de prova de Isabelle em comparação com o Coq?

O assistente de prova de Isabelle / HOL tem alguma fraqueza e força em comparação com a Coq?

1 a resposta

Como executar o Athena. Coq Códigos Isabelle remotamente?

Estou criando um Web IDE (WIDE) para provar teoremas em Ciência da Computação. Você deve saber, existem três assitentes de provas mais comuns que chamam Athena, Isabelle e Coq. A maioria dos cientistas da computação pode esquecer sua sintaxe, ...

1 a resposta

Por que conectivos lógicos e booleanos são separados no Coq?

Eu venho de um background de programação JavaScript / Ruby e estou acostumado a isso como true / false funciona (em JS): !true // false !false // trueEntão você pode usar esses valores verdadeiro / falso com&& gostar var a = true, b = false; a ...

2 a resposta

Computar com uma função recursiva definida por indução bem definida

Quando eu usoFunction para definir uma função não-estruturalmente recursiva no Coq, o objeto resultante se comporta estranhamente quando uma computação específica é solicitada. De fato, em vez de dar diretamente o resultado, oEval compute in ... ...

1 a resposta

Confuso com importações de Coq

Alguém pode me dizer as diferenças entre Require Nome.Require Import Nome.Import Nome?

1 a resposta

Como provar automaticamente a igualdade simples de números reais no Coq?

O que estou procurando é umautotática-like que pode provar igualdades simples como: 1/2 = 2/4Até agora, o que eu tentei manualmente é usarring_simplify efield_simplify para provar a igualdade. Mesmo isso não funciona bem (Coq 8.5b3). O exemplo ...

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