Search Results
Search type | Search syntax |
---|---|
Tags | [tag] |
Exact | "words here" |
Author |
user:1234 user:me (yours) |
Score |
score:3 (3+) score:0 (none) |
Answers |
answers:3 (3+) answers:0 (none) isaccepted:yes hasaccepted:no inquestion:1234 |
Views | views:250 |
Code | code:"if (foo != bar)" |
Sections |
title:apples body:"apples oranges" |
URL | url:"*.example.com" |
Saves | in:saves |
Status |
closed:yes duplicate:no migrated:no wiki:no |
Types |
is:question is:answer |
Exclude |
-[tag] -apples |
For more details on advanced search visit our help page |
Coq is a formal proof management system. It is often referred to as a proof assistant.
1
vote
1
answer
60
views
Accessing nested typeclasses elegantly
Now I just wanted to know: is there a way to let Coq infer the HasI automatically so that my first definition (or something similar) will work again? …
1
vote
1
answer
86
views
Prove that a function's result cannot dependent on Prop-valued parameters in Coq
My understanding of universes is very limited, but I believe that, in Coq, you cannot define something in Set whose value depends on something in Prop. …
1
vote
1
answer
61
views
Using if-then-else in Program Definition's obligation
Consider the following program (which is a simpler version of what I'm trying to do):
Require Import List Arith.
Program Definition test (l: list nat) : nat :=
if (existsb (fun x => Nat.eqb x 1) l) …
1
vote
Using if-then-else in Program Definition's obligation
I've found that if I want to use if-then-else facts later in a definition, I have to use decidable facts.
For example, in this case:
Definition has_one (l: list nat) :=
exists a, In a l /\ a = 1.
D …
0
votes
1
answer
35
views
Ltac with explicit constructor not working
I'm trying to do very simple reasoning about paths (e.g. in graphs) that are defined like follows:
Parameter Edge: nat -> nat -> Prop.
Inductive Path: nat -> nat -> Prop :=
| path_refl: forall v, P …
4
votes
1
answer
193
views
Error `Abstracting over the term leads to a term which is ill-typed` when doing a destruct
I'm trying to make a version of nth that cannot fail because it knows that the index is inbounds. So far, so good:
Program Definition nth_safe {A} (l: list A) (n: nat) (IN: (n < length l)%nat) : A :=
…