| Commit message (Collapse) | Author | Age |
|
|
|
|
| |
It is similar to find but raises an assertion failure instead of a Not_found
when the element is not encountered. Using it will give stronger invariants.
|
| |
|
| |
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
The performance enhancement introduced by a895b2c0 for non-polymorphic hints
was actually causing a huge regression in the polymorphic case (and was marked
as such). We fix this by only substituting the metas from the evarmap instead
of the whole evarmap.
|
| |
| |
| |
| |
| |
| |
| |
| | |
For instance, in
Inductive I : nat -> nat -> Prop := C : forall z, let '(x,y) := z in x + y = 0.
the computation of the number of arguments to I was made wrong in bde12b70.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
We simply handle the "break" in error messages. Not sure it is the
proper bugfix though, we may want to be able to add breaks in such
recursive notations.
|
| | |
|
| |
| |
| |
| | |
variables and definitions in sections is unsupported.
|
| | |
|
| |
| |
| |
| | |
Fixpoint/Definition.
|
| |
| |
| |
| |
| | |
(let x := t in u) a that should be reduced. Maybe a different
decomposition/reduction primitive should be used instead.
|
| |
| |
| |
| |
| | |
It was not detected because of a "bug" in clear checking the existence
of the hypothesis only at interpretation time (not at execution time).
|
| |
| |
| |
| |
| |
| |
| | |
(e.g. with deprecated options such as -byte, etc.) since I guess this
is what we expect.
Was probably lost in 81eb133d64ac81cb.
|
| |
| |
| |
| |
| | |
- Fixing dead code, doc.
- Relaxing constraints on using an as-tuple in inversion.
|
| | |
|
|\| |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The length of the pattern should now be exactly the number of
assumptions and definitions introduced by the destruction or induction,
including the induction hypotheses in case of an induction.
Like for pattern-matching, the local definitions in the argument of
the constructor can be skipped in which case a name is automatically
created for these.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Basically, the hypotheses were treated in an incorrect order, with a
hack for sometimes put them again in the right order, resulting in
failures and redundant hypotheses.
Status unclear, because this new version is incompatible except in
simple cases like a double induction on two "nat".
Fixing the bug incidentally simplify the code, relying on the
deprecation since 8.4 to allow not to ensure a compatibility (beyond
the simple situation of a double induction on simple datatypes).
See file induct.v for effect of changes.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
This is useful for restoring bullets after e.g. loading ssreflect.
Hoping Arnaud is ok in documenting it.
|
| |
| |
| |
| | |
Following a discussion on coq-club on Jan 13, 2016.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
We can now use the expressivity of GADT to work around historical kludges
of generic arguments.
|
| |
| |
| |
| |
| |
| | |
No more Obj.magic in Genarg. We leverage the expressivity of GADT
coupled with dynamic tags to get rid of unsafety. For now the API
did not change in order to port the legacy code more easily.
|
| | |
|
| |
| |
| |
| | |
This will allow an easier landing of the rewriting of Genarg.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Removed documentation for broken -D -w (but the option are still there).
Fixed documentation of others.
|