Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

does not compile with Coq 8.20 release candidate 1 #22

Open
rmatthes opened this issue Jul 1, 2024 · 6 comments
Open

does not compile with Coq 8.20 release candidate 1 #22

rmatthes opened this issue Jul 1, 2024 · 6 comments

Comments

@rmatthes
Copy link
Member

rmatthes commented Jul 1, 2024

In CI, it was visible that Coq dev (an alpha version of Coq 8.21) does not compile this satellite, but it is even worse.

@nmvdw
Copy link
Collaborator

nmvdw commented Jul 1, 2024

What is the error for Coq 8.20?

@rmatthes
Copy link
Member Author

rmatthes commented Jul 1, 2024

The first error message is:

coqc SetHITs/code/prelude/imports.{glob,vo} (exit 1) File "./SetHITs/code/prelude/imports.v", line 3, characters 0-43: Error: Universe inconsistency. Cannot enforce UU.u0 <= PartA.cast.u1 because PartA.cast.u1 <= PartA.cast.u0 < UU.u0.

@nmvdw
Copy link
Collaborator

nmvdw commented Jul 1, 2024

So, UniMath (and most satellites) are compiled using type-in-type, but SetHITs and Type Theory are not. The error happens in the import file: the only thing that happens here, is that files from UniMath are imported. As such, there are only 2 solutions:

  • make SetHITs and TypeTheory depend on type-in-type
  • remove type-in-type from UniMath

@rmatthes
Copy link
Member Author

rmatthes commented Jul 1, 2024

So, this means that, previously, a development that did not by itself require type-in-type, could import libraries that needed it but that the extra compilation could be marked as harmless - by not requiring type-in-type.

Why did this work for nearly all the time when 8.20 was still under development? And why no longer?

@nmvdw
Copy link
Collaborator

nmvdw commented Jul 1, 2024

I don't know.

@rmatthes
Copy link
Member Author

rmatthes commented Jul 2, 2024

I just made a test compilation with Coq 8.20rc1 where I added -type-in-type as first argument to flags in the file SetHITs/code/dune. It compiles with PR 1900. There is quite a number of warnings, mostly about notation, but also

Warning: Automatically putting mod2_ax in Prop even though it was declared
with Type.
Unset Automatic Proposition Inductives to prevent this (it will become the
default in a future version).
If you instead put mod2_ax explicitly in Prop, set Dependent Proposition
Eliminators around the declaration for full backwards compatibility.
[automatic-prop-lowering,deprecated-since-8.20,deprecated,default]

and analogously with File "./SetHITs/code/examples/truncation.v", line 28, characters 2-66

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants