| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
application and
primitive projection when they would otherwise be ambiguous.
|
| |
|
| |
|
|
|
|
| |
engine.
|
| |
|
| |
|
| |
|
|
|
|
| |
- [induction] on inductive records use the generated induction scheme for induction (not destruct as for non-recursive records)
- [induction] on non-recursive variants do destruct as the induction scheme is not generated.
|
| |
|
| |
|
|
|
| |
The latter is more representative of its actual function: extract from the Ltac context the values which are relevant to the interpretation of terms (either type or untyped).
|
|
|
|
|
|
| |
[uconstr:(…)].
- The binders names can be influenced by binders defined in Ltac (e.g. [let x:=fresh"y" in let u:=constr:(fun x:nat=>x) in idtac u] ).
- Any untyped constr in the context can now be inserted and type-checked inside a constr. In particular, Gregory Malecha's original proposed syntax for type-checking untyped terms in Ltac is now available [let u:=uconstr:(I I) in let v := constr:(u) in idtac v].
|
| |
|
|
|
|
| |
primitive projections.
|
| |
|
| |
|
|
|
|
|
|
|
| |
that it clears things earlier in the "as" case, allowing
intros_replacing to work without renaming the hypotheses.
(clear_request was not a good idea here a priori, since its use was
not related to the hypothesis to invert but to an hypothesis to inject).
|
|
|
|
| |
necessarily granting names given in the "as" clause.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Instead of passing glob tactics through the infamous globTacticIn hack and
antiquotation feature of the Ltac syntax, we put them in the interpretation
environment as closures. This should be used everywhere to get rid of this
buggy antiquotation syntax.
This fixes bug #2800.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
1. Proofview.Goal.enter into Proofview.Goal.nf_enter.
2. Proofview.Goal.raw_enter into Proofview.Goal.enter.
3. Proofview.Goal.goals -> Proofview.Goals.nf_goals
4. Proofview.Goal.raw_goals -> Proofview.Goals.goals
5. Ftactic.goals -> Ftactic.nf_goals
6. Ftactic.raw_goals -> Ftactic.goals
This is more uniform with the other functions of Coq.
|
|
|
|
| |
use of projections.
|
| |
|
| |
|
|
|
|
| |
simplifying conversion code.
|
| |
|
| |
|
| |
|
|
|
|
| |
subst_univs_levels.
|
|
|
|
| |
Fixes bug #3455.
|
| |
|
|
|
| |
The refined term is still typechecked twice (not counting Qed). But there seem to be a bug in the typechecker whereby it sometimes return terms which have universe inconsistencies. Until this is fixed, I'll leave the second typing phase which seems to catch these inconsistencies. To remove it, it suffices to change the [unsafe] flag to [true].
|
| |
|
|
|
|
| |
context for goal contexts.
|
|
|
| |
It does not work fine for refine yet as, while the binder has indeed the correct name, the evars are pretyped in an environment with the Ltac name, hence goal do not display the appropriate name.
|
|
|
| |
Binder names are interpreted as the Ltac specified one if available.
|
| |
|
|
|
|
|
| |
it to the new representation of projections and the new mind_finite
type.
|
|
|
|
|
|
| |
The code for the module was moved from Tacinterp. We still expose partially
the implementation of the Ftactic.t type, for the sake of simplicity. It may
be dangerous if used improperly though.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This time it should work at least as well as the previous version. The error
messages were adapted a little. There is still a buggy behaviour when clearing
lets in section, but this is mostly a problem of section handling. The v8.4
version of clearbody did exhibit the same behaviour anyway.
|