File: Mathlib/Analysis/Calculus/Deriv/Comp.lean

full_name: HasDerivAtFilter.scomp
code: theorem HasDerivAtFilter.scomp (hg : HasDerivAtFilter g₁ g₁' (h x) L')
    (hh : HasDerivAtFilter h h' x L) (hL : Tendsto h L L') :
    HasDerivAtFilter (g₁ ∘ h) (h' • g₁') x L 
goal: HasDerivAtFilter (g₁ ∘ h) (h' • g₁') x L

full_name: HasDerivAtFilter.scomp_of_eq
code: theorem HasDerivAtFilter.scomp_of_eq (hg : HasDerivAtFilter g₁ g₁' y L')
    (hh : HasDerivAtFilter h h' x L) (hy : y = h x) (hL : Tendsto h L L') :
    HasDerivAtFilter (g₁ ∘ h) (h' • g₁') x L 
goal: HasDerivAtFilter (g₁ ∘ h) (h' • g₁') x L

full_name: HasDerivWithinAt.scomp_hasDerivAt
code: theorem HasDerivWithinAt.scomp_hasDerivAt (hg : HasDerivWithinAt g₁ g₁' s' (h x))
    (hh : HasDerivAt h h' x) (hs : ∀ x, h x ∈ s') : HasDerivAt (g₁ ∘ h) (h' • g₁') x 
goal: HasDerivAt (g₁ ∘ h) (h' • g₁') x

full_name: HasDerivWithinAt.scomp_hasDerivAt_of_eq
code: theorem HasDerivWithinAt.scomp_hasDerivAt_of_eq (hg : HasDerivWithinAt g₁ g₁' s' y)
    (hh : HasDerivAt h h' x) (hs : ∀ x, h x ∈ s') (hy : y = h x) :
    HasDerivAt (g₁ ∘ h) (h' • g₁') x 
goal: HasDerivAt (g₁ ∘ h) (h' • g₁') x

full_name: HasDerivWithinAt.scomp
code: nonrec theorem HasDerivWithinAt.scomp (hg : HasDerivWithinAt g₁ g₁' t' (h x))
    (hh : HasDerivWithinAt h h' s x) (hst : MapsTo h s t') :
    HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x 
goal: HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x

full_name: HasDerivWithinAt.scomp_of_eq
code: theorem HasDerivWithinAt.scomp_of_eq (hg : HasDerivWithinAt g₁ g₁' t' y)
    (hh : HasDerivWithinAt h h' s x) (hst : MapsTo h s t') (hy : y = h x) :
    HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x 
goal: HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x

full_name: HasDerivAt.scomp
code: /-- The chain rule. -/
nonrec theorem HasDerivAt.scomp (hg : HasDerivAt g₁ g₁' (h x)) (hh : HasDerivAt h h' x) :
    HasDerivAt (g₁ ∘ h) (h' • g₁') x 
goal: HasDerivAt (g₁ ∘ h) (h' • g₁') x

full_name: HasDerivAt.scomp_of_eq
code: /-- The chain rule. -/
theorem HasDerivAt.scomp_of_eq
    (hg : HasDerivAt g₁ g₁' y) (hh : HasDerivAt h h' x) (hy : y = h x) :
    HasDerivAt (g₁ ∘ h) (h' • g₁') x 
goal: HasDerivAt (g₁ ∘ h) (h' • g₁') x

full_name: HasStrictDerivAt.scomp
code: theorem HasStrictDerivAt.scomp (hg : HasStrictDerivAt g₁ g₁' (h x)) (hh : HasStrictDerivAt h h' x) :
    HasStrictDerivAt (g₁ ∘ h) (h' • g₁') x 
goal: HasStrictDerivAt (g₁ ∘ h) (h' • g₁') x

full_name: HasStrictDerivAt.scomp_of_eq
code: theorem HasStrictDerivAt.scomp_of_eq
    (hg : HasStrictDerivAt g₁ g₁' y) (hh : HasStrictDerivAt h h' x) (hy : y = h x) :
    HasStrictDerivAt (g₁ ∘ h) (h' • g₁') x 
goal: HasStrictDerivAt (g₁ ∘ h) (h' • g₁') x

full_name: HasDerivAt.scomp_hasDerivWithinAt
code: theorem HasDerivAt.scomp_hasDerivWithinAt (hg : HasDerivAt g₁ g₁' (h x))
    (hh : HasDerivWithinAt h h' s x) : HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x 
goal: HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x

full_name: HasDerivAt.scomp_hasDerivWithinAt_of_eq
code: theorem HasDerivAt.scomp_hasDerivWithinAt_of_eq (hg : HasDerivAt g₁ g₁' y)
    (hh : HasDerivWithinAt h h' s x) (hy : y = h x) :
    HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x 
goal: HasDerivWithinAt (g₁ ∘ h) (h' • g₁') s x

full_name: derivWithin.scomp
code: theorem derivWithin.scomp (hg : DifferentiableWithinAt 𝕜' g₁ t' (h x))
    (hh : DifferentiableWithinAt 𝕜 h s x) (hs : MapsTo h s t') (hxs : UniqueDiffWithinAt 𝕜 s x) :
    derivWithin (g₁ ∘ h) s x = derivWithin h s x • derivWithin g₁ t' (h x) 
goal: derivWithin (g₁ ∘ h) s x = derivWithin h s x • derivWithin g₁ t' (h x)

full_name: derivWithin.scomp_of_eq
code: theorem derivWithin.scomp_of_eq (hg : DifferentiableWithinAt 𝕜' g₁ t' y)
    (hh : DifferentiableWithinAt 𝕜 h s x) (hs : MapsTo h s t') (hxs : UniqueDiffWithinAt 𝕜 s x)
    (hy : y = h x) :
    derivWithin (g₁ ∘ h) s x = derivWithin h s x • derivWithin g₁ t' (h x) 
goal: derivWithin (g₁ ∘ h) s x = derivWithin h s x • derivWithin g₁ t' (h x)

full_name: deriv.scomp
code: theorem deriv.scomp (hg : DifferentiableAt 𝕜' g₁ (h x)) (hh : DifferentiableAt 𝕜 h x) :
    deriv (g₁ ∘ h) x = deriv h x • deriv g₁ (h x) 
goal: deriv (g₁ ∘ h) x = deriv h x • deriv g₁ (h x)

full_name: deriv.scomp_of_eq
code: theorem deriv.scomp_of_eq
    (hg : DifferentiableAt 𝕜' g₁ y) (hh : DifferentiableAt 𝕜 h x) (hy : y = h x) :
    deriv (g₁ ∘ h) x = deriv h x • deriv g₁ (h x) 
goal: deriv (g₁ ∘ h) x = deriv h x • deriv g₁ (h x)

full_name: HasDerivAtFilter.comp_hasFDerivAtFilter
code: theorem HasDerivAtFilter.comp_hasFDerivAtFilter {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} (x) {L'' : Filter E}
    (hh₂ : HasDerivAtFilter h₂ h₂' (f x) L') (hf : HasFDerivAtFilter f f' x L'')
    (hL : Tendsto f L'' L') : HasFDerivAtFilter (h₂ ∘ f) (h₂' • f') x L'' 
goal: HasFDerivAtFilter (h₂ ∘ f) (h₂' • f') x L''

full_name: HasDerivAtFilter.comp_hasFDerivAtFilter_of_eq
code: theorem HasDerivAtFilter.comp_hasFDerivAtFilter_of_eq
    {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} (x) {L'' : Filter E}
    (hh₂ : HasDerivAtFilter h₂ h₂' y L') (hf : HasFDerivAtFilter f f' x L'')
    (hL : Tendsto f L'' L') (hy : y = f x) : HasFDerivAtFilter (h₂ ∘ f) (h₂' • f') x L'' 
goal: HasFDerivAtFilter (h₂ ∘ f) (h₂' • f') x L''

full_name: HasStrictDerivAt.comp_hasStrictFDerivAt
code: theorem HasStrictDerivAt.comp_hasStrictFDerivAt {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} (x)
    (hh : HasStrictDerivAt h₂ h₂' (f x)) (hf : HasStrictFDerivAt f f' x) :
    HasStrictFDerivAt (h₂ ∘ f) (h₂' • f') x 
goal: HasStrictFDerivAt (h₂ ∘ f) (h₂' • f') x

full_name: HasStrictDerivAt.comp_hasStrictFDerivAt_of_eq
code: theorem HasStrictDerivAt.comp_hasStrictFDerivAt_of_eq {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} (x)
    (hh : HasStrictDerivAt h₂ h₂' y) (hf : HasStrictFDerivAt f f' x) (hy : y = f x) :
    HasStrictFDerivAt (h₂ ∘ f) (h₂' • f') x 
goal: HasStrictFDerivAt (h₂ ∘ f) (h₂' • f') x

full_name: HasDerivAt.comp_hasFDerivAt
code: theorem HasDerivAt.comp_hasFDerivAt {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} (x)
    (hh : HasDerivAt h₂ h₂' (f x)) (hf : HasFDerivAt f f' x) : HasFDerivAt (h₂ ∘ f) (h₂' • f') x 
goal: HasFDerivAt (h₂ ∘ f) (h₂' • f') x

full_name: HasDerivAt.comp_hasFDerivAt_of_eq
code: theorem HasDerivAt.comp_hasFDerivAt_of_eq {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} (x)
    (hh : HasDerivAt h₂ h₂' y) (hf : HasFDerivAt f f' x) (hy : y = f x) :
    HasFDerivAt (h₂ ∘ f) (h₂' • f') x 
goal: HasFDerivAt (h₂ ∘ f) (h₂' • f') x

full_name: HasDerivAt.comp_hasFDerivWithinAt
code: theorem HasDerivAt.comp_hasFDerivWithinAt {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} {s} (x)
    (hh : HasDerivAt h₂ h₂' (f x)) (hf : HasFDerivWithinAt f f' s x) :
    HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x 
goal: HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x

full_name: HasDerivAt.comp_hasFDerivWithinAt_of_eq
code: theorem HasDerivAt.comp_hasFDerivWithinAt_of_eq {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} {s} (x)
    (hh : HasDerivAt h₂ h₂' y) (hf : HasFDerivWithinAt f f' s x) (hy : y = f x) :
    HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x 
goal: HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x

full_name: HasDerivWithinAt.comp_hasFDerivWithinAt
code: theorem HasDerivWithinAt.comp_hasFDerivWithinAt {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} {s t} (x)
    (hh : HasDerivWithinAt h₂ h₂' t (f x)) (hf : HasFDerivWithinAt f f' s x) (hst : MapsTo f s t) :
    HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x 
goal: HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x

full_name: HasDerivWithinAt.comp_hasFDerivWithinAt_of_eq
code: theorem HasDerivWithinAt.comp_hasFDerivWithinAt_of_eq {f : E → 𝕜'} {f' : E →L[𝕜] 𝕜'} {s t} (x)
    (hh : HasDerivWithinAt h₂ h₂' t y) (hf : HasFDerivWithinAt f f' s x) (hst : MapsTo f s t)
    (hy : y = f x) :
    HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x 
goal: HasFDerivWithinAt (h₂ ∘ f) (h₂' • f') s x

full_name: HasDerivAtFilter.comp
code: theorem HasDerivAtFilter.comp (hh₂ : HasDerivAtFilter h₂ h₂' (h x) L')
    (hh : HasDerivAtFilter h h' x L) (hL : Tendsto h L L') :
    HasDerivAtFilter (h₂ ∘ h) (h₂' * h') x L 
goal: HasDerivAtFilter (h₂ ∘ h) (h₂' * h') x L

full_name: HasDerivAtFilter.comp_of_eq
code: theorem HasDerivAtFilter.comp_of_eq (hh₂ : HasDerivAtFilter h₂ h₂' y L')
    (hh : HasDerivAtFilter h h' x L) (hL : Tendsto h L L') (hy : y = h x) :
    HasDerivAtFilter (h₂ ∘ h) (h₂' * h') x L 
goal: HasDerivAtFilter (h₂ ∘ h) (h₂' * h') x L

full_name: HasDerivWithinAt.comp
code: theorem HasDerivWithinAt.comp (hh₂ : HasDerivWithinAt h₂ h₂' s' (h x))
    (hh : HasDerivWithinAt h h' s x) (hst : MapsTo h s s') :
    HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x 
goal: HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x

full_name: HasDerivWithinAt.comp_of_eq
code: theorem HasDerivWithinAt.comp_of_eq (hh₂ : HasDerivWithinAt h₂ h₂' s' y)
    (hh : HasDerivWithinAt h h' s x) (hst : MapsTo h s s') (hy : y = h x) :
    HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x 
goal: HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x

full_name: HasDerivAt.comp
code: /-- The chain rule.

Note that the function `h₂` is a function on an algebra. If you are looking for the chain rule
with `h₂` taking values in a vector space, use `HasDerivAt.scomp`. -/
nonrec theorem HasDerivAt.comp (hh₂ : HasDerivAt h₂ h₂' (h x)) (hh : HasDerivAt h h' x) :
    HasDerivAt (h₂ ∘ h) (h₂' * h') x 
goal: HasDerivAt (h₂ ∘ h) (h₂' * h') x

full_name: HasDerivAt.comp_of_eq
code: /-- The chain rule.

Note that the function `h₂` is a function on an algebra. If you are looking for the chain rule
with `h₂` taking values in a vector space, use `HasDerivAt.scomp_of_eq`. -/
theorem HasDerivAt.comp_of_eq
    (hh₂ : HasDerivAt h₂ h₂' y) (hh : HasDerivAt h h' x) (hy : y = h x) :
    HasDerivAt (h₂ ∘ h) (h₂' * h') x 
goal: HasDerivAt (h₂ ∘ h) (h₂' * h') x

full_name: HasStrictDerivAt.comp
code: theorem HasStrictDerivAt.comp (hh₂ : HasStrictDerivAt h₂ h₂' (h x)) (hh : HasStrictDerivAt h h' x) :
    HasStrictDerivAt (h₂ ∘ h) (h₂' * h') x 
goal: HasStrictDerivAt (h₂ ∘ h) (h₂' * h') x

full_name: HasStrictDerivAt.comp_of_eq
code: theorem HasStrictDerivAt.comp_of_eq
    (hh₂ : HasStrictDerivAt h₂ h₂' y) (hh : HasStrictDerivAt h h' x) (hy : y = h x) :
    HasStrictDerivAt (h₂ ∘ h) (h₂' * h') x 
goal: HasStrictDerivAt (h₂ ∘ h) (h₂' * h') x

full_name: HasDerivAt.comp_hasDerivWithinAt
code: theorem HasDerivAt.comp_hasDerivWithinAt (hh₂ : HasDerivAt h₂ h₂' (h x))
    (hh : HasDerivWithinAt h h' s x) : HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x 
goal: HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x

full_name: HasDerivAt.comp_hasDerivWithinAt_of_eq
code: theorem HasDerivAt.comp_hasDerivWithinAt_of_eq (hh₂ : HasDerivAt h₂ h₂' y)
    (hh : HasDerivWithinAt h h' s x) (hy : y = h x) :
    HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x 
goal: HasDerivWithinAt (h₂ ∘ h) (h₂' * h') s x

full_name: derivWithin.comp
code: theorem derivWithin.comp (hh₂ : DifferentiableWithinAt 𝕜' h₂ s' (h x))
    (hh : DifferentiableWithinAt 𝕜 h s x) (hs : MapsTo h s s') (hxs : UniqueDiffWithinAt 𝕜 s x) :
    derivWithin (h₂ ∘ h) s x = derivWithin h₂ s' (h x) * derivWithin h s x 
goal: derivWithin (h₂ ∘ h) s x = derivWithin h₂ s' (h x) * derivWithin h s x

full_name: derivWithin.comp_of_eq
code: theorem derivWithin.comp_of_eq (hh₂ : DifferentiableWithinAt 𝕜' h₂ s' y)
    (hh : DifferentiableWithinAt 𝕜 h s x) (hs : MapsTo h s s') (hxs : UniqueDiffWithinAt 𝕜 s x)
    (hy : y = h x) :
    derivWithin (h₂ ∘ h) s x = derivWithin h₂ s' (h x) * derivWithin h s x 
goal: derivWithin (h₂ ∘ h) s x = derivWithin h₂ s' (h x) * derivWithin h s x

full_name: deriv.comp
code: theorem deriv.comp (hh₂ : DifferentiableAt 𝕜' h₂ (h x)) (hh : DifferentiableAt 𝕜 h x) :
    deriv (h₂ ∘ h) x = deriv h₂ (h x) * deriv h x 
goal: deriv (h₂ ∘ h) x = deriv h₂ (h x) * deriv h x

full_name: deriv.comp_of_eq
code: theorem deriv.comp_of_eq (hh₂ : DifferentiableAt 𝕜' h₂ y) (hh : DifferentiableAt 𝕜 h x)
    (hy : y = h x) :
    deriv (h₂ ∘ h) x = deriv h₂ (h x) * deriv h x 
goal: deriv (h₂ ∘ h) x = deriv h₂ (h x) * deriv h x

full_name: HasDerivAtFilter.iterate
code: protected nonrec theorem HasDerivAtFilter.iterate {f : 𝕜 → 𝕜} {f' : 𝕜}
    (hf : HasDerivAtFilter f f' x L) (hL : Tendsto f L L) (hx : f x = x) (n : ℕ) :
    HasDerivAtFilter f^[n] (f' ^ n) x L 
goal: HasDerivAtFilter f^[n] (f' ^ n) x L

full_name: HasDerivAt.iterate
code: protected nonrec theorem HasDerivAt.iterate {f : 𝕜 → 𝕜} {f' : 𝕜} (hf : HasDerivAt f f' x)
    (hx : f x = x) (n : ℕ) : HasDerivAt f^[n] (f' ^ n) x 
goal: HasDerivAt f^[n] (f' ^ n) x

full_name: HasDerivWithinAt.iterate
code: protected theorem HasDerivWithinAt.iterate {f : 𝕜 → 𝕜} {f' : 𝕜} (hf : HasDerivWithinAt f f' s x)
    (hx : f x = x) (hs : MapsTo f s s) (n : ℕ) : HasDerivWithinAt f^[n] (f' ^ n) s x 
goal: HasDerivWithinAt f^[n] (f' ^ n) s x

full_name: HasStrictDerivAt.iterate
code: protected nonrec theorem HasStrictDerivAt.iterate {f : 𝕜 → 𝕜} {f' : 𝕜}
    (hf : HasStrictDerivAt f f' x) (hx : f x = x) (n : ℕ) :
    HasStrictDerivAt f^[n] (f' ^ n) x 
goal: HasStrictDerivAt f^[n] (f' ^ n) x

full_name: HasFDerivWithinAt.comp_hasDerivWithinAt
code: /-- The composition `l ∘ f` where `l : F → E` and `f : 𝕜 → F`, has a derivative within a set
equal to the Fréchet derivative of `l` applied to the derivative of `f`. -/
theorem HasFDerivWithinAt.comp_hasDerivWithinAt {t : Set F} (hl : HasFDerivWithinAt l l' t (f x))
    (hf : HasDerivWithinAt f f' s x) (hst : MapsTo f s t) :
    HasDerivWithinAt (l ∘ f) (l' f') s x 
goal: HasDerivWithinAt (l ∘ f) (l' f') s x

full_name: HasFDerivWithinAt.comp_hasDerivWithinAt_of_eq
code: /-- The composition `l ∘ f` where `l : F → E` and `f : 𝕜 → F`, has a derivative within a set
equal to the Fréchet derivative of `l` applied to the derivative of `f`. -/
theorem HasFDerivWithinAt.comp_hasDerivWithinAt_of_eq {t : Set F}
    (hl : HasFDerivWithinAt l l' t y)
    (hf : HasDerivWithinAt f f' s x) (hst : MapsTo f s t) (hy : y = f x) :
    HasDerivWithinAt (l ∘ f) (l' f') s x 
goal: HasDerivWithinAt (l ∘ f) (l' f') s x

full_name: HasFDerivAt.comp_hasDerivWithinAt
code: theorem HasFDerivAt.comp_hasDerivWithinAt (hl : HasFDerivAt l l' (f x))
    (hf : HasDerivWithinAt f f' s x) : HasDerivWithinAt (l ∘ f) (l' f') s x 
goal: HasDerivWithinAt (l ∘ f) (l' f') s x

full_name: HasFDerivAt.comp_hasDerivWithinAt_of_eq
code: theorem HasFDerivAt.comp_hasDerivWithinAt_of_eq (hl : HasFDerivAt l l' y)
    (hf : HasDerivWithinAt f f' s x) (hy : y = f x) :
    HasDerivWithinAt (l ∘ f) (l' f') s x 
goal: HasDerivWithinAt (l ∘ f) (l' f') s x

full_name: HasFDerivAt.comp_hasDerivAt
code: /-- The composition `l ∘ f` where `l : F → E` and `f : 𝕜 → F`, has a derivative equal to the
Fréchet derivative of `l` applied to the derivative of `f`. -/
theorem HasFDerivAt.comp_hasDerivAt (hl : HasFDerivAt l l' (f x)) (hf : HasDerivAt f f' x) :
    HasDerivAt (l ∘ f) (l' f') x 
goal: HasDerivAt (l ∘ f) (l' f') x

full_name: HasFDerivAt.comp_hasDerivAt_of_eq
code: /-- The composition `l ∘ f` where `l : F → E` and `f : 𝕜 → F`, has a derivative equal to the
Fréchet derivative of `l` applied to the derivative of `f`. -/
theorem HasFDerivAt.comp_hasDerivAt_of_eq
    (hl : HasFDerivAt l l' y) (hf : HasDerivAt f f' x) (hy : y = f x) :
    HasDerivAt (l ∘ f) (l' f') x 
goal: HasDerivAt (l ∘ f) (l' f') x

full_name: HasStrictFDerivAt.comp_hasStrictDerivAt
code: theorem HasStrictFDerivAt.comp_hasStrictDerivAt (hl : HasStrictFDerivAt l l' (f x))
    (hf : HasStrictDerivAt f f' x) : HasStrictDerivAt (l ∘ f) (l' f') x 
goal: HasStrictDerivAt (l ∘ f) (l' f') x

full_name: HasStrictFDerivAt.comp_hasStrictDerivAt_of_eq
code: theorem HasStrictFDerivAt.comp_hasStrictDerivAt_of_eq (hl : HasStrictFDerivAt l l' y)
    (hf : HasStrictDerivAt f f' x) (hy : y = f x) :
    HasStrictDerivAt (l ∘ f) (l' f') x 
goal: HasStrictDerivAt (l ∘ f) (l' f') x

full_name: fderivWithin.comp_derivWithin
code: theorem fderivWithin.comp_derivWithin {t : Set F} (hl : DifferentiableWithinAt 𝕜 l t (f x))
    (hf : DifferentiableWithinAt 𝕜 f s x) (hs : MapsTo f s t) (hxs : UniqueDiffWithinAt 𝕜 s x) :
    derivWithin (l ∘ f) s x = (fderivWithin 𝕜 l t (f x) : F → E) (derivWithin f s x) 
goal: derivWithin (l ∘ f) s x = (fderivWithin 𝕜 l t (f x)) (derivWithin f s x)

full_name: fderivWithin.comp_derivWithin_of_eq
code: theorem fderivWithin.comp_derivWithin_of_eq {t : Set F} (hl : DifferentiableWithinAt 𝕜 l t y)
    (hf : DifferentiableWithinAt 𝕜 f s x) (hs : MapsTo f s t) (hxs : UniqueDiffWithinAt 𝕜 s x)
    (hy : y = f x) :
    derivWithin (l ∘ f) s x = (fderivWithin 𝕜 l t (f x) : F → E) (derivWithin f s x) 
goal: derivWithin (l ∘ f) s x = (fderivWithin 𝕜 l t (f x)) (derivWithin f s x)

full_name: fderiv.comp_deriv
code: theorem fderiv.comp_deriv (hl : DifferentiableAt 𝕜 l (f x)) (hf : DifferentiableAt 𝕜 f x) :
    deriv (l ∘ f) x = (fderiv 𝕜 l (f x) : F → E) (deriv f x) 
goal: deriv (l ∘ f) x = (fderiv 𝕜 l (f x)) (deriv f x)

full_name: fderiv.comp_deriv_of_eq
code: theorem fderiv.comp_deriv_of_eq (hl : DifferentiableAt 𝕜 l y) (hf : DifferentiableAt 𝕜 f x)
    (hy : y = f x) :
    deriv (l ∘ f) x = (fderiv 𝕜 l (f x) : F → E) (deriv f x) 
goal: deriv (l ∘ f) x = (fderiv 𝕜 l (f x)) (deriv f x)