aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* Cosmetic changes in evarconv.ml: hopefully using better self-documenting names.Gravatar Hugo Herbelin2015-08-02
|
* Evarconv.ml: small cut-elimination, saving useless zip.Gravatar Hugo Herbelin2015-08-02
|
* Cosmetic in evarconv.ml: naming a local function for better readibility.Gravatar Hugo Herbelin2015-08-02
|
* Adding a notation { x & P } for { x : _ & P }.Gravatar Hugo Herbelin2015-08-02
|
* A patch renaming equal into eq in the module dealing withGravatar Hugo Herbelin2015-08-02
| | | | | hash-consing, so as to avoid having too many kinds of equalities with same name.
* Adding eq/compare/hash for syntactic view atGravatar Hugo Herbelin2015-08-02
| | | | | | | | | | | | | | | constant/inductive/constructor kernel_name pairs rather than viewing them from only the user or canonical part. Hopefully more uniformity in Constr.hasheq (using systematically == on subterms). A semantic change: Cooking now indexing again on full pairs of kernel names rather than only on the canonical names, so as to preserve user name. Also, in pair of kernel names, ensuring the compact representation is used as soon as both names are the same.
* Give a way to control if the decidable-equality schemes are built likeGravatar Hugo Herbelin2015-08-02
| | | | | | | | | | | | | | in 8.4 with the schemes of the subcomponent of an inductive added to the environment or discharged as let-ins over the main scheme. As of today, decidable-equality schemes are built when calling vernacular command (Inductive with option Set Dedicable Equality Schemes, or Scheme Equality), so there is no need to discharge the sub-schemes as let-ins. But if ever the schemes are built from within an opaque proof and one would not like the schemes and a fortiori the subschemes to appear in the env, the new addition of a parameter internal_flag to "find_scheme" allows this possibility (then to be set to KernelSilent).
* Removing the generalization of the body of inductive schemes fromGravatar Hugo Herbelin2015-08-02
| | | | | | Auto_ind_decl over the internal lemmas. The schemes are built in the main process and the internal lemmas are actually already also in the environment.
* Fixing #4221 (interpreting bound variables using ltac env was possiblyGravatar Hugo Herbelin2015-08-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | capturing bound names unexpectingly). We moved renaming to after finding bindings, i.e. in pretyping "fun x y => x + y" in an ltac environment where y is ltac-bound to x, we type the body in environment "x y |-" but build "fun y y => Rel 2 + Rel 1" (which later on is displayed into "fun y y0 => y + y0"). We renounced to renaming in "match" patterns, which was anyway not working well, as e.g. in let x := ipattern:y in (forall z, match z with S x => x | x => x end = 0). which was producing forall z : nat, match z with 0 => z | S y => y end = 0 because the names in default branches are treated specifically. It would be easy to support renaming in match again, by putting the ltac env in the Cases.pattern_matching_problem state and to rename the names in "typs" (from build_branch), just before returning them at the end of the function (and similarly in abstract_predicate for the names occurring in the return predicate). However, we rename binders in fix which were not interpreted. There are some difficulties with evar because we want them defined in the interpreted env (see comment to ltac_interp_name_env). fix ltac name
* Granting Jason's request for an ad hoc compatibility option onGravatar Hugo Herbelin2015-08-02
| | | | | | | considering trivial unifications "?x = t" in tactics working under conjunctions (see #3545). Also updating and fixing wrong comments in test apply.v.
* Documenting change of behavior of apply when the lemma is a tuple andGravatar Hugo Herbelin2015-08-02
| | | | applying a component of the tuple.
* For convenience, making yes and on, and no and off synonymous inGravatar Hugo Herbelin2015-08-02
| | | | | command line. Documenting only the former for simplicity and uniformity with predating option -with-geoproof.
* Fix typos in the Extraction part of the reference manual.Gravatar Guillaume Melquiond2015-07-31
| | | | In particular, fix the name of all the user contributions.
* Fix typos in the Micromega part of the reference manual.Gravatar Guillaume Melquiond2015-07-31
|
* Improve the table of content of the reference manual.Gravatar Guillaume Melquiond2015-07-31
| | | | | Also remove AsyncProofs.tex from the list of preprocessed files, as it is doubtful it will ever contains Coq scripts.
* Remove some outdated files and fix permissions.Gravatar Guillaume Melquiond2015-07-31
|
* Followup of 9f81b58551.Gravatar Pierre-Marie Pédrot2015-07-30
| | | | | | The hash function exported by the interface ought to respect the equality. Therefore, we only use the syntactic hash for the hashconsing module while using the canonical hash in the API.
* STM: make multiple, admitted, nested proofs work (fix #4314)Gravatar Enrico Tassi2015-07-30
|
* STM: emit a warning when a QED/Admitted proof contains a nested lemmaGravatar Enrico Tassi2015-07-30
|
* STM: fix backtrack in presence of nested, immediate, proofsGravatar Enrico Tassi2015-07-30
|
* STM: remove assertion not being true for nested, immediate, proofs (#4313)Gravatar Enrico Tassi2015-07-30
|
* Test file for bug #4289 (buggy hash-consing of kernel name pairsGravatar Hugo Herbelin2015-07-30
| | | | | | breaking backtracking in the presence of functors). In "interactive" rather than "bugs" because of the use of Back.
* Fixing bug #4289 (hash-consing only user part of constant notGravatar Hugo Herbelin2015-07-30
| | | | | | | | | | | compatible with a unique bound module name counter which is not synchronous with the backtracking). We changed hash-consing of kernel name pairs to a purely memory management issue, not trying to exploit logical properties such as "syntactically equal user names have syntactically same canonical names" (which is true in a given logical session, but not in memory, at least because of residual values after backtracking).
* A printer for printing constants of the env (maybe useful when there are not ↵Gravatar Hugo Herbelin2015-07-30
| | | | too many of them).
* Avoid suggesting elim and decompose in the FAQ.Gravatar Guillaume Melquiond2015-07-30
|
* Remove some output of Qed in the FAQ.Gravatar Guillaume Melquiond2015-07-30
|
* Fix some broken Coq scripts in the documentation.Gravatar Guillaume Melquiond2015-07-30
|
* Fix width of underscore in coq_tex output.Gravatar Guillaume Melquiond2015-07-30
|
* Fix broken regexp.Gravatar Guillaume Melquiond2015-07-30
| | | | | Characters do not need to be escaped in character ranges. It just had the effect of matching backslashes four times.
* Remove unused variables.Gravatar Guillaume Melquiond2015-07-30
|
* Remove usage of Printexc.catch in the tools, as it is deprecated since 2001.Gravatar Guillaume Melquiond2015-07-30
| | | | | | | | "This function is deprecated: the runtime system is now able to print uncaught exceptions as precisely as Printexc.catch does. Moreover, calling Printexc.catch makes it harder to track the location of the exception using the debugger or the stack backtrace facility. So, do not use Printexc.catch in new code."
* Make coq-tex more robust with respect to the (non-)command on the last line.Gravatar Guillaume Melquiond2015-07-29
|
* Remove empty commands from the output of coq-tex.Gravatar Guillaume Melquiond2015-07-29
|
* Improve the FAQ a bit.Gravatar Guillaume Melquiond2015-07-29
|
* Rewrite the main loop of coq-tex.Gravatar Guillaume Melquiond2015-07-29
| | | | | | | | | | | | | | | | | | | Before this commit, coq-tex was reading the .v file and was guessing how many lines from the coqtop output it should display. Now, it reads the coqtop output and it guesses how many lines from the .v file it should display. That way, coq-tex no longer needs to embed a parser; it relies on coqtop for parsing. This is much more robust and makes it possible to properly handle script such as the following one: Goal { True } + { False }. { left. exact I. } As before, if there is a way for a script to produce something that looks like a prompt (that is, a line that starts with "foo < "), coq-tex will be badly confused.
* Adding test for bug #3779.Gravatar Pierre-Marie Pédrot2015-07-29
|
* Fixing some English misspelling.Gravatar Hugo Herbelin2015-07-29
|
* Fixing what seems to be a typo.Gravatar Hugo Herbelin2015-07-29
|
* Fixing bug #3811: "Universe annotations confused inside generalizing binders".Gravatar Pierre-Marie Pédrot2015-07-29
| | | | | The universe instance of the constant was simply dropped by the function interpreting generalizing binders.
* Adding a test for bug #4280.Gravatar Pierre-Marie Pédrot2015-07-28
|
* Fix for bug #4280: "decide equality produces terms that don't compute well".Gravatar Pierre-Marie Pédrot2015-07-28
| | | | | We postpone the rewriting of hypothesis until we actually commit to one branch instead of doing it upfront.
* Make coq-tex aware of lines ending with "}", so as to fix the FAQ.Gravatar Guillaume Melquiond2015-07-28
| | | | | | | | | | | | | | | | This is only a heuristic and it might cause the tool to become awfully confused if a line ends with "}" yet this is not the end of a tactic block. Fixing it would require a full-blown Coq parser inside coq-tex. Example of crazy output: Coq < Goal { True } Coq < 1 subgoal ============================ {True} + {False} Coq < + { False }.
* Reset a dangling proof in the FAQ.Gravatar Guillaume Melquiond2015-07-28
|
* Fixing bug #4281: Better escaping of XML attributes.Gravatar Pierre-Marie Pédrot2015-07-28
|
* ShowScript: as 8.4 w.r.t. unnamed proofs and non tactic vernacs (fix #4308)Gravatar Enrico Tassi2015-07-28
|
* Updating test-suite for #3510.Gravatar Pierre-Marie Pédrot2015-07-28
|
* Tests for bugs #3509 and #3510.Gravatar Pierre-Marie Pédrot2015-07-28
|
* Fixing bug #3509 and #3510 (anomalies in "tactics/term_dnet.ml").Gravatar Pierre-Marie Pédrot2015-07-28
| | | | | | Commit dc438047 was a bit overlooked as it introduced a wrong comparison function on term patterns in dnets. Strangely enough, it seems not to have wreaked havoc that much compared to the severity of the error.
* Use open_utf8_file_in for opening files in the IDE. (Fix bug #2874)Gravatar Guillaume Melquiond2015-07-28
| | | | | | | | File system.ml seemed like a better choice than util.ml for sharing the code, but it was bringing a bunch of useless dependencies to the IDE. There are presumably several other tools that would benefit from using open_utf8_file_in instead of open_in, e.g. coqdoc.
* Test for bug #2243.Gravatar Pierre-Marie Pédrot2015-07-27
|