aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-29Merge PR #9066: [parsing] Move pcoq-specific parts in extend to pcoq.Pierre-Marie Pédrot
Reviewed-by: ppedrot
2019-08-29Merge PR #10703: Make Bool.eqb_spec transparentHugo Herbelin
Reviewed-by: herbelin Reviewed-by: ppedrot
2019-08-29Merge PR #10643: [glob/aux files] Remove undocumented Stdout dump, cleanup ↵Hugo Herbelin
flags. Ack-by: SkySkimmer Ack-by: gares Reviewed-by: herbelin
2019-08-29Fix a few wrong uses of `msg_notice`Maxime Dénès
2019-08-29Make sure that all query commands return a notice (not an info) feedbackMaxime Dénès
As documented in the feedback API.
2019-08-29Remove wrong advice to base feedback level choice on encoding issuesMaxime Dénès
2019-08-29Logic monad debug printer now emits a debug messageMaxime Dénès
2019-08-28Merge PR #10488: Simplify picking between uint63_63.ml and uint63_31.ml + ↵Enrico Tassi
makefile fixes Reviewed-by: ejgallego Reviewed-by: vbgl
2019-08-28Merge PR #10646: Recommend assigning an issue before fixing a bug.Emilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-08-28Merge PR #10709: Add missing entry to the contributing guide TOC.Emilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-08-27[ci] Update to OCaml 4.08.1Emilio Jesus Gallego Arias
2019-08-27[declare] Use entry constructor instead of low-level record.Emilio Jesus Gallego Arias
Non-delayed entries can be done with the current constructor, delayed ones will require more work.
2019-08-27Merge PR #10680: Tauto: use Coqlib to locate “not” and “NNPP”Pierre-Marie Pédrot
Reviewed-by: ppedrot
2019-08-27[declare] Move proof_entry type to declare, put interactive proof data on ↵Emilio Jesus Gallego Arias
top of declare. This PR is a follow up to #10406 , moving the then introduced `proof_entry` type to `Declare`. This makes sense as `Declare` is the main consumer of the entry type, and already provides the constructors for it. This is a step towards making the entry type private, which will allow us to enforce / handle invariants on entry data better. A side-effect of this PR is that now `Proof_global` does depend on `Declare`, not the other way around, but that makes sense given that closing an interactive proof will be a client of declare. Indeed, all `Declare` / `Pfedit` / and `Proof_global` are tied into tactics due to `abstract`, at some point we may be able to unify all them into a single file in `vernac`.
2019-08-27[cleanup] Replace uses of UserError constructor, clarify exception names.Emilio Jesus Gallego Arias
We replace some uses of `raise (UserError ...)` with `CErrors.user_err`, ideally we would like to make the error raising API not depend on the exception themselves, but that's still a long way to go. We also rename the `Timeout` exception as to clarify purpose in the codebase, given that it has 3 different ones as of today. cc: #7560
2019-08-27Merge PR #10635: [funind] Port indfun to the new tactic engine.Pierre-Marie Pédrot
Reviewed-by: ppedrot
2019-08-27Add missing entry to the contributing guide TOC.Théo Zimmermann
And add links to UI in the browser.
2019-08-26Test-suite fixes from HugoMatthieu Sozeau
2019-08-26Document `Template Check` flag and add changelog entry for 9918Matthieu Sozeau
Fix changelog entry Fix build of the user manual Markup fixes from Théo Zimmermann Update doc and changelog and improve error messages.
2019-08-26Make kernel parametric on the lowest universe and fix #9294Matthieu Sozeau
This could be Prop (for compat with usual Coq), Set (for HoTT), or actually an arbitrary "i". Take lower bound of universes into account in pretyping/engine Reinstate proper elaboration of SProp <= l constraints: replacing is_small with equality with lbound is _not_ semantics preserving! lbound = Set Elaborate template polymorphic inductives with lower bound Prop This will make more constraints explicit Check univ constraints with Prop as lower bound for template inductives Restrict template polymorphic universes to those not bounded from below Fixes #9294 fix suggested by Matthieu Try second fix suggested by Matthieu Take care of modifying elaboration for record declarations as well. Rebase and export functions for debug Remove exported functions used while debugging Add a new typing flag "check_template" and option "-no-template-checl" This parameterizes the new criterion on template polymorphic inductives to allow bypassing it (necessary for backward compatibility). Update checker to the new typing flags structure Switch on the new template_check flag to allow old unsafe behavior in indTyping. This is the only change of code really impacting the kernel, together with the commit implementing unbounded from below and parameterization by the lower bound on universes. Add deprecated option `Unset Template Check` allowing to make proof scripts work with both 8.9 and 8.10 for a while Fix `Template Check` option name and test it Add `Unset Template Check` to Coq89.v Cooking of inductives and template-check tests Cleanup test-suite file for template check / universes(template) flags cookind tests Move test of `Unset Template Check` to the failure/ dir, but comment it for now Template test-suite test explanation Overlays for PR 9918 Overlay for paramcoq Add overlay for fiat_parsers (-no-template-check) Add overlay for fiat_crypto_legacy Update fiat-crypto legacy overlay Now it points at the version that I plan on merging; I am hoping that doing this will guard against mistakes by adding an extra check that the target tested by Coq's CI on this branch works with the change I made. Remove overlay that should no longer be necessary The setting in the compat file should handle it Remove now-merged fiat-crypto-legacy overlay Update `Print Assumptions` to reflect the typing flag for template checking Fix About and Print Assumptions for template poly, giving info on which variables are actually polymorphic Fix pretty printing to print global universe levels properly Fix printing of template polymorphic universes Fix pretty printing for template polymorphism on no universe Fix interaction of template check and universes(template) flag Fix indTyping to really check if there is any point in polymorphism: the conclusion sort should be parameterized over at least one local universe Indtyping fixes for template polymorphic Props Allow explicit template polymorphism again Adapt to new indTyping interface Handle the case of template-polymorphic on no universes correctly (morally Type0m univ represented as Prop). Fix check of meaningfullness of template polymorphism in the kernel. It is now done w.r.t the min_univ, the minimal universe inferred for the inductive/record type, independently of the user-written annotation which must only be larger than min_univ. This preserves compatibility with UniMath and template-polymorphism as it has been implemented up-to now. Comment on identity non-template-polymorphism Remove incorrect universes(template) attributes from ssr simpl_fun can be meaningfully template-poly, as well as pred_key (although the use is debatable: it could just as well be in Prop). Move `fun_of_simpl` coercion declaration out of section to respect uniform inheritance Remove incorrect uses of #[universes(template)] from the stdlib Extraction of micromega changes due to moving an ind decl out of a section Remove incorrect uses of #[universes(template)] from plugins Fix test-suite files, removing incorrect #[universes(template)] attributes Remove incorrect #[universes(template)] attributes in test-suite Fix test-suite Remove overlays as they have been merged upstream.
2019-08-26Tauto: use Coqlib to locate “not” and “NNPP”Vincent Laporte
2019-08-26Merge PR #10677: coqchk: Cleanup environment manipulation in ↵Pierre-Marie Pédrot
check_constant_declaration Reviewed-by: ppedrot
2019-08-26Merge PR #10696: [lib] [future] Small cleanup of ununsed functions.Pierre-Marie Pédrot
Reviewed-by: gares Reviewed-by: ppedrot
2019-08-26[glob/aux files] Remove undocumented Stdout dump, cleanup flags.Emilio Jesus Gallego Arias
Fixes #10640 We remove the `StdOut` dump target, so now dump will only happen if a file is specified. Indeed, we make the default no to dump, and enable dump only in coqc, moving the option to the `Coqcargs` module. No need for a changes entry as this feature was undocumented, and no use case was given when introduced. Output to feedback must be explicitly enabled by clients / coqidetop, and we have thus also removed the undocumented option `-feedback-glob`.
2019-08-26[lib] [future] Small cleanup of ununsed functions.Emilio Jesus Gallego Arias
2019-08-25Make Bool.eqb_spec transparentTej Chajed
2019-08-25Changed chmod -w to chmod a-w to avoid error on cygwinMichael Soegtrop
2019-08-25Merge PR #10632: Prove the completeness of real numbers from logical axiom ↵Hugo Herbelin
sig_not_dec Reviewed-by: herbelin
2019-08-24saner cond_flags in makefileGaëtan Gilbert
2019-08-24Simplify picking between uint63_63.ml and uint63_31.mlGaëtan Gilbert
- remove the architecture component (we don't do anything arch-specific so it was just a rewording of int_size) - have configure tell the make build system about int_size instead of reimplementing cp As a bonus, add the copyright header to uint63.mli.
2019-08-24[gitlab/ci] Prevent Corn from running if Bignums has failed.Théo Zimmermann
The needs keyword needs to include all the transitive dependencies. Otherwise, we risk stage-3 being skipped but stage-4 being run as in https://gitlab.com/coq/coq/pipelines/78119475. The reason why we don't need to include bignums in the dependencies of corn is because the artifact for math-classes is the directory where both bignums and math-classes were built.
2019-08-24Merge PR #10698: [dune] Migrate static Dune files to Dune 1.10Théo Zimmermann
Reviewed-by: Zimmi48
2019-08-24[dune] Migrate static Dune files to Dune 1.10Emilio Jesus Gallego Arias
This improves error reporting. Addendum to #10515
2019-08-23[lemmas] Cleanup users of default proof information.Emilio Jesus Gallego Arias
We remove calls of `Lemmas.Info.make` that where using the default parameters, as this is mostly dead code now. This brings into question quite a few things, in particular, the uneven support of `scope` attributes by different commands / plugins. We don't attempt to solve that yet, hopefully the ongoing constant saving path refactoring will be able to take care of these inconsistencies.
2019-08-23coqchk: Cleanup environment manipulation in check_constant_declarationGaëtan Gilbert
Instead of doing (simplified code) ~~~ocaml let check env kn cb = let flags = env.flags in let env' = set_flags env cb.flags in ... let env = add_constant cb kn (if poly then env else env') in set_flags env flags ~~~ (NB: when not poly env' has only the typing flags different from env) we do ~~~ocaml let check env kn cb = let env = set_flags env cb.flags in ... () let check env kn cb = let () = check env kn cb in add_constant cb kn env ~~~
2019-08-23Merge PR #10686: DAG-style pipelinesGaëtan Gilbert
Reviewed-by: SkySkimmer
2019-08-23Merge PR #10665: [api] Move handling of variable implicit data to impargsGaëtan Gilbert
Reviewed-by: SkySkimmer
2019-08-23[gitlab/ci] Rework stages, always use needs keyword.Théo Zimmermann
Now everything that does not have any dependencies goes to the first stage. The rest goes to the first stage following all its dependencies. All jobs specifying a dependencies keyword also specify a needs keyword.
2019-08-23Merge PR #10691: [doc] Fix documentation of schedule-vioThéo Zimmermann
Reviewed-by: Zimmi48
2019-08-23Create a maintainer team for the contributing process files.Théo Zimmermann
2019-08-23[doc] Fix documentation of schedule-vioEmilio Jesus Gallego Arias
Master version of the fix for #10679
2019-08-22[gitlab/ci] Do not wait for all builds to finish to run the tests.Théo Zimmermann
2019-08-22[gitlab/ci] Build Bignums only once.Théo Zimmermann
We go back to the kind of workflow we had in CircleCI thanks to GitLab 12.2 new needs keyword.
2019-08-22[gitlab/ci] Deploy sooner thanks to new needs keyword.Théo Zimmermann
2019-08-22Merge PR #10515: [dune] Move to Dune 1.10, use coq.pp directive.Théo Zimmermann
Reviewed-by: Zimmi48 Reviewed-by: vbgl
2019-08-22Merge PR #9062: Delay the computation of frozen evars in legacy unification.Matthieu Sozeau
Reviewed-by: mattam82
2019-08-22[dune] Move to Dune 1.10, use coq.pp directive.Emilio Jesus Gallego Arias
We use the `(coq.pp ...)` dune directive which will produce correct error messages for `.mlg` files. Unfortunately we cannot yet use the automatic opam generation features of Dune 1.10, as this does require a fully native Dune build. Dune 1.6-1.10 has quite a few other improvements that could be used by Coq, for example for promote modes. I have fixed a couple of documentation issues. `Drop` and `ocamldebug` have been tested in this version.
2019-08-21Merge PR #10678: [ci] Remove dead code.Emilio Jesus Gallego Arias
Reviewed-by: ejgallego
2019-08-21Merge PR #10666: [api] Move `Keys` to pretypingEnrico Tassi
Reviewed-by: gares Reviewed-by: ppedrot
2019-08-20[ci] Remove dead code.Théo Zimmermann
TLC and CPDT are not actually tested. No point in keeping them as if they were.