| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
| |
Lintian found some spelling errors in the Debian packaging for coq. Fix
them most places they appear in the current source. (Don't change
documentation anchor names, as that would invalidate external
deeplinks.)
This also fixes a bug in coqdoc: prior to this commit, coqdoc would
highlight `instanciate` but not `instantiate`.
|
|\ |
|
| |
| |
| |
| | |
Catched by compiling the ml files from ml4.
|
| |
| |
| |
| |
| | |
This is much more efficient than using Nativevalues.is_accu function which
incurs a lot of irrelevant checks on its argument.
|
| | |
|
|/
|
|
|
| |
No need to roll up a new data structure when Environment has O(log n) add
and lookup of rel definitions.
|
|
|
|
|
|
|
| |
The function is defined with a typo but called with the same env that
is mistakenly not shadowed.
An alternative to this commit would be to fix the typo.
|
|
|
|
| |
Unused since d95306323 (remove template polymorphic definitions).
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Unused since fe1979bf47951352ce32a6709cb5138fd26f311d.
I'm not sure if it was actually used back then since I didn't look at
the function it was passed to.
|
|\
| |
| |
| | |
constr in Constr
|
| | |
|
| |
| |
| |
| | |
It's a bit shorter and more direct.
|
| | |
|
|\ \ |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
This shall eventually allow to use contexts of declarations in the
definition of the "Case" constructor.
Basically, this means that Constr now includes Context and that the
"t" types of Context which were specialized on constr are not defined
in Constr (unfortunately using a heavy boilerplate).
|
|\ \ |
|
| | | |
|
| |/
|/|
| |
| | |
Was revealing a critical bug in VM universe handling introduced in 8.5.
|
|\ \ |
|
| |/
|/| |
|
|\ \
| | |
| | |
| | | |
subtyping.
|
| |/
|/|
| |
| |
| |
| | |
Not sure it could have led to a soundness bug, but this is definitely
serious enough to deserve a backport. Also made the code robust by
listing all the constructors.
|
|\ \ |
|
|\ \ \
| | | |
| | | |
| | | | |
kernel typing.
|
| | | |
| | | |
| | | |
| | | | |
Upper layers are still not able to handle mutual records though.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This brings more compatibility with handling of mutual primitive records
in the kernel.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a first step towards the acceptance of mutual record types in the
kernel.
|
|\ \ \ \ |
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When inferring [u <= v+k] I replaced the exception and instead add
[u <= v]. This is trivially sound and it doesn't seem possible to have
the one without the other (except specially for [Set <= v+k] which was
already handled).
I don't know an example where this used to fail and now succeeds (the
point was to remove an anomaly, but the example
~~~
Module Type SG. Definition DG := Type. End SG.
Module MG : SG. Definition DG := Type : Type. Fail End MG.
~~~
now fails with universe inconsistency.
Fix #7695 (soundness bug!).
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Not sure if worth using in other places.
|
| |_|_|_|/
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There's probably a proof of false using subtyping if someone wants to
look.
NB: the checker doesn't handle algebraics on the right.
|
|\ \ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This eliminates 3 uses of Obj from TCB.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This was completely wrong, such a term could not even be type-checked by
the kernel as it was internally using a match construct over a negative
record. They were luckily only used in upper layers, namley printing
and extraction.
Recomputing the projection body might be costly in detyping, but this only
happens when the compatibility flag is turned on, which is not the default.
Such flag is probably bound to disappear anyways.
Extraction should be fixed though so as to define directly primitive
projections, similarly to what has been done in native compute.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This field was not used inside the kernel and not used in
performance-critical code where caching is essential, so we extrude
the code that computes it out of the kernel.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This reduces kernel bloat and removes code from the TCB, as compatibility
projections are now retypechecked as normal definitions would have been.
This should have no effect on efficiency as this only happens once at
definition time.
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This field used to signal that a constant was the compatibility
eta-expansion of a primitive projections, but since a previous cleanup in
the kernel it had become useless.
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We untangle the implementation in several ways.
- No higher-order self argument function as there is only one caller.
- Compute composition of lifts + substitution on terms using a dedicated
function instead of mk_clos followed by to_constr.
- Take more advantage of identity substitutions.
|
|\ \ \ \ |
|
|\ \ \ \ \ |
|
|\ \ \ \ \ \ |
|
| | | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The renaming is internal only. I believe the name reloc is legacy and
a bit confusing now that the structure contains a full compilation
environment.
|
| |_|/ / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
There is no need to expand a primitive projection with the section
parameters and universes, for one good reason: they are never applied
neither to parameters nor universe instances.
|