aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
Commit message (Collapse)AuthorAge
* Remove an unused open introduced by the previous commit.Gravatar Maxime Dénès2017-05-11
|
* Merge PR#201: Transparent abstractGravatar Maxime Dénès2017-05-11
|\
* | Remove two unused opens.Gravatar Maxime Dénès2017-05-05
| |
* | Merge PR#598: Removing dead code in Autorewrite.Gravatar Maxime Dénès2017-05-05
|\ \
* | | Remove unused open.Gravatar Maxime Dénès2017-05-05
| | |
* | | Merge PR#541: Fixing "decide equality" bug #5449Gravatar Maxime Dénès2017-05-03
|\ \ \
* | | | Remove unused module definition after merging PR#592.Gravatar Maxime Dénès2017-05-02
| | | |
* | | | Merge PR#592: Fix bug #5501: Universe polymorphism breaks proof involving auto.Gravatar Maxime Dénès2017-05-02
|\ \ \ \
* \ \ \ \ Merge PR#582: Fix warningsGravatar Maxime Dénès2017-05-02
|\ \ \ \ \
* | | | | | More consistent writing of de Bruijn.Gravatar Théo Zimmermann2017-05-01
| | | | | |
| | | | * | Removing dead code in Autorewrite.Gravatar Pierre-Marie Pédrot2017-05-01
| |_|_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since 260965d, an imperative code was semantically the identity because the closure allocation was not performed at the right moment. Because of it intricacy, I cannot really tell the original motivations of this piece of code, although it looks like it was for there for pretty-printing of errors. Anyway, both because the code was dubious and its effect not observed, it cannot hurt to remove it.
| | * | | Fix bug #5501: Universe polymorphism breaks proof involving auto.Gravatar Pierre-Marie Pédrot2017-04-30
| |/ / / |/| | | | | | | | | | | A universe substitution was lacking as the normalized evar map was dropped.
| | * | Fixing "decide equality"'s bug #5449.Gravatar Hugo Herbelin2017-04-30
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code was assuming that the terms t and u for which {t=u}+{t<>u} is proved were distinct. We refine an internal "generalize" of "u" so that it works on the two precise occurrences to abstract, even if other occurrences of u occur as subterm of t too. We also reuse the global constants found in the statement rather than reconstructing them (this seems better in case the global constants eventually get polymorphic universes?).
* | | Revert "Using a more explicit algebraic type for evars of kind "MatchingVar"."Gravatar Maxime Dénès2017-04-28
| | | | | | | | | | | | | | | | | | I'm sure this was pushed by accident, since testing shows immediately that it breaks the compilation of the ssreflect plugin, hence all developments relying on it in Travis.
* | | Using a more explicit algebraic type for evars of kind "MatchingVar".Gravatar Hugo Herbelin2017-04-28
| | | | | | | | | | | | A priori considered to be a good programming style.
* | | Merge PR#531: Fixing bug #5420 and many similar bugs due to the presence of ↵Gravatar Maxime Dénès2017-04-28
|\ \ \ | | | | | | | | | | | | let-ins
| | * | Post-rebase warnings (unused opens and 2 unused values)Gravatar Gaetan Gilbert2017-04-27
| | | |
| | * | Remove unused [open] statementsGravatar Gaetan Gilbert2017-04-27
| | | |
| | * | Add [_] prefix to unused values which maybe should be keptGravatar Gaetan Gilbert2017-04-27
| | | |
| | * | Remove some unused values and typesGravatar Gaetan Gilbert2017-04-27
| | | |
| | * | Fix omitted labels in function callsGravatar Gaetan Gilbert2017-04-27
| |/ / |/| |
| | * transparent abstract: Respond to review commentGravatar Jason Gross2017-04-25
| | | | | | | | | | | | https://github.com/coq/coq/pull/201#discussion_r110957570
| | * transparent abstract: Respond to review commentGravatar Jason Gross2017-04-25
| | | | | | | | | | | | https://github.com/coq/coq/pull/201#discussion_r110952601
| | * Make opaque optional only for tclABSTRACTGravatar Jason Gross2017-04-25
| | | | | | | | | | | | | | | Also move named arguments to the beginning of the functions. As per https://github.com/coq/coq/pull/201#discussion_r110928302
| | * Generalize cache_term_by_tactic_thenGravatar Jason Gross2017-04-25
| | | | | | | | | | | | | | | This will allow a cache_term tactic that doesn't suffer from the Not_found anomalies of abstract in typeclass resolution.
| | * Add support for transparent abstract (no syntax)Gravatar Jason Gross2017-04-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a small change that allows a transparent version of tclABSTRACT. Additionally, it factors the machinery of [abstract] through a plugin-accessible function which allows alternate continuations (other than exact_no_check. It might be nice to factor it further, into a cache_term function that caches a term, and a separate bit that calls cache_term with the result of running the tactic.
* | | Removing various tactic compatibility layers in core tactics.Gravatar Pierre-Marie Pédrot2017-04-24
| | |
* | | Removing compatibility layer in Leminv.Gravatar Pierre-Marie Pédrot2017-04-24
| | |
* | | Fix the API of the new pf_constr_of_global.Gravatar Pierre-Marie Pédrot2017-04-24
| | | | | | | | | | | | | | | | | | The current implementation was still using continuation passing-style, and furthermore was triggering a focus on the goals. We take advantage of the tactic features instead.
* | | Porting generalize_dep to the new tactic engine.Gravatar Pierre-Marie Pédrot2017-04-24
| | |
* | | Removing the tclWEAK_PROGRESS tactical.Gravatar Pierre-Marie Pédrot2017-04-24
| | | | | | | | | | | | | | | | | | The only remaining use was applied on the unfold tactic, and the behaviours of tclPROGRESS and tclWEAK_PROGRESS coincide whenever only one goal is produced by their argument tactic.
* | | Removing the tclNOTSAMEGOAL primitive from the API.Gravatar Pierre-Marie Pédrot2017-04-24
| |/ |/| | | | | The only use in Equality is reimplemented in the new engine.
* | [flags] Deprecate is_silent/is_verbose in favor of single flag.Gravatar Emilio Jesus Gallego Arias2017-04-21
| | | | | | | | | | | | | | | | | | Today, both modes are controlled by a single flag, however this is a bit misleading as is_silent really means "quiet", that is to say `coqc -q` whereas "verbose" is Coq normal operation. We also restore proper behavior of goal printing in coqtop on quiet mode, thanks to @Matafou for the report.
| * Fixing #5420 as well as many related bugs due to miscounting let-ins.Gravatar Hugo Herbelin2017-04-09
| | | | | | | | | | | | | | | | - Supporting let-ins in tactic "fix", and hence in interactive Fixpoint and mutual theorems. - Documenting more precisely the meaning of n in tactic "fix id n". - Fixing computation of recursive index at interpretation time in the presence of let-ins.
* | Fix a heuristic used by legacy typeclass resolution.Gravatar Pierre-Marie Pédrot2017-04-08
| | | | | | | | | | | | The evarmap used by the heuristic could contain resolved evars, which could lead to a failure of backtracking in the EConstr branch. This is experimental and may be to costly.
* | Merge branch 'master' into econstrGravatar Pierre-Marie Pédrot2017-04-07
|\|
| * Merge PR#508: Optimize pending evarsGravatar Maxime Dénès2017-04-06
| |\
* | | Using delayed universe instances in EConstr.Gravatar Pierre-Marie Pédrot2017-04-01
| | | | | | | | | | | | | | | | | | The transition has been done a bit brutally. I think we can still save a lot of useless normalizations here and there by providing the right API in EConstr. Nonetheless, this is a first step.
* | | Actually exporting delayed universes in the EConstr implementation.Gravatar Pierre-Marie Pédrot2017-04-01
| | | | | | | | | | | | | | | For now we only normalize sorts, and we leave instances for the next commit.
* | | Merge branch 'trunk' into pr379Gravatar Maxime Dénès2017-03-24
|\| |
| * | Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-03-23
| |\ \
| | | * Fast path for implicit tactic solving.Gravatar Pierre-Marie Pédrot2017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | We make apparent in the API that the implicit tactic is set or not. This was costing a lot in Pretyping for no useful reason, as it is almost always unset and the default implementation was just failing immediately.
| | | * Ensuring static invariants about handling of pending evars in Pretyping.Gravatar Pierre-Marie Pédrot2017-03-23
| | |/ | |/| | | | | | | | | | | | | All functions where actually called with the second argument of the pending problem being the current evar map. We simply remove this useless and error-prone second component.
| | * Merge PR#480: show unused intro pattern warningGravatar Maxime Dénès2017-03-22
| | |\
| * | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-03-22
| |\| |
| * | | Attempt to improve error message when "apply in" fail.Gravatar Hugo Herbelin2017-03-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | - Adding a better location in the "apply" on the fly pattern. - Printing statement of lemma and of hypothesis. Was suggested by discussion at wish report #5390.
| | | * Show unused-intro-pattern warning.Gravatar Théo Zimmermann2017-03-14
| | | | | | | | | | | | | | | | This warning was shown in CoqIDE but not by coqc.
| | * | Merge PR#359: Fix bug 4969, autoapply was not tagging shelved subgoals ↵Gravatar Maxime Dénès2017-03-10
| | |\ \ | | | |/ | | |/| | | | | correctly as…
* | | | Merge branch 'master'.Gravatar Pierre-Marie Pédrot2017-02-14
|\| | |
* | | | Quick hack to fix interpretation of patterns in Ltac.Gravatar Pierre-Marie Pédrot2017-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Interpretation of patterns in Ltac is essentially flawed. It does a roundtrip through the pretyper, and relies on suspicious flagging of evars in the evar source field to recognize original pattern holes. After the pattern_of_constr function was made evar-insensitive, it expanded evars that were solved by magical side-effects of the pretyper, even if it hadn't been asked to perform any heuristics. We backtrack on the insensitivity of the pattern_of_constr function. This may have a performance penalty in other dubious code, e.g. hints. In the long run we should get rid of the pattern_of_constr function.