File: Mathlib/Geometry/Manifold/Algebra/SmoothFunctions.lean

full_name: SmoothMap.instAdd
code: @[to_additive]
protected instance instMul {G : Type*} [Mul G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : Mul C^∞⟮I, N; I', G⟯ 
goal: Add C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.instMul
code: @[to_additive]
protected instance instMul {G : Type*} [Mul G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : Mul C^∞⟮I, N; I', G⟯ 
goal: Mul C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.coe_add
code: @[to_additive (attr := simp)]
theorem coe_mul {G : Type*} [Mul G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G]
    (f g : C^∞⟮I, N; I', G⟯) : ⇑(f * g) = f * g 
goal: ⇑(f + g) = ⇑f + ⇑g

full_name: SmoothMap.coe_mul
code: @[to_additive (attr := simp)]
theorem coe_mul {G : Type*} [Mul G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G]
    (f g : C^∞⟮I, N; I', G⟯) : ⇑(f * g) = f * g 
goal: ⇑(f * g) = ⇑f * ⇑g

full_name: SmoothMap.add_comp
code: @[to_additive (attr := simp)]
theorem mul_comp {G : Type*} [Mul G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G]
    (f g : C^∞⟮I'', N'; I', G⟯) (h : C^∞⟮I, N; I'', N'⟯) : (f * g).comp h = f.comp h * g.comp h 
goal: (f + g).comp h = f.comp h + g.comp h

full_name: SmoothMap.mul_comp
code: @[to_additive (attr := simp)]
theorem mul_comp {G : Type*} [Mul G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G]
    (f g : C^∞⟮I'', N'; I', G⟯) (h : C^∞⟮I, N; I'', N'⟯) : (f * g).comp h = f.comp h * g.comp h 
goal: (f * g).comp h = f.comp h * g.comp h

full_name: SmoothMap.instZero
code: @[to_additive]
protected instance instOne {G : Type*} [One G] [TopologicalSpace G] [ChartedSpace H' G] :
    One C^∞⟮I, N; I', G⟯ 
goal: Zero C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.instOne
code: @[to_additive]
protected instance instOne {G : Type*} [One G] [TopologicalSpace G] [ChartedSpace H' G] :
    One C^∞⟮I, N; I', G⟯ 
goal: One C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.coe_zero
code: @[to_additive (attr := simp)]
theorem coe_one {G : Type*} [One G] [TopologicalSpace G] [ChartedSpace H' G] :
    ⇑(1 : C^∞⟮I, N; I', G⟯) = 1 
goal: ⇑0 = 0

full_name: SmoothMap.coe_one
code: @[to_additive (attr := simp)]
theorem coe_one {G : Type*} [One G] [TopologicalSpace G] [ChartedSpace H' G] :
    ⇑(1 : C^∞⟮I, N; I', G⟯) = 1 
goal: ⇑1 = 1

full_name: SmoothMap.instNSMul
code: instance instNSMul {G : Type*} [AddMonoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothAdd I' G] : SMul ℕ C^∞⟮I, N; I', G⟯ 
goal: SMul ℕ C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.instPow
code: @[to_additive existing]
instance instPow {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G] :
    Pow C^∞⟮I, N; I', G⟯ ℕ 
goal: Pow C^⊤⟮I, N; I', G⟯ ℕ

full_name: SmoothMap.coe_pow
code: @[to_additive (attr := simp)]
theorem coe_pow {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G]
    (f : C^∞⟮I, N; I', G⟯) (n : ℕ) :
    ⇑(f ^ n) = (f : N → G) ^ n 
goal: ⇑(f ^ n) = ⇑f ^ n

full_name: SmoothMap.coe_nsmul
code: @[to_additive (attr := simp)]
theorem coe_pow {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G] [SmoothMul I' G]
    (f : C^∞⟮I, N; I', G⟯) (n : ℕ) :
    ⇑(f ^ n) = (f : N → G) ^ n 
goal: ⇑(n • f) = n • ⇑f

full_name: SmoothMap.semigroup
code: @[to_additive]
instance semigroup {G : Type*} [Semigroup G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : Semigroup C^∞⟮I, N; I', G⟯ 
goal: Semigroup C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.addSemigroup
code: @[to_additive]
instance semigroup {G : Type*} [Semigroup G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : Semigroup C^∞⟮I, N; I', G⟯ 
goal: AddSemigroup C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.addMonoid
code: @[to_additive]
instance monoid {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : Monoid C^∞⟮I, N; I', G⟯ 
goal: AddMonoid C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.monoid
code: @[to_additive]
instance monoid {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : Monoid C^∞⟮I, N; I', G⟯ 
goal: Monoid C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.coeFnAddMonoidHom_apply
code: /-- Coercion to a function as a `MonoidHom`. Similar to `MonoidHom.coeFn`. -/
@[to_additive (attr := simps) "Coercion to a function as an `AddMonoidHom`.
  Similar to `AddMonoidHom.coeFn`."]
def coeFnMonoidHom {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : C^∞⟮I, N; I', G⟯ →* N → G 
goal: ∀ (a : C^⊤⟮I, N; I', G⟯) (a_1 : N), SmoothMap.coeFnAddMonoidHom a a_1 = a a_1

full_name: SmoothMap.coeFnAddMonoidHom
code: /-- Coercion to a function as a `MonoidHom`. Similar to `MonoidHom.coeFn`. -/
@[to_additive (attr := simps) "Coercion to a function as an `AddMonoidHom`.
  Similar to `AddMonoidHom.coeFn`."]
def coeFnMonoidHom {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : C^∞⟮I, N; I', G⟯ →* N → G 
goal: C^⊤⟮I, N; I', G⟯ →+ N → G

full_name: SmoothMap.coeFnMonoidHom_apply
code: /-- Coercion to a function as a `MonoidHom`. Similar to `MonoidHom.coeFn`. -/
@[to_additive (attr := simps) "Coercion to a function as an `AddMonoidHom`.
  Similar to `AddMonoidHom.coeFn`."]
def coeFnMonoidHom {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : C^∞⟮I, N; I', G⟯ →* N → G 
goal: ∀ (a : C^⊤⟮I, N; I', G⟯) (a_1 : N), SmoothMap.coeFnMonoidHom a a_1 = a a_1

full_name: SmoothMap.coeFnMonoidHom
code: /-- Coercion to a function as a `MonoidHom`. Similar to `MonoidHom.coeFn`. -/
@[to_additive (attr := simps) "Coercion to a function as an `AddMonoidHom`.
  Similar to `AddMonoidHom.coeFn`."]
def coeFnMonoidHom {G : Type*} [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : C^∞⟮I, N; I', G⟯ →* N → G 
goal: C^⊤⟮I, N; I', G⟯ →* N → G

full_name: SmoothMap.compLeftMonoidHom
code: /-- For a manifold `N` and a smooth homomorphism `φ` between Lie groups `G'`, `G''`, the
'left-composition-by-`φ`' group homomorphism from `C^∞⟮I, N; I', G'⟯` to `C^∞⟮I, N; I'', G''⟯`. -/
@[to_additive "For a manifold `N` and a smooth homomorphism `φ` between additive Lie groups `G'`,
`G''`, the 'left-composition-by-`φ`' group homomorphism from `C^∞⟮I, N; I', G'⟯` to
`C^∞⟮I, N; I'', G''⟯`."]
def compLeftMonoidHom {G' : Type*} [Monoid G'] [TopologicalSpace G'] [ChartedSpace H' G']
    [SmoothMul I' G'] {G'' : Type*} [Monoid G''] [TopologicalSpace G''] [ChartedSpace H'' G'']
    [SmoothMul I'' G''] (φ : G' →* G'') (hφ : Smooth I' I'' φ) :
    C^∞⟮I, N; I', G'⟯ →* C^∞⟮I, N; I'', G''⟯ 
goal: C^⊤⟮I, N; I', G'⟯ →* C^⊤⟮I, N; I'', G''⟯

full_name: SmoothMap.compLeftAddMonoidHom
code: /-- For a manifold `N` and a smooth homomorphism `φ` between Lie groups `G'`, `G''`, the
'left-composition-by-`φ`' group homomorphism from `C^∞⟮I, N; I', G'⟯` to `C^∞⟮I, N; I'', G''⟯`. -/
@[to_additive "For a manifold `N` and a smooth homomorphism `φ` between additive Lie groups `G'`,
`G''`, the 'left-composition-by-`φ`' group homomorphism from `C^∞⟮I, N; I', G'⟯` to
`C^∞⟮I, N; I'', G''⟯`."]
def compLeftMonoidHom {G' : Type*} [Monoid G'] [TopologicalSpace G'] [ChartedSpace H' G']
    [SmoothMul I' G'] {G'' : Type*} [Monoid G''] [TopologicalSpace G''] [ChartedSpace H'' G'']
    [SmoothMul I'' G''] (φ : G' →* G'') (hφ : Smooth I' I'' φ) :
    C^∞⟮I, N; I', G'⟯ →* C^∞⟮I, N; I'', G''⟯ 
goal: C^⊤⟮I, N; I', G'⟯ →+ C^⊤⟮I, N; I'', G''⟯

full_name: SmoothMap.restrictAddMonoidHom
code: /-- For a Lie group `G` and open sets `U ⊆ V` in `N`, the 'restriction' group homomorphism from
`C^∞⟮I, V; I', G⟯` to `C^∞⟮I, U; I', G⟯`. -/
@[to_additive "For an additive Lie group `G` and open sets `U ⊆ V` in `N`, the 'restriction' group
homomorphism from `C^∞⟮I, V; I', G⟯` to `C^∞⟮I, U; I', G⟯`."]
def restrictMonoidHom (G : Type*) [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] {U V : Opens N} (h : U ≤ V) : C^∞⟮I, V; I', G⟯ →* C^∞⟮I, U; I', G⟯ 
goal: C^⊤⟮I, ↥V; I', G⟯ →+ C^⊤⟮I, ↥U; I', G⟯

full_name: SmoothMap.restrictMonoidHom
code: /-- For a Lie group `G` and open sets `U ⊆ V` in `N`, the 'restriction' group homomorphism from
`C^∞⟮I, V; I', G⟯` to `C^∞⟮I, U; I', G⟯`. -/
@[to_additive "For an additive Lie group `G` and open sets `U ⊆ V` in `N`, the 'restriction' group
homomorphism from `C^∞⟮I, V; I', G⟯` to `C^∞⟮I, U; I', G⟯`."]
def restrictMonoidHom (G : Type*) [Monoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] {U V : Opens N} (h : U ≤ V) : C^∞⟮I, V; I', G⟯ →* C^∞⟮I, U; I', G⟯ 
goal: C^⊤⟮I, ↥V; I', G⟯ →* C^⊤⟮I, ↥U; I', G⟯

full_name: SmoothMap.commMonoid
code: @[to_additive]
instance commMonoid {G : Type*} [CommMonoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : CommMonoid C^∞⟮I, N; I', G⟯ 
goal: CommMonoid C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.addCommMonoid
code: @[to_additive]
instance commMonoid {G : Type*} [CommMonoid G] [TopologicalSpace G] [ChartedSpace H' G]
    [SmoothMul I' G] : CommMonoid C^∞⟮I, N; I', G⟯ 
goal: AddCommMonoid C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.group
code: @[to_additive]
instance group {G : Type*} [Group G] [TopologicalSpace G] [ChartedSpace H' G] [LieGroup I' G] :
    Group C^∞⟮I, N; I', G⟯ 
goal: Group C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.addGroup
code: @[to_additive]
instance group {G : Type*} [Group G] [TopologicalSpace G] [ChartedSpace H' G] [LieGroup I' G] :
    Group C^∞⟮I, N; I', G⟯ 
goal: AddGroup C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.coe_neg
code: @[to_additive (attr := simp)]
theorem coe_inv {G : Type*} [Group G] [TopologicalSpace G] [ChartedSpace H' G] [LieGroup I' G]
    (f : C^∞⟮I, N; I', G⟯) : ⇑f⁻¹ = (⇑f)⁻¹ 
goal: ⇑(-f) = -⇑f

full_name: SmoothMap.coe_inv
code: @[to_additive (attr := simp)]
theorem coe_inv {G : Type*} [Group G] [TopologicalSpace G] [ChartedSpace H' G] [LieGroup I' G]
    (f : C^∞⟮I, N; I', G⟯) : ⇑f⁻¹ = (⇑f)⁻¹ 
goal: ⇑f⁻¹ = (⇑f)⁻¹

full_name: SmoothMap.coe_sub
code: @[to_additive (attr := simp)]
theorem coe_div {G : Type*} [Group G] [TopologicalSpace G] [ChartedSpace H' G] [LieGroup I' G]
    (f g : C^∞⟮I, N; I', G⟯) : ⇑(f / g) = f / g 
goal: ⇑(f - g) = ⇑f - ⇑g

full_name: SmoothMap.coe_div
code: @[to_additive (attr := simp)]
theorem coe_div {G : Type*} [Group G] [TopologicalSpace G] [ChartedSpace H' G] [LieGroup I' G]
    (f g : C^∞⟮I, N; I', G⟯) : ⇑(f / g) = f / g 
goal: ⇑(f / g) = ⇑f / ⇑g

full_name: SmoothMap.addCommGroup
code: @[to_additive]
instance commGroup {G : Type*} [CommGroup G] [TopologicalSpace G] [ChartedSpace H' G]
    [LieGroup I' G] : CommGroup C^∞⟮I, N; I', G⟯ 
goal: AddCommGroup C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.commGroup
code: @[to_additive]
instance commGroup {G : Type*} [CommGroup G] [TopologicalSpace G] [ChartedSpace H' G]
    [LieGroup I' G] : CommGroup C^∞⟮I, N; I', G⟯ 
goal: CommGroup C^⊤⟮I, N; I', G⟯

full_name: SmoothMap.semiring
code: instance semiring {R : Type*} [Semiring R] [TopologicalSpace R] [ChartedSpace H' R]
    [SmoothRing I' R] : Semiring C^∞⟮I, N; I', R⟯ 
goal: Semiring C^⊤⟮I, N; I', R⟯

full_name: SmoothMap.ring
code: instance ring {R : Type*} [Ring R] [TopologicalSpace R] [ChartedSpace H' R] [SmoothRing I' R] :
    Ring C^∞⟮I, N; I', R⟯ 
goal: Ring C^⊤⟮I, N; I', R⟯

full_name: SmoothMap.commRing
code: instance commRing {R : Type*} [CommRing R] [TopologicalSpace R] [ChartedSpace H' R]
    [SmoothRing I' R] : CommRing C^∞⟮I, N; I', R⟯ 
goal: CommRing C^⊤⟮I, N; I', R⟯

full_name: SmoothMap.compLeftRingHom
code: /-- For a manifold `N` and a smooth homomorphism `φ` between smooth rings `R'`, `R''`, the
'left-composition-by-`φ`' ring homomorphism from `C^∞⟮I, N; I', R'⟯` to `C^∞⟮I, N; I'', R''⟯`. -/
def compLeftRingHom {R' : Type*} [Ring R'] [TopologicalSpace R'] [ChartedSpace H' R']
    [SmoothRing I' R'] {R'' : Type*} [Ring R''] [TopologicalSpace R''] [ChartedSpace H'' R'']
    [SmoothRing I'' R''] (φ : R' →+* R'') (hφ : Smooth I' I'' φ) :
    C^∞⟮I, N; I', R'⟯ →+* C^∞⟮I, N; I'', R''⟯ 
goal: C^⊤⟮I, N; I', R'⟯ →+* C^⊤⟮I, N; I'', R''⟯

full_name: SmoothMap.restrictRingHom
code: /-- For a "smooth ring" `R` and open sets `U ⊆ V` in `N`, the "restriction" ring homomorphism from
`C^∞⟮I, V; I', R⟯` to `C^∞⟮I, U; I', R⟯`. -/
def restrictRingHom (R : Type*) [Ring R] [TopologicalSpace R] [ChartedSpace H' R] [SmoothRing I' R]
    {U V : Opens N} (h : U ≤ V) : C^∞⟮I, V; I', R⟯ →+* C^∞⟮I, U; I', R⟯ 
goal: C^⊤⟮I, ↥V; I', R⟯ →+* C^⊤⟮I, ↥U; I', R⟯

full_name: SmoothMap.coeFnRingHom
code: /-- Coercion to a function as a `RingHom`. -/
@[simps]
def coeFnRingHom {R : Type*} [CommRing R] [TopologicalSpace R] [ChartedSpace H' R]
    [SmoothRing I' R] : C^∞⟮I, N; I', R⟯ →+* N → R 
goal: C^⊤⟮I, N; I', R⟯ →+* N → R

full_name: SmoothMap.coeFnRingHom_apply
code: /-- Coercion to a function as a `RingHom`. -/
@[simps]
def coeFnRingHom {R : Type*} [CommRing R] [TopologicalSpace R] [ChartedSpace H' R]
    [SmoothRing I' R] : C^∞⟮I, N; I', R⟯ →+* N → R 
goal: ∀ (a : C^⊤⟮I, N; I', R⟯) (a_1 : N), SmoothMap.coeFnRingHom a a_1 = a a_1

full_name: SmoothMap.evalRingHom
code: /-- `Function.eval` as a `RingHom` on the ring of smooth functions. -/
def evalRingHom {R : Type*} [CommRing R] [TopologicalSpace R] [ChartedSpace H' R] [SmoothRing I' R]
    (n : N) : C^∞⟮I, N; I', R⟯ →+* R 
goal: C^⊤⟮I, N; I', R⟯ →+* R

full_name: SmoothMap.instSMul
code: instance instSMul {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] :
    SMul 𝕜 C^∞⟮I, N; 𝓘(𝕜, V), V⟯ 
goal: SMul 𝕜 C^⊤⟮I, N; 𝓘(𝕜, V), V⟯

full_name: SmoothMap.coe_smul
code: @[simp]
theorem coe_smul {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] (r : 𝕜)
    (f : C^∞⟮I, N; 𝓘(𝕜, V), V⟯) : ⇑(r • f) = r • ⇑f 
goal: ⇑(r • f) = r • ⇑f

full_name: SmoothMap.smul_comp
code: @[simp]
theorem smul_comp {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] (r : 𝕜)
    (g : C^∞⟮I'', N'; 𝓘(𝕜, V), V⟯) (h : C^∞⟮I, N; I'', N'⟯) : (r • g).comp h = r • g.comp h 
goal: (r • g).comp h = r • g.comp h

full_name: SmoothMap.module
code: instance module {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] :
    Module 𝕜 C^∞⟮I, N; 𝓘(𝕜, V), V⟯ 
goal: Module 𝕜 C^⊤⟮I, N; 𝓘(𝕜, V), V⟯

full_name: SmoothMap.coeFnLinearMap
code: /-- Coercion to a function as a `LinearMap`. -/
@[simps]
def coeFnLinearMap {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] :
    C^∞⟮I, N; 𝓘(𝕜, V), V⟯ →ₗ[𝕜] N → V 
goal: C^⊤⟮I, N; 𝓘(𝕜, V), V⟯ →ₗ[𝕜] N → V

full_name: SmoothMap.coeFnLinearMap_apply
code: /-- Coercion to a function as a `LinearMap`. -/
@[simps]
def coeFnLinearMap {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] :
    C^∞⟮I, N; 𝓘(𝕜, V), V⟯ →ₗ[𝕜] N → V 
goal: ∀ (a : C^⊤⟮I, N; 𝓘(𝕜, V), V⟯) (a_1 : N), SmoothMap.coeFnLinearMap a a_1 = a a_1

full_name: SmoothMap.C
code: /-- Smooth constant functions as a `RingHom`. -/
def C : 𝕜 →+* C^∞⟮I, N; 𝓘(𝕜, A), A⟯ 
goal: 𝕜 →+* C^⊤⟮I, N; 𝓘(𝕜, A), A⟯

full_name: SmoothMap.algebra
code: instance algebra : Algebra 𝕜 C^∞⟮I, N; 𝓘(𝕜, A), A⟯ 
goal: Algebra 𝕜 C^⊤⟮I, N; 𝓘(𝕜, A), A⟯

full_name: SmoothMap.coeFnAlgHom
code: /-- Coercion to a function as an `AlgHom`. -/
@[simps]
def coeFnAlgHom : C^∞⟮I, N; 𝓘(𝕜, A), A⟯ →ₐ[𝕜] N → A 
goal: C^⊤⟮I, N; 𝓘(𝕜, A), A⟯ →ₐ[𝕜] N → A

full_name: SmoothMap.coeFnAlgHom_apply
code: /-- Coercion to a function as an `AlgHom`. -/
@[simps]
def coeFnAlgHom : C^∞⟮I, N; 𝓘(𝕜, A), A⟯ →ₐ[𝕜] N → A 
goal: ∀ (a : C^⊤⟮I, N; 𝓘(𝕜, A), A⟯) (a_1 : N), SmoothMap.coeFnAlgHom a a_1 = a a_1

full_name: SmoothMap.instSMul'
code: instance instSMul' {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] :
    SMul C^∞⟮I, N; 𝕜⟯ C^∞⟮I, N; 𝓘(𝕜, V), V⟯ 
goal: SMul C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, N; 𝓘(𝕜, V), V⟯

full_name: SmoothMap.smul_comp'
code: @[simp]
theorem smul_comp' {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] (f : C^∞⟮I'', N'; 𝕜⟯)
    (g : C^∞⟮I'', N'; 𝓘(𝕜, V), V⟯) (h : C^∞⟮I, N; I'', N'⟯) :
    (f • g).comp h = f.comp h • g.comp h 
goal: (f • g).comp h = f.comp h • g.comp h

full_name: SmoothMap.module'
code: instance module' {V : Type*} [NormedAddCommGroup V] [NormedSpace 𝕜 V] :
    Module C^∞⟮I, N; 𝓘(𝕜), 𝕜⟯ C^∞⟮I, N; 𝓘(𝕜, V), V⟯ 
goal: Module C^⊤⟮I, N; 𝓘(𝕜, 𝕜), 𝕜⟯ C^⊤⟮I, N; 𝓘(𝕜, V), V⟯