aboutsummaryrefslogtreecommitdiff
path: root/tactics
AgeCommit message (Collapse)Author
2017-05-24Merge branch 'trunk' into located_switchEmilio Jesus Gallego Arias
2017-05-20Merge PR#276: Stopping injection not to work on discriminable atoms (see #4890).Maxime Dénès
2017-05-17A fix for #5390 (a useful error on used introduction names was masked).Hugo Herbelin
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.
2017-05-17Stopping injection not to work on discriminable atoms (see #4890).Hugo Herbelin
2017-05-17Merge branch 'v8.6'Pierre-Marie Pédrot
2017-05-13Uniformity of style for selecting plural or not; spacing for comma.Hugo Herbelin
2017-05-11Remove an unused open introduced by the previous commit.Maxime Dénès
2017-05-11Merge PR#201: Transparent abstractMaxime Dénès
2017-05-05Remove two unused opens.Maxime Dénès
2017-05-05Merge PR#598: Removing dead code in Autorewrite.Maxime Dénès
2017-05-05Remove unused open.Maxime Dénès
2017-05-03Merge PR#541: Fixing "decide equality" bug #5449Maxime Dénès
2017-05-02Remove unused module definition after merging PR#592.Maxime Dénès
2017-05-02Merge PR#592: Fix bug #5501: Universe polymorphism breaks proof involving auto.Maxime Dénès
2017-05-02Merge PR#582: Fix warningsMaxime Dénès
2017-05-01Fixing Set Rewriting Schemes bugs introduced in v8.5.Hugo Herbelin
- Fixing a typo introduced in 31dbba5f. - Adapting to computation of universe constraints in pretyping. - Adding a regression test.
2017-05-01More consistent writing of de Bruijn.Théo Zimmermann
2017-05-01Removing dead code in Autorewrite.Pierre-Marie Pédrot
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.
2017-04-30Fix bug #5501: Universe polymorphism breaks proof involving auto.Pierre-Marie Pédrot
A universe substitution was lacking as the normalized evar map was dropped.
2017-04-30Fixing "decide equality"'s bug #5449.Hugo Herbelin
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?).
2017-04-28Revert "Using a more explicit algebraic type for evars of kind "MatchingVar"."Maxime Dénès
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.
2017-04-28Using a more explicit algebraic type for evars of kind "MatchingVar".Hugo Herbelin
A priori considered to be a good programming style.
2017-04-28Merge PR#531: Fixing bug #5420 and many similar bugs due to the presence of ↵Maxime Dénès
let-ins
2017-04-27Post-rebase warnings (unused opens and 2 unused values)Gaetan Gilbert
2017-04-27Remove unused [open] statementsGaetan Gilbert
2017-04-27Add [_] prefix to unused values which maybe should be keptGaetan Gilbert
2017-04-27Remove some unused values and typesGaetan Gilbert
2017-04-27Fix omitted labels in function callsGaetan Gilbert
2017-04-25transparent abstract: Respond to review commentJason Gross
https://github.com/coq/coq/pull/201#discussion_r110957570
2017-04-25transparent abstract: Respond to review commentJason Gross
https://github.com/coq/coq/pull/201#discussion_r110952601
2017-04-25Make opaque optional only for tclABSTRACTJason Gross
Also move named arguments to the beginning of the functions. As per https://github.com/coq/coq/pull/201#discussion_r110928302
2017-04-25Generalize cache_term_by_tactic_thenJason Gross
This will allow a cache_term tactic that doesn't suffer from the Not_found anomalies of abstract in typeclass resolution.
2017-04-25Add support for transparent abstract (no syntax)Jason Gross
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.
2017-04-25[location] [ast] Port module AST to CAstEmilio Jesus Gallego Arias
2017-04-25[location] Make location optional in Loc.locatedEmilio Jesus Gallego Arias
This completes the Loc.ghost removal, the idea is to gear the API towards optional, but uniform, location handling. We don't print <unknown> anymore in the case there is no location. This is what the test suite expects. The old printing logic for located items was a bit inconsistent as it sometimes printed <unknown> and other times it printed nothing as the caller checked for `is_ghost` upstream.
2017-04-25[location] Remove Loc.ghost.Emilio Jesus Gallego Arias
Now it is a private field, locations are optional.
2017-04-24[location] Switch glob_constr to Loc.locatedEmilio Jesus Gallego Arias
2017-04-24Removing various tactic compatibility layers in core tactics.Pierre-Marie Pédrot
2017-04-24Removing compatibility layer in Leminv.Pierre-Marie Pédrot
2017-04-24Fix the API of the new pf_constr_of_global.Pierre-Marie Pédrot
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.
2017-04-24Porting generalize_dep to the new tactic engine.Pierre-Marie Pédrot
2017-04-24Removing the tclWEAK_PROGRESS tactical.Pierre-Marie Pédrot
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.
2017-04-24Removing the tclNOTSAMEGOAL primitive from the API.Pierre-Marie Pédrot
The only use in Equality is reimplemented in the new engine.
2017-04-21[flags] Deprecate is_silent/is_verbose in favor of single flag.Emilio Jesus Gallego Arias
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.
2017-04-09Fixing #5420 as well as many related bugs due to miscounting let-ins.Hugo Herbelin
- 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.
2017-04-08Fix a heuristic used by legacy typeclass resolution.Pierre-Marie Pédrot
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.
2017-04-07Merge branch 'master' into econstrPierre-Marie Pédrot
2017-04-06Merge PR#508: Optimize pending evarsMaxime Dénès
2017-04-01Using delayed universe instances in EConstr.Pierre-Marie Pédrot
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.
2017-04-01Actually exporting delayed universes in the EConstr implementation.Pierre-Marie Pédrot
For now we only normalize sorts, and we leave instances for the next commit.