aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/success
Commit message (Collapse)AuthorAge
* Merge PR#594: An example showing the benefit of EconstrGravatar Maxime Dénès2017-05-11
|\
* \ Merge PR#201: Transparent abstractGravatar Maxime Dénès2017-05-11
|\ \
* \ \ Merge PR#558: Adding a fold_glob_constr_with_binders combinatorGravatar Maxime Dénès2017-05-05
|\ \ \
| | | * Adding a test-suite pattern-unification example that Econstr fixed.Gravatar Hugo Herbelin2017-05-05
| |_|/ |/| |
* | | Merge PR#544: Anonymous universesGravatar Maxime Dénès2017-05-05
|\ \ \
| * | | Type@{_} should not produce a flexible algebraic universe.Gravatar Gaetan Gilbert2017-05-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise [(fun x => x) (Type : Type@{_})] becomes [(fun x : Type@{i+1} => x) (Type@{i} : Type@{i+1})] breaking the invariant that terms do not contain algebraic universes (at the lambda abstraction).
| * | | Allow flexible anonymous universes in instances and sorts.Gravatar Gaetan Gilbert2017-05-03
| | | | | | | | | | | | | | | | The addition to the test suite showcases the usage.
* | | | Merge PR#411: Mention template polymorphism in the documentation.Gravatar Maxime Dénès2017-05-03
|\ \ \ \ | |/ / / |/| | |
* | | | Merge PR#531: Fixing bug #5420 and many similar bugs due to the presence of ↵Gravatar Maxime Dénès2017-04-28
|\ \ \ \ | | | | | | | | | | | | | | | let-ins
| | | | * Add transparent_abstract tacticGravatar Jason Gross2017-04-25
| |_|_|/ |/| | |
* | | | Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-04-15
|\ \ \ \
| * | | | Fix anomaly when doing [all:Check _.] during a proof.Gravatar Gaetan Gilbert2017-04-14
| | | | |
| | | | * Using fold_glob_constr_with_binders to code bound_glob_vars.Gravatar Hugo Herbelin2017-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To use the generic combinator, we introduce a side effect. I believe that we have more to gain from a short code than from being purely functional. This also fixes the expected semantics since the variables binding the return type in "match" were not taking into account.
| | | | * Adding a fold_glob_constr_with_binders combinator.Gravatar Hugo Herbelin2017-04-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binding generalizable_vars_of_glob_constr, occur_glob_constr, free_glob_vars, and bound_glob_vars on it. Most of the functions of which it factorizes the code were bugged with respect to bindings in the return clause of "match" and in either the types or the bodies of "fix/cofix".
* | | | | Merge PR#422: Supporting all kinds of binders, including 'pat, in syntax of ↵Gravatar Maxime Dénès2017-04-12
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | record fields.
| | | | * Update various comments to use "template polymorphism"Gravatar Gaetan Gilbert2017-04-11
| |_|_|/ |/| | | | | | | | | | | Also remove obvious comments.
* | | | Merge PR#537: Efficient side-effect abstractionGravatar Maxime Dénès2017-04-11
|\ \ \ \
* | | | | Adding a test for 'rewrite in *' when an evar is solved by side-effect.Gravatar Pierre-Marie Pédrot2017-04-10
| | | | |
* | | | | Adding a test for the correctness of normalization in legacy typeclasses.Gravatar Pierre-Marie Pédrot2017-04-10
| | | | | | | | | | | | | | | | | | | | This is a test for commit 9d1230d484a2cf519f9cd76dc0f37815f3c6339b.
| | | | * Fixing several wrong computations of implicit arguments by positionGravatar Hugo Herbelin2017-04-09
| | | | | | | | | | | | | | | | | | | | in the presence of let-ins.
* | | | | Merge branch 'master' into econstrGravatar Pierre-Marie Pédrot2017-04-07
|\ \ \ \ \ | | |_|_|/ | |/| | |
| * | | | Merge PR#455: Farewell decl_modeGravatar Maxime Dénès2017-04-06
| |\ \ \ \
| | | | | * Merge branch 'origin/v8.5' into v8.6.Gravatar Hugo Herbelin2017-04-06
| | | | | |\ | | | | | | | | | | | | | | | | | | | | | Was needed to be done for a while.
| | | * | | | Adding tests for chained abstract tactics.Gravatar Pierre-Marie Pédrot2017-04-04
| | |/ / / / | |/| | | |
* | | | | | Merge branch 'trunk' into pr379Gravatar Maxime Dénès2017-04-04
|\| | | | |
| * | | | | Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-04-03
| |\ \ \ \ \ | | | |_|/ / | | |/| | |
| | * | | | Instances should obey universe binders even when defined by tactics.Gravatar Gaetan Gilbert2017-04-03
| | | | | |
* | | | | | Merge branch 'trunk' into pr379Gravatar Maxime Dénès2017-03-24
|\| | | | |
| | | | * | Supporting arbitrary binders in record fields, including e.g. patterns.Gravatar Hugo Herbelin2017-03-23
| | |_|/ / | |/| | |
| * | | | Merge branch 'v8.6' into trunkGravatar Maxime Dénès2017-03-23
| |\| | |
| | * | | Intern names bound in match patternsGravatar Tej Chajed2017-03-23
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes Coq bug 5345 (https://coq.inria.fr/bugs/show_bug.cgi?id=5345): Cannot use names bound in matches inside Ltac definitions.
| * | | | Make IZR use a compact representation of integers.Gravatar Guillaume Melquiond2017-03-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | That way, (IZR 5) is no longer reduced to 2 + 1 + 1 + 1 (which is not convertible to 5) but instead to 1 + 2 * 2 (which is). Moreover, it means that, after reduction, real constants no longer exponentially blow up. Note that I was not able to fix the test-suite for the declarative mode, so the missing proof terms have been admitted.
| * | | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-03-22
| |\| | |
| | | * | Farewell decl_modeGravatar Enrico Tassi2017-03-07
| | |/ / | |/| | | | | | | | | | | | | | This commit removes from the source tree plugins/decl_mode, its chapter in the reference manual and related tests.
| | | * Fixing a little bug in using the "where" clause for inductive types.Gravatar Hugo Herbelin2017-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was not working when the inductive type had implicit parameters. This could still be improved. E.g. the following still does not work: Reserved Notation "#". Inductive I {A:Type} := C : # where "#" := I. But it should be made working by taking care of adding the mandatory implicit argument A at the time # is interpreted as [@I _] (i.e., technically speaking, using expl_impls in interp_notation).
| | * | reject notations that are both 'only printing' and 'only parsing'Gravatar Ralf Jung2017-02-16
| | | |
| | * | don't require printing-only notation to be productiveGravatar Ralf Jung2017-02-16
| | | |
* | | | 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.
| | * | | Add test-suite files for hintdb variables in Ltac.Gravatar Théo Zimmermann2017-02-07
| |/ / / | | | | | | | | | | | | In particular, this closes bug 2417.
| * | | Merge branch 'v8.6'Gravatar Pierre-Marie Pédrot2017-02-01
| |\| |
| | * | Fixing bugs in typing "match" (regressions #5322 and #5324 + bugs with let-ins).Gravatar Hugo Herbelin2017-01-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A cleaning done in ade2363e35 (Dec 2015) was hinting at bugs in typing a matching over a "catch-all" variable, when let-ins occur in the arity. However ade2363e35 failed to understand what was the correct fix, introducing instead the regressions mentioned in #5322 and #5324. This fixes all of #5322 and #5324, as well as the handling of let-ins in the arity. Thanks to Jason for helping in diagnosing the problem.
| * | | Fixing injection in the presence of let-in in constructors.Gravatar Hugo Herbelin2016-12-22
| |/ / | | | | | | | | | This also fixes decide equality, discriminate, ... (see e.g. #5279).
| * | Merge remote-tracking branch 'github/pr/366' into v8.6Gravatar Maxime Dénès2016-12-04
| |\ \ | | | | | | | | | | | | Was PR#366: Univs: fix bug 5208
| * | | Fix typeclasses eauto shelving.Gravatar Théo Zimmermann2016-11-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | A file in the test-suite had to be modified. It was supposed to reproduce a behavior in intuistionistic-nuprl but it did not really. This commit is not supposed to break intuistionistic-nuprl.
| | * | Fix UGraph.check_eq!Gravatar Matthieu Sozeau2016-11-30
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Universes are kept in normal form w.r.t. equality but not the <= relation, so the previous check worked almost always but was actually too strict! In cases like (max(Set,u) = u) when u is declared >= Set it was failing to find an equality. Applying the KISS principle: u = v <-> u <= v /\ v <= u. Fix invariant breakage that triggered the discovery of the check_eq bug as well. No algebraic universes should appear in a term position (on the left of a colon in a typing judgment), this was not the case when an algebraic universe instantiated an evar that appeared in the term. We force their universe variable status to change in refresh_universes to avoid this. Fix ind sort inference: Use syntactic universe equality for inductive sort inference instead of check_leq (which now correctly takes constraints into account) and simplify code
| * | Revert more of a477dc for good measureGravatar Matthieu Sozeau2016-11-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We stop failing automatically on non-declared-class nested or toplevel subgoals as in 8.5, instead of the previous a477dc behavior of shelving those goals and failing if shelved goals remained at the end of resolution. It means typeclass resolution during refinement is closer to all:typeclasses eauto. Hints in typeclass_instances for non-declared classes can be used during resolution of _nested_ subgoals when it is fired from type-inference, toplevel goals considered in this case are still only classes (as in 8.5 and before). The code that triggers the restriction to only declared class subgoals is commented. Revert changes to test-suite, adding test for #5203, #5198 is fixed too. Add corresponding tests in the test-suite (that will break if we, e.g. disallow non-class subgoals) and update the refman accordingly.
| * | Revert part of a477dc, disallow_shelvedGravatar Matthieu Sozeau2016-11-15
| | | | | | | | | | | | | | | | | | | | | | | | | | | In only_classes mode we do not try to implement a stricter semantics for shelved goals in 8.6. Leaving this for 8.7. Update the documentation as well. Remove a spurious printf call as well. Fix test-suite now that shelved goals are allowed
| * | Fix test-suite files relying on tcs bugsGravatar Matthieu Sozeau2016-11-03
| | | | | | | | | | | | | | | | | | - One was expecting shelved goals to remain after resolution (from refine). - The other too were relying on the wrong classification of subgoals as typeclass subgoals at toplevel.
| * | typeclasses eauto Implem/doc of shelving strategyGravatar Matthieu Sozeau2016-11-03
| | | | | | | | | | | | | | | | | | Now [typeclasses eauto] mimicks what happens during resolution faithfully, and the shelving behavior/requirements for a successful proof-search are documented.