aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-05-31More on injection over a projectable "existT". - Fixing syntax "injection ↵Hugo Herbelin
... as ..." which was not working. - Now applying the simplification on any "existT" generated by "injection" (possible source of incompatibilities).
2014-05-31Fixing introduction patterns * and ** when used in a branch so that they do ↵Hugo Herbelin
not introduce beyond what is under control of the branch. See test-suite intros.v for an example.
2014-05-31Upgrade Matthieu's new_revert as the "revert" (a "unit tactic").Hugo Herbelin
2014-05-31Basic lemmas about the algebraic structure of equality.Hugo Herbelin
2014-05-31Dead code + typo.Hugo Herbelin
2014-05-30Adding test-suite for bug #3355.Pierre-Marie Pédrot
2014-05-28- Fix for commit 15999903f875f4b5dbb3d5240d2ca39acc3cd777 which disallowed someMatthieu Sozeau
cases of Type (* Prop *) <= Set. - Do check types of metavariables at the end of apply's unification, if it failed at the beginning (otherwise universe constraints can be incomplete).
2014-05-27Removing a tclSENSITIVE from rewrite.Pierre-Marie Pédrot
2014-05-26Cbn reduces Pos.compare p~1 q~1 to Pos.compare p qPierre Boutillier
(refolding of cbn is smarter)
2014-05-26Reduction.Stack.Fix/Case stores Cst_stack.tPierre Boutillier
2014-05-26Cst_stack before stack (abstraction leak in whd_gen)Pierre Boutillier
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