aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Moving Eauto to a simple ML file.Gravatar Pierre-Marie Pédrot2016-03-06
|
* Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-03-05
|\
* | Using build_selector from Equality as a replacement of the selectorGravatar Hugo Herbelin2016-03-05
| | | | | | | | | | | | | | | | in cctac which does not support indices properly. Incidentally, this should fix a failure in RelationAlgebra, where making prod_applist more robust (e8c47b652) revealed the discriminate bug in congruence.
* | Exporting build_selector, a component of discriminate, for use in congruence.Gravatar Hugo Herbelin2016-03-05
| |
* | Generalizing the uses of tactic scopes everywhere.Gravatar Pierre-Marie Pédrot2016-03-05
|\ \ | | | | | | | | | | | | | | | | | | | | | This feature allows the user to write "let x := open_constr(foo) in ..." for instance without having to resort to tactic notations. Some changes have been introduced in the parsing of ad-hoc argument scopes, e.g. one has to put parentheses around constr:(...) and ltac:(...) in tactics. This breaks badly written scripts, although it is easy to be forward-compatible by preemptively putting thoses parentheses.
| | * Fixing bug #4608: Anomaly "output_value: abstract value (outside heap)".Gravatar Pierre-Marie Pédrot2016-03-05
| | | | | | | | | | | | | | | | | | | | | The ARGUMENT EXTEND statement was wrongly using a CompatLoc instead of a Loc, and this was not detected by typing "thanks" to the Gram.action magic. When using CAMLP4, this was wreaking havoc at runtime, but not when using CAMLP5, as the locations where sharing the same representation.
| | * Fix #4607: do not read native code files if native compiler was disabled.Gravatar Maxime Dénès2016-03-04
| | |
| | * This fix is probably not enough to justify that there are no problems withGravatar Maxime Dénès2016-03-04
| | | | | | | | | | | | | | | primitive projections and prop. ext. or univalence, but at least it prevents known proofs of false (see discussion on #4588).
| * | Adding some standard arguments in tactic scopes.Gravatar Pierre-Marie Pédrot2016-03-04
| | | | | | | | | | | | | | | | | | | | | | | | This is not perfect and repeats what we do in Pcoq, but it is hard to factorize because rules defined in Pcoq do not have the same precedence. For instance, constr as a Tactic Notation argument is a Pcoq.Constr.constr while as a quotation argument is a Pcoq.Constr.lconstr. We should think of a fix in the long run, but for now it is reasonable to duplicate code.
| | * Rename Ephemeron -> CEphemeron.Gravatar Maxime Dénès2016-03-04
| | | | | | | | | | | | Fixes compilation of Coq with OCaml 4.03 beta 1.
| * | All arguments defined through ARGUMENT EXTEND declare a tactic scope.Gravatar Pierre-Marie Pédrot2016-03-04
| | | | | | | | | | | | | | | Amongs other things, it kind of fixes bug #4492, even though you cannot really take advantage of the parsed data for now.
| * | Replacing ad-hoc tactic scopes by generic ones using [create_ltac_quotations].Gravatar Pierre-Marie Pédrot2016-03-04
| | |
| * | Exchanging roles of tactic_arg and tactic_top_or_arg entries.Gravatar Pierre-Marie Pédrot2016-03-04
| | | | | | | | | | | | | | | | | | The tactic_arg entry was essentially a hack to keep parsing constrs as tactic arguments. We rather use tactic_top_or_arg as the true entry for tactic arguments now.
| * | Removing the UConstr entry of the tactic_arg AST.Gravatar Pierre-Marie Pédrot2016-03-04
| | | | | | | | | | | | | | | This was redundant with the wit_uconstr generic argument, so there was no real point on keeping it there.
| * | Making parentheses mandatory in tactic scopes.Gravatar Pierre-Marie Pédrot2016-03-04
| | |
| * | Uniformizing the parsing of argument scopes in Ltac.Gravatar Pierre-Marie Pédrot2016-03-04
|/ /
* | Merge pull request #97 from clarus/trunkGravatar Pierre-Marie Pédrot2016-03-04
|\ \ | | | | | | Converting the README to MarkDown syntax.
| | * Fix a typo in dev/doc/changes.txtGravatar Jason Gross2016-03-04
| | | | | | | | | CQQ -> COQ
| | * Adding a test for the behaviour of open_constr described in #3777.Gravatar Pierre-Marie Pédrot2016-03-03
| | |
| | * Fixing bug #4105: poor escaping in the protocol between CoqIDE and coqtop.Gravatar Pierre-Marie Pédrot2016-03-03
| | | | | | | | | | | | | | | | | | | | | Printing invalid UTF-8 string startled GTK too much, leading to CoqIDE dying improperly. We now check that all strings outputed by Coq are proper UTF-8. This is not perfect, as CoqIDE will sometimes truncate strings which contains the null character, but at least it should not crash.
* | | Merge branch 'clean-atomic-tactics'Gravatar Pierre-Marie Pédrot2016-02-29
|\ \ \
| * | | Moving the "move" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "exists" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "symmetry" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "generalize dependent" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "clearbody" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "clear" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "cofix" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
| | | |
| * | | Moving the "fix" tactic to TACTIC EXTEND.Gravatar Pierre-Marie Pédrot2016-02-29
|/ / /
* | | Printing notations: Cleaning in anticipation of fixing #4592.Gravatar Hugo Herbelin2016-02-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Making a clear distinction between expressions of the notation which are associated to binding variables only (as in `Notation "'lam' x , P" := (fun x => P)" or `Notation "'exists2' x : t , p & q" := (ex2 (fun x:t => p) (fun x:t => q))') and those which are associated to at list one subterm (e.g. `Notation "x .+1" := (S x)' but also "Notation "{# x | P }" := (ex2 _ (fun y => x = F y) (fun x => P))' as in #4592). The former have type NtnTypeOnlyBinder. - Thus avoiding in particular encoding too early Anonymous as GHole and "Name id" as "GVar id". There is a non-trivial alpha-conversion work to do to get #4592 working. See comments in Notation_ops.add_env.
* | | Slightly contracting code of evarconv.ml.Gravatar Hugo Herbelin2016-02-28
| | |
| | * Fixing bug #4596: [rewrite] broke in the past few weeks.Gravatar Pierre-Marie Pédrot2016-02-28
| | | | | | | | | | | | | | | | | | Checking that a term was indeed a relation was made too early, as the decomposition function recognized relations of the form "f (g .. (h x y)) with f, g unary and only h binary. We postpone this check to the very end.
* | | Removing Tacmach.New qualification in Tacinterp.Gravatar Pierre-Marie Pédrot2016-02-27
| | |
* | | Removing some compatibility layers in Tacinterp.Gravatar Pierre-Marie Pédrot2016-02-27
| | |
* | | Qcabs : absolute value on normalized rational numbers QcGravatar Pierre Letouzey2016-02-26
| | | | | | | | | | | | | | | | | | | | | | | | File contributed by Cédric Auger (a long time ago, sorry!) Qarith and Qc would probably deserve many more results like this one, and a more modern style (for instance qualified names), but this commit is better than nothing...
* | | Qcanon : fix names of lemmas Qcle_alt & Qcge_alt (were Qle_alt & Qge_alt)Gravatar Pierre Letouzey2016-02-26
| | |
* | | Qcanon : implement some old suggestions by C. AugerGravatar Pierre Letouzey2016-02-26
| | |
| | * Document Hint Mode, cleanup Hint doc.Gravatar Matthieu Sozeau2016-02-24
| | |
* | | Merge branch 'remove-quotations'Gravatar Pierre-Marie Pédrot2016-02-24
|\ \ \
| * | | Removing the METAIDENT token, as it is not used anymore.Gravatar Pierre-Marie Pédrot2016-02-24
| | | | | | | | | | | | | | | | | | | | | | | | METAIDENT were idents of the form $foobar, only used in quotations. Note that it removes two dollars in the Coq codebase! Guess I'm absolved for the $(...) syntax.
| * | | Removing the MetaIdArg entry of tactic expressions.Gravatar Pierre-Marie Pédrot2016-02-24
| | | | | | | | | | | | | | | | | | | | | | | | This was historically used together with the <:tactic< ... >> quotation to insert foreign code as $foo, but it actually only survived in the implementation of Tauto. With the removal of the quotation feature, this is now totally obsolete.
| * | | Removing the Q_coqast module.Gravatar Pierre-Marie Pédrot2016-02-24
| | | | | | | | | | | | | | | | | | | | | | | | It implemented the quotation logic of terms and tactics, although it was mostly obsolete. With quotations gone, it is now useless and thus removed. I fundamentally doubt that anyone hardly depends on this out there.
| * | | Getting rid of the "<:tactic< ... >>" quotations.Gravatar Pierre-Marie Pédrot2016-02-24
|/ / / | | | | | | | | | | | | | | | | | | It used to allow to represent parts of tactic AST directly in ML code. Most of the uses were trivial, only calling a constant, except for tauto that had an important code base written in this style. Removing this reduces the dependency to CAMLPX and the preeminence of Ltac in ML code.
* | | Moving tauto.ml4 to a proper ML file.Gravatar Pierre-Marie Pédrot2016-02-23
| | |
| | * Document differences of Hint Resolve and Hint ExternGravatar Matthieu Sozeau2016-02-23
| | |
| | * Fix part of bug #4533: respect declared global transparency ofGravatar Matthieu Sozeau2016-02-23
| | | | | | | | | | | | projections in unification.ml
| | * Fix bug #4544: Backtrack on using full betaiota reduction during keyed ↵Gravatar Matthieu Sozeau2016-02-23
| | | | | | | | | | | | unification.
* | | Moving the Tauto tactic to proper Ltac.Gravatar Pierre-Marie Pédrot2016-02-22
| | | | | | | | | | | | | | | | | | This gets rid of brittle code written in ML files through Ltac quotations, and reduces the dependance of Coq to such a feature. This also fixes the particular instance of bug #2800, although the underlying issue is still there.
* | | The tactic generic argument now returns a value rather than a glob_expr.Gravatar Pierre-Marie Pédrot2016-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The glob_expr was actually always embedded as a VFun, so this patch should not change anything semantically. The only change occurs in the plugin API where one should use the Tacinterp.tactic_of_value function instead of Tacinterp.eval_tactic. Moreover, this patch allows to use tactics returning arguments from the ML side.
* | | Merge branch 'v8.5'Gravatar Pierre-Marie Pédrot2016-02-21
|\ \ \ | | |/ | |/|