aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* A new step in the new "standard" naming policy for propositional hypothesesGravatar Hugo Herbelin2014-08-05
| | | | | | | | | | | | | obtained from case analysis or induction. Made it under experimental status. This replaces commit bf7d2a3ad2535e7d57db79c17c81aaf67d956965 which was acting at the level of logic.ml. Now acting in tactics.ml. Parts of things to be done about naming (not related to Propositions): induction on H:nat+bool produces hypotheses n and b but destruct on H produces a and b. This is because induction takes the dependent scheme whose names are statically inferred to be a and b while destruct dynamically builds a new scheme.
* More proofs independent of the names generated by induction/elim overGravatar Hugo Herbelin2014-08-05
| | | | a dependent elimination principle for Prop arguments.
* Making references to Proof General and CoqIDE uniform in Reference Manual.Gravatar Hugo Herbelin2014-08-05
|
* Chapter 4 of reference manual: Fixing asymmetric patterns error +Gravatar Hugo Herbelin2014-08-05
| | | | no spacing in English before ":".
* Coqide: check_connection now also checks correct loading of coqide plugin +Gravatar Hugo Herbelin2014-08-05
| | | | reports errors also from stderr.
* STM: new "par:" goal selector, like "all:" but in parallelGravatar Enrico Tassi2014-08-05
| | | | | par: distributes the goals among a number of workers given by -async-proofs-tac-j (defaults to 2).
* STM: code restructured to reuse task queue for tacticsGravatar Enrico Tassi2014-08-05
|
* Goal: API to get the solution of a goalGravatar Enrico Tassi2014-08-05
|
* make a few lines fit the screenGravatar Enrico Tassi2014-08-05
|
* STM: Classify Let as non asynchronous (Closes: #3486)Gravatar Enrico Tassi2014-08-05
|
* Coqide: annoying popups with GTK errors only in debug modeGravatar Enrico Tassi2014-08-05
|
* Ring: prevent an error message to show in case of success.Gravatar Arnaud Spiwack2014-08-05
| | | | Since [idtac] can, now, be used even if no goal is left, this error message which assumed that the goal was still open would run at every call of the [ring] tactic. Which lead to comically many nonsensical messages on the console during Coq's compilation.
* Documentation: a simple example for [numgoals].Gravatar Arnaud Spiwack2014-08-05
| | | | Now that [idtac] can print a single message for several goals, printing the number of goals is readable.
* Ltac's [idtac] is now interpreted outside of a goal if possible.Gravatar Arnaud Spiwack2014-08-05
| | | | It avoids printing several times the same things when no constr are involved in the message. It also allows to print messages even after all goals have been solved.
* Ltac's idtac is now implemented using the new API.Gravatar Arnaud Spiwack2014-08-05
|
* Tacinterp: [interp_message] and associate now only require an environment ↵Gravatar Arnaud Spiwack2014-08-05
| | | | rather than an entire goal.
* Tactics: [tclENV] is now sensitive to [Proofview.Goal.enter].Gravatar Arnaud Spiwack2014-08-05
| | | | | When "entering" in a goal, the environment observed by [tclENV] is changed (in the scope of the goal) to be that of the goal. I'm not entirely sure it is the right semantics. But it allows to write tactics which are agnostic of whether they are run in a goal or not.
* Documentation of [uconstr]: typesetting.Gravatar Arnaud Spiwack2014-08-05
|
* Documentation: refine accept uconstr arguments.Gravatar Arnaud Spiwack2014-08-05
|
* Doc: uconstr now has a tactic notation entry.Gravatar Arnaud Spiwack2014-08-05
|
* Fix interpretation bug in [uconstr].Gravatar Arnaud Spiwack2014-08-05
| | | Substitution of the Ltac variables would only occur if the internalised [uconstr] was of the form [glob, Some expr], which is the case only in tactics defined inside a proof, but not in tactics defined in [Ltac].
* The [refine] tactic now accepts [uconstr].Gravatar Arnaud Spiwack2014-08-05
| | | Arguments of refine can hence be built by tactics instead of given in their entirety in one go.
* Small refactoring: use [uconstr] instead of [constr] when relevant in ↵Gravatar Arnaud Spiwack2014-08-05
| | | | grammar rules.
* Properly declare uconstr as an argument for TACTIC EXTEND.Gravatar Arnaud Spiwack2014-08-05
|
* Fix [uconstr] name for argextend.Gravatar Arnaud Spiwack2014-08-05
|
* Better fix of e5c025Gravatar Pierre Boutillier2014-08-05
|
* One more optimization for guard checking of cofixpoints.Gravatar Maxime Dénès2014-08-04
| | | | | | In check_one_cofix, we now avoid calling dest_subterms each time we meet a constructor by storing both the current tree (needed for the new criterion) and a precomputed array of trees for subterms.
* More optimization in guard checking.Gravatar Maxime Dénès2014-08-04
| | | | | When dynamically computing the recarg tree, we now prune it according to the inferred tree. Compilation of CompCert is now ok.
* Fix an exponential behavior in guard checker for cofixpoints.Gravatar Maxime Dénès2014-08-04
| | | | | I had introduced it by mistake due to my OCaml dyslexia :) Thanks to Enrico and Arnaud for saving my day!
* Fixing semantics of Univ.Level.equal.Gravatar Pierre-Marie Pédrot2014-08-04
|
* STM: when looking up in the cache catch Expired excGravatar Carst Tankink2014-08-04
|
* STM: generate Feedback message for parsing errorsGravatar Enrico Tassi2014-08-04
|
* STM: use a real priority queueGravatar Enrico Tassi2014-08-04
|
* STM: encapsulate Pp.message in Feedback.feedbackGravatar Carst Tankink2014-08-04
|
* STM: VtQuery holds the id of the state it refers toGravatar Carst Tankink2014-08-04
|
* Some comments in the interface of Proofview_monad.Gravatar Arnaud Spiwack2014-08-04
|
* Cleaning the new implementation of the tactic monad continued.Gravatar Arnaud Spiwack2014-08-04
| | | | Remove proofview_gen, which was the repository of the extracted code, and move it to proofview_monad, which has the actual interface used by the [Proofview] module to implement tactics.
* Cleaning of the new implementation of the tactic monad.Gravatar Arnaud Spiwack2014-08-04
| | | | | | | | | * Add comments in the code (mostly imported from Monad.v) * Inline duplicated module * Clean up some artifacts due to the extracted code. * [NonLogical.new_ref] -> [NonLogical.ref] (I don't even remember why I chose this name originally) * Remove the now superfluous [Proof_errors] module (which was used to define exceptions to be used in the extracted code). * Remove Monad.v
* Fix to make Coq compile, I think this should still be accepted.Gravatar Matthieu Sozeau2014-08-03
|
* Fix infer conv using the wrong universe conversion flexibility informationGravatar Matthieu Sozeau2014-08-03
| | | | | for constants that are not unfolded during conversion. Fix discharge of polymorphic section variables over inductive types.
* - Fix handling of opaque polymorphic definitions which were turned transparent.Gravatar Matthieu Sozeau2014-08-03
| | | | - Decomment code in reductionops forgotten after debugging.
* Move to a representation of universe polymorphic constants using indices for ↵Gravatar Matthieu Sozeau2014-08-03
| | | | | | | variables. Simplifies instantiation of constants/inductives, requiring less allocation and Map.find's. Abstraction by variables is handled mostly inside the kernel but could be moved outside.
* - Fix has_undefined_evars not using its or_sorts argument anymore.Gravatar Matthieu Sozeau2014-08-03
| | | | | | - Allow apply's unification to use conversion even if some polymorphic constants appear in the goal (consistent with occur_meta_or_evar, and evarconv in general).
* Chapter 4: Fixing ambiguity about whether the return predicate refersGravatar Hugo Herbelin2014-08-03
| | | | | explicitly or implicitly to the variables in the as and in clauses + formatting.
* Fixing #3483 (graceful failing with notations to non-constructors in "match").Gravatar Hugo Herbelin2014-08-03
|
* Better struture for Ltac internalization environments in Constrintern.Gravatar Pierre-Marie Pédrot2014-08-02
|
* Faster uconstr.Gravatar Arnaud Spiwack2014-08-01
| | | Detyping was called on every typed constr in the Ltac context which was costly as most of the context is likely not to be refered to in a particular uconstr. This commit calls detyping lazily instead.
* CHANGES: [>…].Gravatar Arnaud Spiwack2014-08-01
|
* Document [> … ].Gravatar Arnaud Spiwack2014-08-01
|
* New tactical [> t1…tn] to apply tactics t1…tn to the corresponding goal.Gravatar Arnaud Spiwack2014-08-01
| | | | | | | Differs from the usual t;[t1…tn] in two ways: * It can be used without a preceding tactic * It counts every focused subgoal, rather than considering independently the goals generated by the application of the preceding tactic on individual goals. In other words t;[t1…tn] is [> t;[>t1…tn].. ].