File: Mathlib/Algebra/Category/Grp/ForgetCorepresentable.lean

full_name: MonoidHom.precompEquiv
code: /-- The equivalence `(β →* γ) ≃ (α →* γ)` obtained by precomposition with
a multiplicative equivalence `e : α ≃* β`. -/
@[simps]
def precompEquiv {α β : Type*} [Monoid α] [Monoid β] (e : α ≃* β) (γ : Type*) [Monoid γ] :
    (β →* γ) ≃ (α →* γ) 
goal: (β →* γ) ≃ (α →* γ)

full_name: MonoidHom.precompEquiv_apply
code: /-- The equivalence `(β →* γ) ≃ (α →* γ)` obtained by precomposition with
a multiplicative equivalence `e : α ≃* β`. -/
@[simps]
def precompEquiv {α β : Type*} [Monoid α] [Monoid β] (e : α ≃* β) (γ : Type*) [Monoid γ] :
    (β →* γ) ≃ (α →* γ) 
goal: (MonoidHom.precompEquiv e γ) f = f.comp ↑e

full_name: MonoidHom.precompEquiv_symm_apply
code: /-- The equivalence `(β →* γ) ≃ (α →* γ)` obtained by precomposition with
a multiplicative equivalence `e : α ≃* β`. -/
@[simps]
def precompEquiv {α β : Type*} [Monoid α] [Monoid β] (e : α ≃* β) (γ : Type*) [Monoid γ] :
    (β →* γ) ≃ (α →* γ) 
goal: (MonoidHom.precompEquiv e γ).symm g = g.comp ↑e.symm

full_name: MonoidHom.fromMultiplicativeIntEquiv
code: /-- The equivalence `(Multiplicative ℤ →* α) ≃ α` for any group `α`. -/
@[simps]
def fromMultiplicativeIntEquiv (α : Type u) [Group α] : (Multiplicative ℤ →* α) ≃ α 
goal: (Multiplicative ℤ →* α) ≃ α

full_name: MonoidHom.fromMultiplicativeIntEquiv_apply
code: /-- The equivalence `(Multiplicative ℤ →* α) ≃ α` for any group `α`. -/
@[simps]
def fromMultiplicativeIntEquiv (α : Type u) [Group α] : (Multiplicative ℤ →* α) ≃ α 
goal: (MonoidHom.fromMultiplicativeIntEquiv α) φ = φ (Multiplicative.ofAdd 1)

full_name: MonoidHom.fromMultiplicativeIntEquiv_symm_apply
code: /-- The equivalence `(Multiplicative ℤ →* α) ≃ α` for any group `α`. -/
@[simps]
def fromMultiplicativeIntEquiv (α : Type u) [Group α] : (Multiplicative ℤ →* α) ≃ α 
goal: (MonoidHom.fromMultiplicativeIntEquiv α).symm x = (zpowersHom α) x

full_name: MonoidHom.fromULiftMultiplicativeIntEquiv
code: /-- The equivalence `(ULift (Multiplicative ℤ) →* α) ≃ α` for any group `α`. -/
@[simps!]
def fromULiftMultiplicativeIntEquiv (α : Type u) [Group α] :
    (ULift.{u} (Multiplicative ℤ) →* α) ≃ α 
goal: (ULift.{u, 0} (Multiplicative ℤ) →* α) ≃ α

full_name: MonoidHom.fromULiftMultiplicativeIntEquiv_symm_apply_apply
code: /-- The equivalence `(ULift (Multiplicative ℤ) →* α) ≃ α` for any group `α`. -/
@[simps!]
def fromULiftMultiplicativeIntEquiv (α : Type u) [Group α] :
    (ULift.{u} (Multiplicative ℤ) →* α) ≃ α 
goal: ∀ (a : α) (a_1 : ULift.{u, 0} (Multiplicative ℤ)),
  ((MonoidHom.fromULiftMultiplicativeIntEquiv α).symm a) a_1 = a ^ Multiplicative.toAdd (MulEquiv.ulift a_1)

full_name: MonoidHom.fromULiftMultiplicativeIntEquiv_apply
code: /-- The equivalence `(ULift (Multiplicative ℤ) →* α) ≃ α` for any group `α`. -/
@[simps!]
def fromULiftMultiplicativeIntEquiv (α : Type u) [Group α] :
    (ULift.{u} (Multiplicative ℤ) →* α) ≃ α 
goal: ∀ (a : ULift.{u, 0} (Multiplicative ℤ) →* α),
  (MonoidHom.fromULiftMultiplicativeIntEquiv α) a = a (MulEquiv.ulift.symm (Multiplicative.ofAdd 1))

full_name: AddMonoidHom.precompEquiv_symm_apply
code: /-- The equivalence `(β →+ γ) ≃ (α →+ γ)` obtained by precomposition with
an additive equivalence `e : α ≃+ β`. -/
@[simps]
def precompEquiv {α β : Type*} [AddMonoid α] [AddMonoid β] (e : α ≃+ β) (γ : Type*) [AddMonoid γ] :
    (β →+ γ) ≃ (α →+ γ) 
goal: (AddMonoidHom.precompEquiv e γ).symm g = g.comp ↑e.symm

full_name: AddMonoidHom.precompEquiv_apply
code: /-- The equivalence `(β →+ γ) ≃ (α →+ γ)` obtained by precomposition with
an additive equivalence `e : α ≃+ β`. -/
@[simps]
def precompEquiv {α β : Type*} [AddMonoid α] [AddMonoid β] (e : α ≃+ β) (γ : Type*) [AddMonoid γ] :
    (β →+ γ) ≃ (α →+ γ) 
goal: (AddMonoidHom.precompEquiv e γ) f = f.comp ↑e

full_name: AddMonoidHom.precompEquiv
code: /-- The equivalence `(β →+ γ) ≃ (α →+ γ)` obtained by precomposition with
an additive equivalence `e : α ≃+ β`. -/
@[simps]
def precompEquiv {α β : Type*} [AddMonoid α] [AddMonoid β] (e : α ≃+ β) (γ : Type*) [AddMonoid γ] :
    (β →+ γ) ≃ (α →+ γ) 
goal: (β →+ γ) ≃ (α →+ γ)

full_name: AddMonoidHom.fromIntEquiv
code: /-- The equivalence `(ℤ →+ α) ≃ α` for any additive group `α`. -/
@[simps]
def fromIntEquiv (α : Type u) [AddGroup α] : (ℤ →+ α) ≃ α 
goal: (ℤ →+ α) ≃ α

full_name: AddMonoidHom.fromIntEquiv_apply
code: /-- The equivalence `(ℤ →+ α) ≃ α` for any additive group `α`. -/
@[simps]
def fromIntEquiv (α : Type u) [AddGroup α] : (ℤ →+ α) ≃ α 
goal: (AddMonoidHom.fromIntEquiv α) φ = φ 1

full_name: AddMonoidHom.fromIntEquiv_symm_apply
code: /-- The equivalence `(ℤ →+ α) ≃ α` for any additive group `α`. -/
@[simps]
def fromIntEquiv (α : Type u) [AddGroup α] : (ℤ →+ α) ≃ α 
goal: (AddMonoidHom.fromIntEquiv α).symm x = (zmultiplesHom α) x

full_name: AddMonoidHom.fromULiftIntEquiv_symm_apply_apply
code: /-- The equivalence `(ULift ℤ →+ α) ≃ α` for any additive group `α`. -/
@[simps!]
def fromULiftIntEquiv (α : Type u) [AddGroup α] : (ULift.{u} ℤ →+ α) ≃ α 
goal: ∀ (a : α) (a_1 : ULift.{u, 0} ℤ), ((AddMonoidHom.fromULiftIntEquiv α).symm a) a_1 = AddEquiv.ulift a_1 • a

full_name: AddMonoidHom.fromULiftIntEquiv_apply
code: /-- The equivalence `(ULift ℤ →+ α) ≃ α` for any additive group `α`. -/
@[simps!]
def fromULiftIntEquiv (α : Type u) [AddGroup α] : (ULift.{u} ℤ →+ α) ≃ α 
goal: ∀ (a : ULift.{u, 0} ℤ →+ α), (AddMonoidHom.fromULiftIntEquiv α) a = a (AddEquiv.ulift.symm 1)

full_name: AddMonoidHom.fromULiftIntEquiv
code: /-- The equivalence `(ULift ℤ →+ α) ≃ α` for any additive group `α`. -/
@[simps!]
def fromULiftIntEquiv (α : Type u) [AddGroup α] : (ULift.{u} ℤ →+ α) ≃ α 
goal: (ULift.{u, 0} ℤ →+ α) ≃ α

full_name: Grp.coyonedaObjIsoForget
code: /-- The forget functor `Grp.{u} ⥤ Type u` is corepresentable. -/
def Grp.coyonedaObjIsoForget :
    coyoneda.obj (op (of (ULift.{u} (Multiplicative ℤ)))) ≅ forget Grp.{u} 
goal: CategoryTheory.coyoneda.obj (Opposite.op (Grp.of (ULift.{u, 0} (Multiplicative ℤ)))) ≅ CategoryTheory.forget Grp

full_name: CommGrp.coyonedaObjIsoForget
code: /-- The forget functor `CommGrp.{u} ⥤ Type u` is corepresentable. -/
def CommGrp.coyonedaObjIsoForget :
    coyoneda.obj (op (of (ULift.{u} (Multiplicative ℤ)))) ≅ forget CommGrp.{u} 
goal: CategoryTheory.coyoneda.obj (Opposite.op (CommGrp.of (ULift.{u, 0} (Multiplicative ℤ)))) ≅ CategoryTheory.forget CommGrp

full_name: AddGrp.coyonedaObjIsoForget
code: /-- The forget functor `AddGrp.{u} ⥤ Type u` is corepresentable. -/
def AddGrp.coyonedaObjIsoForget :
    coyoneda.obj (op (of (ULift.{u} ℤ))) ≅ forget AddGrp.{u} 
goal: CategoryTheory.coyoneda.obj (Opposite.op (AddGrp.of (ULift.{u, 0} ℤ))) ≅ CategoryTheory.forget AddGrp

full_name: AddCommGrp.coyonedaObjIsoForget
code: /-- The forget functor `AddCommGrp.{u} ⥤ Type u` is corepresentable. -/
def AddCommGrp.coyonedaObjIsoForget :
    coyoneda.obj (op (of (ULift.{u} ℤ))) ≅ forget AddCommGrp.{u} 
goal: CategoryTheory.coyoneda.obj (Opposite.op (AddCommGrp.of (ULift.{u, 0} ℤ))) ≅ CategoryTheory.forget AddCommGrp

full_name: Grp.forget_corepresentable
code: instance Grp.forget_corepresentable :
    (forget Grp.{u}).Corepresentable 
goal: (CategoryTheory.forget Grp).Corepresentable

full_name: CommGrp.forget_corepresentable
code: instance CommGrp.forget_corepresentable :
    (forget CommGrp.{u}).Corepresentable 
goal: (CategoryTheory.forget CommGrp).Corepresentable

full_name: AddGrp.forget_corepresentable
code: instance AddGrp.forget_corepresentable :
    (forget AddGrp.{u}).Corepresentable 
goal: (CategoryTheory.forget AddGrp).Corepresentable

full_name: AddCommGrp.forget_corepresentable
code: instance AddCommGrp.forget_corepresentable :
    (forget AddCommGrp.{u}).Corepresentable 
goal: (CategoryTheory.forget AddCommGrp).Corepresentable