aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-04instance_name grammar entry isn't globalGaëtan Gilbert
Not needed since we don't allow anonymous Declare Instance anymore (was needed for factorization or some such before that I think)
2019-06-04rewrite.ml: drop the id returned by new_instance earlierGaëtan Gilbert
We never use this id in rewrite.ml so don't bother threading it around.
2019-06-03Apparently unused ssr nonterminalsJim Fehrle
2019-06-03Merge branch 'master' of https://github.com/coq/coqJim Fehrle
2019-06-03Merge PR #10287: Update tutorial plugin to use sigma instad of evd, in ↵Enrico Tassi
keeping with doc recommendations Reviewed-by: gares
2019-06-03Merge PR #10280: Fixed typo in CONTRIBUTING.mdThéo Zimmermann
Reviewed-by: Zimmi48
2019-06-03Merge PR #10277: Remove Show Script (deprecated in 8.10)Théo Zimmermann
Reviewed-by: Zimmi48 Reviewed-by: gares
2019-06-03Merge PR #10261: Update doc to reflect that PG now supports Coq-generated ↵Théo Zimmermann
proof diffs Reviewed-by: Zimmi48 Reviewed-by: cpitclaudel Ack-by: erikmd
2019-06-03Fix affiliation and ordering in CREDITSTalia Ringer
2019-06-03Update tutorial plugin to use sigma, in keeping with doc recommendationsTalia Ringer
2019-06-03Expose set interface to option tablesGaëtan Gilbert
This lets us avoid having to cache the SearchBlacklist.elements call in search as we can just use the set module's for_all function.
2019-06-03Merge PR #10269: Checker: don't use monomorphic universes attached to a constantPierre-Marie Pédrot
Reviewed-by: ppedrot
2019-06-03Update doc to reflect that PG now supports Coq-generated proof diffsJim Fehrle
2019-06-01Adding overlay for elpiHugo Herbelin
2019-06-01Allowing Set to be part of universe expressions.Hugo Herbelin
Conversely, Type existential variables now (explicitly) cover the Set case. Similarly for Prop and SProp.
2019-06-01Towards unifying parsing/printing for universe instances and Type's argument.Hugo Herbelin
We consistently use: - UUnknown: to mean a rigid anonymous universe (written Type in instances and Type as a sort) [was formerly encoded as [] in Type's argument] - UAnonymous: to mean a flexible anonymous universe (written _ in instances and Type@{_} as a sort) [was formerly encoded as [None] in Type's argument] - UNamed: to mean a named universe or universe expression (written id or qualid in instances and Type@{id} or Type@{qualid} or more generally Type@{id+n}, Type@{qualid+n}, Type@{max(...)} as a sort) There is a little change of syntax: "_" in a "max" list of universes (e.g. "Type@{max(_,id+1)}" is not anymore allowed. But it was trivially satisfiable by unifying the flexible universe with a neighbor of the list and the syntax is anyway not documented. There is a little change of semantics: if I do id@{Type} for an abbreviation "id := Type", it will consider a rigid variable rather than a flexible variable as before.
2019-05-31Fixed typo in CONTRIBUTING.mdJose Fernando Lopez Fernandez
2019-05-31Remove Show Script (deprecated in 8.10)Gaëtan Gilbert
2019-05-31Fix #10268: vio2vo produces incorrect term when discharging.Pierre-Marie Pédrot
We do not partially abstract the section info. Instead, we reuse the same code in cook_constr and cook_constant and pass the same section info.
2019-05-30Merge PR #10269: Checker: don't use monomorphic universes attached to a constantPierre-Marie Pédrot
Reviewed-by: ppedrot
2019-05-29Merge PR #10252: Various dynamic assertions and cleanups in opaque typingMaxime Dénès
Reviewed-by: SkySkimmer Reviewed-by: maximedenes Ack-by: ppedrot
2019-05-29Merge PR #10248: Move the Discharge module in the kernel and merge it with ↵Maxime Dénès
Cooking Reviewed-by: SkySkimmer Ack-by: herbelin Reviewed-by: maximedenes Ack-by: ppedrot
2019-05-29Merge PR #10270: Fix debug printersEnrico Tassi
Reviewed-by: gares
2019-05-29Merge PR #10049: [elaboration] Bidirectionality hintsEnrico Tassi
Ack-by: RalfJung Reviewed-by: SkySkimmer Reviewed-by: gares Ack-by: maximedenes
2019-05-29[proofs] Remove unused API [detected by coverage]Emilio Jesus Gallego Arias
We remove unused parts of the API, almost all of them belonging to the legacy engine. This was detected using coverage testing. The list is provisional and should be subject to change, let's see what CI says.
2019-05-28Merge PR #10228: gitlab: run less jobs unless FULL_CI=trueEmilio Jesus Gallego Arias
Ack-by: SkySkimmer Reviewed-by: Zimmi48 Reviewed-by: ejgallego
2019-05-28Fix printers.sh test when missing coqtop.byte, print more infoGaëtan Gilbert
2019-05-28Merge PR #10258: Remove the delayed universe table from object files.Enrico Tassi
Reviewed-by: SkySkimmer Reviewed-by: gares
2019-05-28Fix [Drop. #use "include";;] for indirect_accessorGaëtan Gilbert
2019-05-28[elaboration] Bidirectionality hintsMaxime Dénès
This feature makes it possible to tell type inference to type applications of a global `foo` using typing information from the context once the `n` first arguments are known. The syntax is: `Arguments foo x y | z`. Closes #7910
2019-05-28Same universe constraint fix for the checker.Pierre-Marie Pédrot
2019-05-28Checker: don't use monomorphic universes attached to a constantGaëtan Gilbert
They are supposed to be included in the module's constraints. The old behaviour would allow a crafted vo, using ~~~coq Definition a := Type. Definition b := Type. Definition b_in_a : a := b. Definition a_in_b : b := a. ~~~ with the constraints for b_in_a and a_in_b not included in the module constraints, then a proof of false may be derived in the usual way.
2019-05-28Merge PR #10133: mind_kelim is the highest allowed sort instead of a listPierre-Marie Pédrot
Ack-by: maximedenes Reviewed-by: ppedrot
2019-05-28Tentative alternative fix for #9992.Pierre-Marie Pédrot
We crawl the context in the other direction, preventing the allocation of the return boolean and enhancing sharing. This fast-path is assuming the heuristic that the variable being renamed always appears in the context, otherwise we would be renaming for nothing. It seems to always be the case, due to the way we pick the set of names to be avoided.
2019-05-28Faster renaming of shadowed variables in evar instance creation.Pierre-Marie Pédrot
Instead of blindly renaming the variables in all the terms in the context, we only do so for those appearing after the variable being renamed. By typing, we know that the other ones cannot refer to the variable being replaced. Fixes #9992.
2019-05-28Fix #10264: Singleton class field data is erroneous.Pierre-Marie Pédrot
2019-05-27Remove the delayed universe table from object files.Pierre-Marie Pédrot
This was virtually dead code. The only place really accessing this data was the user pretty-printer, but actually the tables were not installed for vanilla vo files. In practice, that meant that the only case where an access to this table could have been triggered would have been to print a term coming from a vio file, or a vo file generated via vio2vo. In all other cases, the printer would not have displayed the internal universes. While the latter might be considered a bug, I am instead convinced that this notion of user-facing internal universes needs to be handled by another mechanism, the current one making little sense. The fact it was broken all along without anybody noticing proves my point.
2019-05-27Merge PR #10249: More precise type for export and inlining of private constantsMaxime Dénès
Reviewed-by: gares Ack-by: maximedenes
2019-05-27Fix #10251: Type-checking of polymorphic opaque constr entry types is broken.Pierre-Marie Pédrot
We use the right environment.
2019-05-27Specific code path for opaque polymorphic constants.Pierre-Marie Pédrot
For now this is just a specialized version of the previous generic code. This simplifies tracking of the changes.
2019-05-27Ensure dynamically that non-opaque definitions are always side-effect free.Pierre-Marie Pédrot
It is guaranteed by Declare, but a little dynamic check does not hurt.
2019-05-27Ensure dynamically that opaque definitions come with their type.Pierre-Marie Pédrot
The only lawbreaker was the Add Ring command. We generate a type for the declaration to fix the code.
2019-05-27gitlab: run less jobs unless FULL_CI=trueGaëtan Gilbert
The idea is that it's unlikely for only 1 of the test suite copies to fail for a real reason, so we don't need to run all of them. I would prefer to have only 1 build stage job but later stages depend on build:base, build:edge+flambda and build:edge+flambda:dune:dev for non-copy-pasted jobs. I kept corresponding test suite and validate job copies but they could also be filtered.
2019-05-27Overlay for mind_kelim change (#10133)Gaëtan Gilbert
2019-05-27mind_kelim is the highest allowed sort instead of a listGaëtan Gilbert
2019-05-27Merge PR #10241: Update README.md / add SUPPORT.md file.Maxime Dénès
Reviewed-by: maximedenes
2019-05-27Merge PR #10198: Centralize the hashconsing of constant declarations.Maxime Dénès
Reviewed-by: maximedenes
2019-05-27Merge PR #10235: [debug] Print restriction metadata in evar map debug printerPierre-Marie Pédrot
Reviewed-by: ppedrot
2019-05-27Merge PR #10237: Fix some incorrect uses of proof-local environmentPierre-Marie Pédrot
Reviewed-by: gares Reviewed-by: ppedrot
2019-05-27[debug] Print restriction metadata in evar map debug printerMaxime Dénès