aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
Commit message (Collapse)AuthorAge
* Merge PR#276: Stopping injection not to work on discriminable atoms (see #4890).Gravatar Maxime Dénès2017-05-20
|\
* | A fix for #5390 (a useful error on used introduction names was masked).Gravatar Hugo Herbelin2017-05-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | With the "apply in" introduction pattern, and the backtrack possibly done in "apply" over the components of conjunctions (descend_in_conjunctions), the reasons for failing might have different sources. We give priority to the detection of used names over other (unification) errors so that an error there is not masked in the backtracking made by descend_in_conjunctions. Of course, the question of what best unification error to give in the presence of backtracking is still open.
| * Stopping injection not to work on discriminable atoms (see #4890).Gravatar Hugo Herbelin2017-05-17
|/
* Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-05-17
|\
* | Uniformity of style for selecting plural or not; spacing for comma.Gravatar Hugo Herbelin2017-05-13
| |
* | 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
|\ \ \ \ \ \
| | | | | | * Fixing Set Rewriting Schemes bugs introduced in v8.5.Gravatar Hugo Herbelin2017-05-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fixing a typo introduced in 31dbba5f. - Adapting to computation of universe constraints in pretyping. - Adding a regression test.
* | | | | | | 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
| | |\