aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-15Fixing richpp behaviour w.r.t. its specification.Pierre-Marie Pédrot
Contrarily to what was described in the API, nodes without annotations were not ignored by the printer but left there instead.
2015-08-13report the full module path when reporting errors in coqdepGregory Malecha
2015-08-03Test file for #4254: Mutual inductives with parameters on Type raises anomaly.Maxime Dénès
2015-08-02Continuing 817308ab (use ltac env for terms in ltac context) + fixHugo Herbelin
of syntax in test file ltac.v.
2015-08-02Fixing test apply.v (had wrong option name).Hugo Herbelin
2015-08-02Fixing pop_rel_context.Hugo Herbelin
This is necessary for the patch for #4221 (817308ab5) to work.
2015-08-02Reverting 16 last commits, committed mistakenly using the wrong push command.Hugo Herbelin
Sorry so much. Reverted: 707bfd5719b76d131152a258d49740165fbafe03. 164637cc3a4e8895ed4ec420e300bd692d3e7812. b9c96c601a8366b75ee8b76d3184ee57379e2620. 21e41af41b52914469885f40155702f325d5c786. 7532f3243ba585f21a8f594d3dc788e38dfa2cb8. 27fb880ab6924ec20ce44aeaeb8d89592c1b91cd. fe340267b0c2082b3af8bc965f7bc0e86d1c3c2c. d9b13d0a74bc0c6dff4bfc61e61a3d7984a0a962. 6737055d165c91904fc04534bee6b9c05c0235b1. 342fed039e53f00ff8758513149f8d41fa3a2e99. 21525bae8801d98ff2f1b52217d7603505ada2d2. b78d86d50727af61e0c4417cf2ef12cbfc73239d. 979de570714d340aaab7a6e99e08d46aa616e7da. f556da10a117396c2c796f6915321b67849f65cd. d8226295e6237a43de33475f798c3c8ac6ac4866. fdab811e58094accc02875c1f83e6476f4598d26.
2015-08-02Hconsing continuedHugo Herbelin
2015-08-02Fixing test apply.v (had wrong option name).Hugo Herbelin
2015-08-02Fixing pop_rel_contextHugo Herbelin
2015-08-02Documenting in passing.Hugo Herbelin
2015-08-02Hopefully clearer printing of stack when debugging evarconv unification.Hugo Herbelin
2015-08-02Failing when reaching end of file with unterminated comment whenHugo Herbelin
parsing Make (project) file.
2015-08-02Cosmetic changes in evarconv.ml: hopefully more regular names and formHugo Herbelin
of arguments of eta_constructor.
2015-08-02Cosmetic changes in evarconv.ml: hopefully more regular form andHugo Herbelin
naming of arguments of eta.
2015-08-02Cosmetic changes in evarconv.ml: hopefully using better self-documenting names.Hugo Herbelin
2015-08-02Evarconv.ml: small cut-elimination, saving useless zip.Hugo Herbelin
2015-08-02Cosmetic in evarconv.ml: naming a local function for better readibility.Hugo Herbelin
2015-08-02Adding a notation { x & P } for { x : _ & P }.Hugo Herbelin
2015-08-02A patch renaming equal into eq in the module dealing withHugo Herbelin
hash-consing, so as to avoid having too many kinds of equalities with same name.
2015-08-02Adding eq/compare/hash for syntactic view atHugo Herbelin
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.
2015-08-02Give a way to control if the decidable-equality schemes are built likeHugo Herbelin
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).
2015-08-02Removing the generalization of the body of inductive schemes fromHugo Herbelin
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.
2015-08-02Fixing #4221 (interpreting bound variables using ltac env was possiblyHugo Herbelin
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
2015-08-02Granting Jason's request for an ad hoc compatibility option onHugo Herbelin
considering trivial unifications "?x = t" in tactics working under conjunctions (see #3545). Also updating and fixing wrong comments in test apply.v.
2015-08-02Documenting change of behavior of apply when the lemma is a tuple andHugo Herbelin
applying a component of the tuple.
2015-08-02For convenience, making yes and on, and no and off synonymous inHugo Herbelin
command line. Documenting only the former for simplicity and uniformity with predating option -with-geoproof.
2015-07-31Fix typos in the Extraction part of the reference manual.Guillaume Melquiond
In particular, fix the name of all the user contributions.
2015-07-31Fix typos in the Micromega part of the reference manual.Guillaume Melquiond
2015-07-31Improve the table of content of the reference manual.Guillaume Melquiond
Also remove AsyncProofs.tex from the list of preprocessed files, as it is doubtful it will ever contains Coq scripts.
2015-07-31Remove some outdated files and fix permissions.Guillaume Melquiond
2015-07-30Followup of 9f81b58551.Pierre-Marie Pédrot
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.
2015-07-30STM: make multiple, admitted, nested proofs work (fix #4314)Enrico Tassi
2015-07-30STM: emit a warning when a QED/Admitted proof contains a nested lemmaEnrico Tassi
2015-07-30STM: fix backtrack in presence of nested, immediate, proofsEnrico Tassi
2015-07-30STM: remove assertion not being true for nested, immediate, proofs (#4313)Enrico Tassi
2015-07-30Test file for bug #4289 (buggy hash-consing of kernel name pairsHugo Herbelin
breaking backtracking in the presence of functors). In "interactive" rather than "bugs" because of the use of Back.
2015-07-30Fixing bug #4289 (hash-consing only user part of constant notHugo Herbelin
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).
2015-07-30A printer for printing constants of the env (maybe useful when there are not ↵Hugo Herbelin
too many of them).
2015-07-30Avoid suggesting elim and decompose in the FAQ.Guillaume Melquiond
2015-07-30Remove some output of Qed in the FAQ.Guillaume Melquiond
2015-07-30Fix some broken Coq scripts in the documentation.Guillaume Melquiond
2015-07-30Fix width of underscore in coq_tex output.Guillaume Melquiond
2015-07-30Fix broken regexp.Guillaume Melquiond
Characters do not need to be escaped in character ranges. It just had the effect of matching backslashes four times.
2015-07-30Remove unused variables.Guillaume Melquiond
2015-07-30Remove usage of Printexc.catch in the tools, as it is deprecated since 2001.Guillaume Melquiond
"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."
2015-07-29Make coq-tex more robust with respect to the (non-)command on the last line.Guillaume Melquiond
2015-07-29Remove empty commands from the output of coq-tex.Guillaume Melquiond
2015-07-29Improve the FAQ a bit.Guillaume Melquiond
2015-07-29Rewrite the main loop of coq-tex.Guillaume Melquiond
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.