<feed xmlns='http://www.w3.org/2005/Atom'>
<title>coq/test-suite/coqchk, branch master</title>
<subtitle>The formal proof system</subtitle>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/'/>
<entry>
<title>Make kernel parametric on the lowest universe and fix #9294</title>
<updated>2019-08-26T14:21:31+00:00</updated>
<author>
<name>Matthieu Sozeau</name>
</author>
<published>2019-01-29T14:44:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=eb3f8225a286aef3a57ad876584b4a927241ff69'/>
<id>eb3f8225a286aef3a57ad876584b4a927241ff69</id>
<content type='text'>
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 &lt;= 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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;= 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.
</pre>
</div>
</content>
</entry>
<entry>
<title>coqchk: fix check for kelim with functors</title>
<updated>2018-12-19T11:43:23+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2018-12-19T11:43:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=d3d142f406239b6e528d27454d1b3f4e3d6fd4ea'/>
<id>d3d142f406239b6e528d27454d1b3f4e3d6fd4ea</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>checker: check inductive types by roundtrip through the kernel.</title>
<updated>2018-12-12T15:27:12+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2018-11-20T13:42:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=0f3c1f242ec824a5772c47de61a6cddebe2ee8c8'/>
<id>0f3c1f242ec824a5772c47de61a6cddebe2ee8c8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #8937: inductive conversion in coqchk subtyping</title>
<updated>2018-11-23T12:21:59+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2018-11-14T14:26:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=8a9d0ab4b5469f3042f4dbd32e7fde3294b5e8de'/>
<id>8a9d0ab4b5469f3042f4dbd32e7fde3294b5e8de</id>
<content type='text'>
As far as I can tell this is similar to what coqtop does. Delta
resolvers are complicated so I may be mistaken.

The important part is to avoid losing the modified delta resolver
returned by strengthen_and_subst in check_mexpr.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As far as I can tell this is similar to what coqtop does. Delta
resolvers are complicated so I may be mistaken.

The important part is to avoid losing the modified delta resolver
returned by strengthen_and_subst in check_mexpr.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge PR #8874: Fix #8873: coqchk on inductive with letin parameter</title>
<updated>2018-11-05T10:59:27+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2018-11-05T10:59:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=62c75af6595fc31ec076b1bedfae62f652eda05e'/>
<id>62c75af6595fc31ec076b1bedfae62f652eda05e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge PR #8882: Fix #8881: validate fails to use inductive equivalence in case_info</title>
<updated>2018-11-05T10:57:27+00:00</updated>
<author>
<name>Pierre-Marie Pédrot</name>
</author>
<published>2018-11-05T10:57:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=3c8e41cb39647b8d8cd6cb9ecd6bb887a3aedfb7'/>
<id>3c8e41cb39647b8d8cd6cb9ecd6bb887a3aedfb7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #8881: validate fails to use inductive equivalence in case_info</title>
<updated>2018-10-31T13:30:24+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2018-10-31T13:29:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=a6c1292b72cebf3d34a0e6a2da256e83e346dacc'/>
<id>a6c1292b72cebf3d34a0e6a2da256e83e346dacc</id>
<content type='text'>
See also 55dbe8e2fa7ed2053ecd54140f6bcbdf31981e0b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
See also 55dbe8e2fa7ed2053ecd54140f6bcbdf31981e0b
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #8876: expected number of arguments for cumulative constructors</title>
<updated>2018-10-31T13:07:06+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2018-10-31T13:00:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=baa8812294d48bf9d0e6e62a39440e9ffb2b93e2'/>
<id>baa8812294d48bf9d0e6e62a39440e9ffb2b93e2</id>
<content type='text'>
ee573583701c8e53e8b82978998a9df93170cd79 ported to the checker.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
ee573583701c8e53e8b82978998a9df93170cd79 ported to the checker.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #8873: coqchk on inductive with letin parameter</title>
<updated>2018-10-31T12:36:13+00:00</updated>
<author>
<name>Gaëtan Gilbert</name>
</author>
<published>2018-10-31T12:33:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=6da464438366b2b5d752b44536b2bedac2a34187'/>
<id>6da464438366b2b5d752b44536b2bedac2a34187</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[ocaml] Update required OCaml version to 4.05.0</title>
<updated>2018-09-26T14:44:04+00:00</updated>
<author>
<name>Emilio Jesus Gallego Arias</name>
</author>
<published>2018-05-15T02:25:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.0x7felf.com/coq/commit/?id=ef3fa51c12c450781facb61f54f465a77a359f83'/>
<id>ef3fa51c12c450781facb61f54f465a77a359f83</id>
<content type='text'>
Closes #7380. Ubuntu 18.04 and Debian Buster will ship this OCaml
version so it makes sense we bump our dependency to 4.05.0 as we can
use some newer compiler features.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Closes #7380. Ubuntu 18.04 and Debian Buster will ship this OCaml
version so it makes sense we bump our dependency to 4.05.0 as we can
use some newer compiler features.
</pre>
</div>
</content>
</entry>
</feed>
