Zulip Chat Archive
Stream: lean4
Topic: empty universe levels
Arthur Paulino (Jun 23 2022 at 12:41):
Hi! We have the following axiom in the environment:
unsafe axiom min._at.List.minimum?._spec_1 [] : forall (α : Type.{u}) (inst._@.Init.Data.List.Basic._hyg.5374 : LE.{u} α), (DecidableRel.{succ u} α (LE.le.{u} α inst._@.Init.Data.List.Basic._hyg.5374)) -> α -> α -> α
My question is related to the universe levels for this axiom. The []
means that (val : AxiomVal).levelParams
is empty. But then how can Lean know what Type.{u}
is if u
is not available?
Leonardo de Moura (Jun 23 2022 at 12:46):
This is an auxiliary declaration created by the code generator. Note that it is marked as unsafe
, and we are not checking universes at this point of the compilation.
Arthur Paulino (Jun 23 2022 at 12:49):
I see, thanks!
What's the role of an unsafe
declaration like this?
Sebastian Ullrich (Jun 23 2022 at 12:58):
It is essentially an IR cache
Last updated: Dec 20 2023 at 11:08 UTC