aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-08-14Move type_scope into user space, fix some output logsJason Gross
2015-08-14Revert commit 18796b6aea453bdeef1ad12ce80eeb220bf01e67, close 3080Jason Gross
This reverts 18796b6aea453bdeef1ad12ce80eeb220bf01e67 (Slight change in the semantics of arguments scopes: scopes can no longer be bound to Funclass or Sortclass (this does not seem to be useful)). It is useful to have function_scope for, e.g., function composition. This allows users to, e.g., automatically interpret ∘ as morphism composition when expecting a morphism of categories, as functor composition when expecting a functor, and as function composition when expecting a function. Additionally, it is nicer to have fewer special cases in the OCaml code, and give more things a uniform syntax. (The scope type_scope should not be special-cased; this change is coming up next.) Also explicitly define [function_scope] in theories/Init/Notations.v. This closes bug #3080, Build a [function_scope] like [type_scope], or allow [Bind Scope ... with Sortclass] and [Bind Scope ... with Funclass] We now mention Funclass and Sortclass in the documentation of [Bind Scope] again.
2015-08-13report the full module path when reporting errors in coqdepGregory Malecha
2015-08-05Merge branch 'v8.5'Pierre-Marie Pédrot
2015-08-05Description addedGuillaume Claret
2015-08-05Simpler titlesGuillaume Claret
2015-08-05README in MarkDownGuillaume Claret
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