Lean4
/-- The functorial action of `X ⊗ Y` in `Dial C`. -/
@[simps]
def tensorHomImpl {X₁ X₂ Y₁ Y₂ : Dial C} (f : X₁ ⟶ X₂) (g : Y₁ ⟶ Y₂) : tensorObjImpl X₁ Y₁ ⟶ tensorObjImpl X₂ Y₂
where
f := prod.map f.f g.f
F := π(prod.map π₁ π₁ ≫ f.F, prod.map π₂ π₂ ≫ g.F)
le := by
simp only [tensorObjImpl, Subobject.inf_pullback]
apply inf_le_inf <;> rw [← Subobject.pullback_comp, ← Subobject.pullback_comp]
· have := (Subobject.pullback (prod.map π₁ π₁ : (X₁.src ⨯ Y₁.src) ⨯ X₂.tgt ⨯ Y₂.tgt ⟶ _)).monotone (Hom.le f)
rw [← Subobject.pullback_comp, ← Subobject.pullback_comp] at this
convert this using 3 <;> simp
· have := (Subobject.pullback (prod.map π₂ π₂ : (X₁.src ⨯ Y₁.src) ⨯ X₂.tgt ⨯ Y₂.tgt ⟶ _)).monotone (Hom.le g)
rw [← Subobject.pullback_comp, ← Subobject.pullback_comp] at this
convert this using 3 <;> simp