Skip to content

Janno/test 21247#2

Draft
Janno wants to merge 151 commits into
skylabs-masterfrom
janno/test-21247
Draft

Janno/test 21247#2
Janno wants to merge 151 commits into
skylabs-masterfrom
janno/test-21247

Conversation

@Janno

@Janno Janno commented Nov 4, 2025

Copy link
Copy Markdown

Benchmark rocq-prover#21247

SkySkimmer and others added 30 commits June 12, 2025 14:08
(cherry picked from commit 1a7d060)
- force printing universes on to avoid printing sort variables as Type
- add quotes
- more intentional break hints and slightly improve wording

Close rocq-prover#20722

(cherry picked from commit ac6e253)
(cherry picked from commit 8001204)
We don't use this script for master so we could also remove this check

(cherry picked from commit 1641e74)
ie `let x := @y in '($hyp:x)` is equivalent to `'&y`

(cherry picked from commit 882f14d)
(cherry picked from commit d3976ee)
This prevents rocqtop to display many warnings in the refman.

(cherry picked from commit 4c59526)
(cherry picked from commit 84cdbd3)
yannl35133 and others added 26 commits September 5, 2025 15:18
(cherry picked from commit a0ffec9)
…ning.

The previous code was only substituting the inner delta resolvers and ignoring
the codomain of functors. In particular this was generating ill-formed constants
whose canonical component was pointing to a bound name that did not exist in the
global environment. We fix the code by also substituting the codomain of module
bodies. This is actually in line with what we do in the related function
strengthen_and_subst_module_body, where we were also correctly substituting the
codomain.

This is a quite old soundness bug that was also affecting the checker. It seems
to have been introduced by c5b699f by an oversight when refactoring tricky code.

Fixes rocq-prover#21051: Unsoundness with heavy module machinery.

(cherry picked from commit daa20b9)
(cherry picked from commit 56bbb9b)
(cherry picked from commit 7019882)
The other URLs are still using "coq" in 9.1 but not in master
With corelib being small now, there is no real point in trying to
build just the prelude instead of world. Consequently these scripts
have become unmaintained (in my experience) and are not worth keeping.
There is no real point in exposing this implementation detail, all callers
immediately evaluate the resulting thunk.
We leverage the fact that a ~> unit -> b ≅ a -> b where ~> stands
for a hypothetical pure arrow type. This allows replacing all
instances of the NonLogical.t monad in the logic monad type with
basically nothing, leaving effects implicits in the rightmost
arrow type. Since all clients evaluate the thunk directly, the
new code should be equivalent to the previous one.

Actually, it may even be more correct given that we already
implicitly use the function space in the monadic bind operator
to perform side-effects.
@github-actions

This comment was marked as outdated.

@github-actions

This comment was marked as outdated.

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

Successfully merging this pull request may close these issues.