Imports
/- Copyright (c) 2025 Tomas Skrivan. All rights reserved. Released under Apache 2.0 license as described in the file LICENSE. Authors: Tomas Skrivan -/ module public import Physlib.Mathematics.InnerProductSpace.Basic

Generalization of calculus results to InnerProductSpace'

@[expose] public sectionlocal notation "⟪" x ", " y "⟫" => inner x ylemma HasFDerivAt.inner' {f g : E F} {f' g' : E →L[] F} (hf : HasFDerivAt f f' x) (hg : HasFDerivAt g g' x) : HasFDerivAt (fun t => f t, g t) ((fderivInnerCLM' (f x, g x)).comp <| f'.prod g') x := E:Type u_2F:Type u_3inst✝⁴:NormedAddCommGroup Einst✝³:NormedSpace Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace Finst✝:InnerProductSpace' Fx:Ef:E Fg:E Ff':E →L[] Fg':E →L[] Fhf:HasFDerivAt f f' xhg:HasFDerivAt g g' xHasFDerivAt (fun t => f t, g t) (fderivInnerCLM' (f x, g x) ∘SL f'.prod g') x All goals completed! 🐙E:Type u_2F:Type u_3inst✝⁴:NormedAddCommGroup Einst✝³:NormedSpace Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace Finst✝:InnerProductSpace' Ff:E Fg:E Fx:Ehf:DifferentiableAt f xhg:DifferentiableAt g xy:E(fderivInnerCLM' (f x, g x) ∘SL (fderiv f x).prod (fderiv g x)) y = f x, (fderiv g x) y + (fderiv f x) y, g x All goals completed! 🐙-- todo: move this lemma deriv_inner_apply' {f g : F} {x : } (hf : DifferentiableAt f x) (hg : DifferentiableAt g x) : deriv (fun t => f t, g t) x = f x, deriv g x + deriv f x, g x := fderiv_inner_apply' hf hg 1-- todo: move this @[fun_prop] lemma DifferentiableAt.inner' {f g : E F} {x} (hf : DifferentiableAt f x) (hg : DifferentiableAt g x) : DifferentiableAt (fun x => f x, g x) x := E:Type u_2F:Type u_3inst✝⁴:NormedAddCommGroup Einst✝³:NormedSpace Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace Finst✝:InnerProductSpace' Ff:E Fg:E Fx:Ehf:DifferentiableAt f xhg:DifferentiableAt g xDifferentiableAt (fun x => f x, g x) x E:Type u_2F:Type u_3inst✝⁴:NormedAddCommGroup Einst✝³:NormedSpace Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace Finst✝:InnerProductSpace' Ff:E Fg:E Fx:Ehf:DifferentiableAt f xhg:DifferentiableAt g xHasFDerivAt (fun x => f x, g x) ?f' xE:Type u_2F:Type u_3inst✝⁴:NormedAddCommGroup Einst✝³:NormedSpace Einst✝²:NormedAddCommGroup Finst✝¹:NormedSpace Finst✝:InnerProductSpace' Ff:E Fg:E Fx:Ehf:DifferentiableAt f xhg:DifferentiableAt g xE →L[] All goals completed! 🐙