Zulip Chat Archive

Stream: Is there code for X?

Topic: Multiplicative version of CategoryTheory.equivOfFullyFaithfu


Christian Merten (Jan 08 2024 at 20:45):

Is there a multiplicative version of CategoryTheory.equivOfFullyFaithful? I.e.

import Mathlib

open CategoryTheory Functor

def equivMulOfFullyFaithful {C : Type u} [Category.{v, u} C] {D : Type u₁}
    [Category.{v₁, u₁} D] (F : C  D)
    [Full F] [Faithful F] {X : C } :
    End X ≃* End (F.obj X) := by
  apply MulEquiv.mk'
  intro f g
  erw [equivOfFullyFaithful_apply, equivOfFullyFaithful_apply,
    equivOfFullyFaithful_apply]
  simp only [End.mul_def, map_comp]

This is essentially the equivalence version of CategoryTheory.Functor.mapEnd. Same question for Aut.

Yury G. Kudryashov (Jan 08 2024 at 22:40):

loogle doesn't find any: @loogle CategoryTheory.Full, MulEquiv

loogle (Jan 08 2024 at 22:40):

:shrug: nothing found

Yury G. Kudryashov (Jan 08 2024 at 22:44):

def mulEquivOfFullyFaithful {C : Type u} [Category.{v, u} C] {D : Type u₁}
    [Category.{v₁, u₁} D] (F : C  D)
    [Full F] [Faithful F] {X : C} :
    End X ≃* End (F.obj X) where
  toEquiv := equivOfFullyFaithful F
  __ := mapEnd X F

Christian Merten (Jan 08 2024 at 22:51):

I added @[simps!] (! because lean complained about @[simps] alone). How do I see which simp lemmas are generated?

Kevin Buzzard (Jan 08 2024 at 22:53):

You can write whatsnew in before your declaration, or perhaps append a ? after simps! (not sure if this works)

Christian Merten (Jan 08 2024 at 22:54):

Adding ? worked. Thanks! @[simps!?] looks quite funny.

Christian Merten (Jan 08 2024 at 22:54):

Even @[simps?!] works :D

Christian Merten (Jan 08 2024 at 23:00):

#9566


Last updated: May 02 2025 at 03:31 UTC