Zulip Chat Archive
Stream: new members
Topic: Coercion between universe levels
Coleton Kotch (Jul 19 2024 at 19:49):
Given x : Type u
I assume we should be able to get an associated x' : Type (u + 1)
.
This came up as I am looking at constructing a functor into Cat as follows,
def subobjectPresheaf [Limits.HasPullbacks C] : Functor Cᵒᵖ Cat.{u,v} where
obj X := by
letI := Cat.of <| Subobject X.unop
--exact this
sorry
map f := sorry
uncommenting 'exact this', gives the following error:
type mismatch
this
has type
Cat : Type ((max u v) + 1)
but is expected to have type
Cat : Type (max (v + 1) v (u + 1))
This should not require being able to move up Type levels though as max (v + 1) v (u + 1) = (max u v) + 1, should hold unless I misunderstand some subtlety., but I am still curious if such an embedding exists.
The commented out subobjectPresheaf' does work, though I have not yet added simp lemmas to for aseop cat to check functoriality. I thought that a functor into Cat would be nice to have though given it would remember the functoriality of morphisms.
Adam Topaz (Jul 19 2024 at 19:52):
Coleton Kotch (Jul 19 2024 at 19:53):
Adam Topaz said:
Thanks!
Last updated: May 02 2025 at 03:31 UTC