Skip to content

Universe checking state gets confused when locally changed in module #22287

Description

@SkySkimmer
Universes u v.

Constraint u < v.

(* also happens with Module Type *)
Module Off.
  Local Unset Universe Checking.
End Off.
Test Universe Checking. (* on *)

From Stdlib Require Import Hurkens.

Lemma bad : False.
Proof.
  eapply TypeNeqSmallType.paradox; reflexivity.
Defined.

Print Assumptions bad.
(* closed under the global context *)

This happens because ugraph contains a copy of the flag which gets out of sync when closing the module.

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind: inconsistencyProof of False accepted by the kernel and/or checker.part: modulesThe module system of Coq.part: universesThe universe system.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions