diff --git a/Mathlib/CategoryTheory/GlueData.lean b/Mathlib/CategoryTheory/GlueData.lean index 5ee2c9f5bf8cc..e274dd3c6f210 100644 --- a/Mathlib/CategoryTheory/GlueData.lean +++ b/Mathlib/CategoryTheory/GlueData.lean @@ -232,13 +232,13 @@ theorem types_π_surjective (D : GlueData (Type*)) : Function.Surjective D.π := (epi_iff_surjective _).mp inferInstance #align category_theory.glue_data.types_π_surjective CategoryTheory.GlueData.types_π_surjective -theorem types_ι_jointly_surjective (D : GlueData (Type*)) (x : D.glued) : +theorem types_ι_jointly_surjective (D : GlueData (Type v)) (x : D.glued) : ∃ (i : _) (y : D.U i), D.ι i y = x := by delta CategoryTheory.GlueData.ι simp_rw [← Multicoequalizer.ι_sigmaπ D.diagram] rcases D.types_π_surjective x with ⟨x', rfl⟩ --have := colimit.isoColimitCocone (Types.coproductColimitCocone _) - rw [← show (colimit.isoColimitCocone (Types.coproductColimitCocone _)).inv _ = x' from + rw [← show (colimit.isoColimitCocone (Types.coproductColimitCocone.{v, v} _)).inv _ = x' from ConcreteCategory.congr_hom (colimit.isoColimitCocone (Types.coproductColimitCocone _)).hom_inv_id x'] rcases (colimit.isoColimitCocone (Types.coproductColimitCocone _)).hom x' with ⟨i, y⟩ diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Types.lean b/Mathlib/CategoryTheory/Limits/Shapes/Types.lean index cb36e9416e548..4dfee874d17aa 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Types.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Types.lean @@ -438,7 +438,7 @@ end UnivLE /-- The category of types has `Σ j, f j` as the coproduct of a type family `f : J → Type`. -/ -def coproductColimitCocone {J : Type u} (F : J → Type u) : +def coproductColimitCocone {J : Type v} (F : J → TypeMax.{v, u}) : Limits.ColimitCocone (Discrete.functor F) where cocone := { pt := Σj, F j @@ -451,19 +451,19 @@ def coproductColimitCocone {J : Type u} (F : J → Type u) : #align category_theory.limits.types.coproduct_colimit_cocone CategoryTheory.Limits.Types.coproductColimitCocone /-- The categorical coproduct in `Type u` is the type theoretic coproduct `Σ j, F j`. -/ -noncomputable def coproductIso {J : Type u} (F : J → Type u) : ∐ F ≅ Σj, F j := +noncomputable def coproductIso {J : Type v} (F : J → TypeMax.{v, u}) : ∐ F ≅ Σj, F j := colimit.isoColimitCocone (coproductColimitCocone F) #align category_theory.limits.types.coproduct_iso CategoryTheory.Limits.Types.coproductIso @[elementwise (attr := simp)] -theorem coproductIso_ι_comp_hom {J : Type u} (F : J → Type u) (j : J) : +theorem coproductIso_ι_comp_hom {J : Type v} (F : J → TypeMax.{v, u}) (j : J) : Sigma.ι F j ≫ (coproductIso F).hom = fun x : F j => (⟨j, x⟩ : Σj, F j) := colimit.isoColimitCocone_ι_hom (coproductColimitCocone F) ⟨j⟩ #align category_theory.limits.types.coproduct_iso_ι_comp_hom CategoryTheory.Limits.Types.coproductIso_ι_comp_hom -- porting note: was @[elementwise (attr := simp)], but it produces a trivial lemma -- removed simp attribute because it seems it never applies -theorem coproductIso_mk_comp_inv {J : Type u} (F : J → Type u) (j : J) : +theorem coproductIso_mk_comp_inv {J : Type v} (F : J → TypeMax.{v, u}) (j : J) : (↾fun x : F j => (⟨j, x⟩ : Σj, F j)) ≫ (coproductIso F).inv = Sigma.ι F j := rfl #align category_theory.limits.types.coproduct_iso_mk_comp_inv CategoryTheory.Limits.Types.coproductIso_mk_comp_inv