| Commit message (Collapse) | Author | Age |
|
|
|
| |
(from module List).
|
|\ |
|
|\ \ |
|
|\ \ \ |
|
| |_|/
|/| |
| | |
| | | |
This was already the case, but the API was not exposing this.
|
|\ \ \ |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
y , z".
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We now only issue an error for locally specified (non)cumulativity
whenever it is the context (set locally or globally) is monorphic.
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
|
| | | | | |
|
| | |/ /
| |/| | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The use of template polymorphism in constants was quite limited, as it
only applied to definitions that were exactly inductive types without any
parameter whatsoever. Furthermore, it seems that following the introduction
of polymorphic definitions, the code path enforced regular polymorphism as
soon as the type of a definition was given, which was in practice almost
always.
Removing this feature had no observable effect neither on the test-suite,
nor on any development that we monitor on Travis. I believe it is safe to
assume it was nowadays useless.
|
| | | |
| | | |
| | | |
| | | | |
This was an easy to prove property that I somehow overlooked.
|
|/ / /
| | |
| | |
| | |
| | | |
We use an algebraic type instead of a pair of a boolean and the corresponding
data. For now, this is isomorphic, but this allows later change in the structure.
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
Since camlp5 parses from left, the last ", z" was parsed as part of an
arbitrary long list of "x1 , .. , xn" and a syntax error was raised
since an extra ", z" was still expected.
We support this by translating "x , .. , y , z" into "x , y , .. , z"
and reassembling the arguments appropriately after parsing.
|
|\ \ |
|
|\ \ \ |
|
|\ \ \ \ |
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We move a bunch of modules (`Impargs`, `Declare`, `Ind_tables`,
`Miscprint`) to their proper place as they were declared in different
`mllib` files than the one in their directory.
In some cases this could be refined but we don't do anything fancy, we
just reflect the status quo.
|
|\ \ \ \ |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
rather than colors
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
I had to slightly tweak a test in order to work around a bug of simpl that
loses universes constraints when refolding polymorphic fixpoints.
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This essentially means storing the abstract universe context in the typeclass
data, and abstracting it when necessary.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We aditionally return the abstract universe context inside the option. This
is relatively painless as most uses were using the option as a boolean.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We return the abstract context instead of an arbitrary instantiation.
|
| | | | | | |
|
| |/ / / /
|/| | | | |
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before this patch, inductive subtyping was enforcing syntactic equality
of the variable instance, instead of reasoning up to alpha-renaming.
|
| |_|/ /
|/| | |
| | | |
| | | |
| | | |
| | | | |
Instead of returning either an instance or the set of constraints, we rather
return the corresponding abstracted context. We also push back all uses of
abstraction-breaking calls from these functions out of the kernel.
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This is usable for no-color terminal.
For instance, a typical application in mind is the Coq-generate names
marker which can be rendered with a color if the interface supports it
and a prefix "~" if the interface does not support colors.
|
| | | |
|
| | | |
|
| |/
|/|
| |
| |
| | |
I.e., do not set local flag to false when in a section since
compatibility tells discharge of hints is not supported.
|
|\ \
| | |
| | |
| | | |
`VernacStartTheoremProof`
|
| | |
| | |
| | |
| | |
| | | |
`VernacStartTheoremProof` contained a stale bool parameter from 15
years ago, which is unused today.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This was (once again) a spurious inter-dependency, that we solve by
introducing a new module with the proper functionality. This helps in
cleaning up the code. Note that no code was changed, other than
removing the setting of the references.
|
|/ /
| |
| |
| | |
These hooks are not used (leftovers?) and IMHO they should not be.
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
This requires to change the status of Inductive (we have also changed
CoInductive and Variant) from keyword to identifier.
|
| | |
|
| |
| |
| |
| | |
Fix a mistake in record declaration
|
| | |
|