Skip to content

Commit c63a0ac

Browse files
committed
chore(CategoryTheory/ChosenFiniteProducts): port some simp lemmas from CategoryTheory/Limits/Shapes/BinaryProducts (#17733)
1 parent 7ca047f commit c63a0ac

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

Mathlib/CategoryTheory/ChosenFiniteProducts.lean

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,15 @@ lemma hom_ext {T X Y : C} (f g : T ⟶ X ⊗ Y)
118118
f = g :=
119119
(product X Y).isLimit.hom_ext fun ⟨j⟩ => j.recOn h_fst h_snd
120120

121+
-- Similarly to `CategoryTheory.Limits.prod.comp_lift`, we do not make the `assoc` version a simp
122+
-- lemma
123+
@[reassoc, simp]
124+
lemma comp_lift {V W X Y : C} (f : V ⟶ W) (g : W ⟶ X) (h : W ⟶ Y) :
125+
f ≫ lift g h = lift (f ≫ g) (f ≫ h) := by ext <;> simp
126+
127+
@[simp]
128+
lemma lift_fst_snd {X Y : C} : lift (fst X Y) (snd X Y) = 𝟙 (X ⊗ Y) := by ext <;> simp
129+
121130
@[reassoc (attr := simp)]
122131
lemma tensorHom_fst {X₁ X₂ Y₁ Y₂ : C} (f : X₁ ⟶ X₂) (g : Y₁ ⟶ Y₂) :
123132
(f ⊗ g) ≫ fst _ _ = fst _ _ ≫ f := lift_fst _ _
@@ -126,6 +135,14 @@ lemma tensorHom_fst {X₁ X₂ Y₁ Y₂ : C} (f : X₁ ⟶ X₂) (g : Y₁ ⟶
126135
lemma tensorHom_snd {X₁ X₂ Y₁ Y₂ : C} (f : X₁ ⟶ X₂) (g : Y₁ ⟶ Y₂) :
127136
(f ⊗ g) ≫ snd _ _ = snd _ _ ≫ g := lift_snd _ _
128137

138+
@[reassoc (attr := simp)]
139+
lemma lift_map {V W X Y Z : C} (f : V ⟶ W) (g : V ⟶ X) (h : W ⟶ Y) (k : X ⟶ Z) :
140+
lift f g ≫ (h ⊗ k) = lift (f ≫ h) (g ≫ k) := by ext <;> simp
141+
142+
@[simp]
143+
lemma lift_fst_comp_snd_comp {W X Y Z : C} (g : W ⟶ X) (g' : Y ⟶ Z) :
144+
lift (fst _ _ ≫ g) (snd _ _ ≫ g') = g ⊗ g' := by ext <;> simp
145+
129146
@[reassoc (attr := simp)]
130147
lemma whiskerLeft_fst (X : C) {Y₁ Y₂ : C} (g : Y₁ ⟶ Y₂) :
131148
(X ◁ g) ≫ fst _ _ = fst _ _ :=

0 commit comments

Comments
 (0)