aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-26cbn: args list instead of arg numberPierre Boutillier
2014-05-26Reductionops.Stack.map & Reduction.iterate_whd_genPierre
2014-05-26- Fix in kernel conversion not folding the universe constraintsMatthieu Sozeau
correctly when comparing stacks. - Disallow Type i <= Prop/Set constraints, that would otherwise allow constraints that make a universe lower than Prop. - Fix stm/lemmas that was pushing constraints to the global context, it is done depending on the constant/variable polymorphic status now. - Adapt generalized rewriting in Type code to these fixes.
2014-05-26Update infer_conv to record trivial Prop <= Type i constraints that are ↵Matthieu Sozeau
needed during unification.
2014-05-26make coqdep canonicalize paths from the command lineGregory Malecha
- logical paths given to -R and -I should be split on periods. - it also seems like giving an empty string should result in the empty path rather than the singleton path with an empty string as an identifier.
2014-05-26Fixing commit 9cef834. The parsing rules were generating an empty list,Pierre-Marie Pédrot
conflicting with the previous behaviour of 'eexists'.
2014-05-24Revert "Chasing the goal entering backward while interpreting tactics. This ↵Pierre-Marie Pédrot
required" I tested the commit on the wrong branch... This reverts commit b0364eff4ec8ad5676060d8ca9cdbbb1d9c34d04.
2014-05-24Chasing the goal entering backward while interpreting tactics. This requiredPierre-Marie Pédrot
writing a new primitive recovering the first goal under focus. It sounds a bit hackish, but it does actually work.
2014-05-24Fixing TACTIC EXTEND for arguments-free tactics that may modify the wholePierre-Marie Pédrot
proof. Indeed, computing an empty list of arguments triggered a Proofview.Goal.enter, which broke tactics like [shelve_unifiable]. This does not fix this particular tactic though, because the Ltac interpreter still enters the goal when calling a Ltac reference.
2014-05-24Complying with reference manual for the syntax of exists/eexists, i.e.Hugo Herbelin
removing the strange kind of syntax "exists ,t,". which was equivalent to "split; exists t; split", as in e.g.: Goal (exists x, x=0) /\ (exists x, x=0). exists ,0,. Qed. This answers bug request #3340.
2014-05-22Moving the "specialize" tactic out of the AST. Also removed an obsoletePierre-Marie Pédrot
variant of it, accepting an additional integer.
2014-05-22Fix native_compute for systems with a limited size for the command line.Guillaume Melquiond
The call to the native compiler can fail due to the sheer amounts of -I options passed to it. Indeed, it is easy to get the command line to exceed 512KB, thus causing various operating systems to reject it. This commit avoids the issue by only passing the -I options that matter for the currently compiled code. Note that, in the worst case, this commit is still not sufficient on Windows (32KB max), but this worst case should be rather uncommon and thus can be ignored for now. For the record, the command-line size mandated by Posix is 4KB.
2014-05-22Ignore generated file.Guillaume Melquiond
2014-05-22Removing useless use of metaids in tactic AST.Pierre-Marie Pédrot
2014-05-21Removing decompose record / sum from the tactic AST.Pierre-Marie Pédrot
2014-05-21Allowing Ltac definitions that may be unusable because of a built-inPierre-Marie Pédrot
parsing rule.
2014-05-21Moving left & right tactics out of the AST.Pierre-Marie Pédrot
2014-05-20Moving (e)transitivity out of the AST.Pierre-Marie Pédrot
2014-05-20Tactics declared through TACTIC EXTEND that are of the formPierre-Marie Pédrot
"foobar" constr(x1) ... constr(xn) are now defined as pure Ltac definitions, and do not add grammar nor printing rules. This partially relies on a hack consisting in retrieving the arguments in the tactic environment rather than as directly passed to the TacExtend node.
2014-05-20Tentative to add constr-using primitive tactics without grammar rules.Pierre-Marie Pédrot
We eta-expand primitive Ltac functions, and instead of feeding TacExtend directly with its arguments, we use the environment to retrieve them. Some tactics from the AST were also moved away and made using this mechanism.
2014-05-18Revert "Fix Qcanon after changes on injection."Maxime Dénès
This reverts commit f3b3b6e4d01080da4f0ce37a06553769e9588d0e.
2014-05-18When discrimination is not possible, try to project.Maxime Dénès
Example: Inductive Pnat : Prop := O | S : Pnat -> Pnat. Variable m n : Pnat. Goal S (S O) = S O -> False. intros H; injection H. now deduces S O = O instead of failing with an error message.
2014-05-18Suggest Set Injection On Proofs in error message for injection.Maxime Dénès
2014-05-18Restored old behavior of injection on proofs by default.Maxime Dénès
Use Set Injection On Proof to enable the new behavior.
2014-05-17Adding way to get the list of the accepted tactic notation arguments.Pierre-Marie Pédrot
2014-05-17Fixing coqdep_boot warning relative to unknown ML files that were in tactics.Pierre-Marie Pédrot
2014-05-17Fixing Camlp4 compilationPierre-Marie Pédrot
2014-05-16Revert "Decent error message when a constant is not found"Enrico Tassi
This reverts commit c4bdf93e358b97b32e0d80d6c7d1b79a2ece1dc2.
2014-05-16More fixes of unification with primitive projections (missed cases during ↵Matthieu Sozeau
the merge). Obligations are not necessarily opaque.
2014-05-16Declare: fix Future managementEnrico Tassi
2014-05-16Decent error message when a constant is not foundEnrico Tassi
2014-05-16Fix unification of non-unfoldable primitive projections in evarconv.Matthieu Sozeau
2014-05-16Moving argument-free tactics out of the AST into a dedicatedPierre-Marie Pédrot
"coretactics.ml4" file.
2014-05-16Slightly better printer for native ML tactics, in order to disambiguatePierre-Marie Pédrot
them.
2014-05-16Tactics defined through TACTIC EXTEND that are only defined as a string doPierre-Marie Pédrot
not create grammar and printing rules anymore, they define Ltac entries in the module that declares them instead.
2014-05-16Another try at close_proof that should behave better w.r.t. exception handling.Matthieu Sozeau
2014-05-15heads: avoid forcing opaque proofsEnrico Tassi
2014-05-15poly: remove unused attribute to STM nodes and vernac classificaitonEnrico Tassi
2014-05-15Polymorphic Lemmas are like Defined ones for STMEnrico Tassi
2014-05-15Future: better error messageEnrico Tassi
2014-05-13Fix the behaviour of ML tactic notations w.r.t. Imports by making themPierre-Marie Pédrot
substitutive.
2014-05-13Test-suite for bug #3259.Pierre-Marie Pédrot
2014-05-13Rewritten the sorting algorithm for universes with a better complexity.Pierre-Marie Pédrot
This should be now linear instead of the cubic Bellman-Ford algorithm. The new algorithm assumes that the universe graph is a DAG if we remove the {Le, Eq}-cycles, which is the case when the graph is consistent. Luckily we only use the sorting algorithm on such consistent graphs, in the Print Sorted Universes command.
2014-05-12Update various polyproj bugs w.r.t. latest trunkJason Gross
2014-05-12Now parsing rules of ML-declared tactics are only made available after thePierre-Marie Pédrot
corresponding Declare ML Module command. This changes essentially two things: 1. ML plugins are forced to use the DECLARE PLUGIN statement before any TACTIC EXTEND statement. The plugin name must be exactly the string passed to the Declare ML Module command. 2. ML tactics are only made available after the Coq module that does the corresponding Declare ML Module is imported. This may break a few things, as it already broke quite some uses of omega in the stdlib.
2014-05-12Moving the ML tactic extension mechanism to a Libobject-based one.Pierre-Marie Pédrot
2014-05-12Plugin names must be declared in the header of .ml4 file, be they static orPierre-Marie Pédrot
dynamic. This is done with the "DECLARE PLUGIN \"name\"" macro.
2014-05-12Adding the possibility for ML modules to declare functions to be called atPierre-Marie Pédrot
caching time, i.e. when the Declare ML Module command is evaluated. This can be used by both static and dynamic plugins.
2014-05-12Fixing the undocumented -dumpgraphbox option of coqdep.Pierre-Marie Pédrot
2014-05-11Using Maps to handle imports in Safe_typing. The order is irrelevant indeed,Pierre-Marie Pédrot
and the lookup operation proved to be costly when dealing with big libraries.