Theorem: MProd.mk.arg_fstsnd.revDeriv_rule (SciLean/Core/Monads/MProd.lean)

State before:
K : Type u_1
inst✝³ : RCLike K
X : Type u_3
inst✝² : SemiInnerProductSpace K X
Y : Type u_3
inst✝¹ : SemiInnerProductSpace K Y
W : Type u_2
inst✝ : SemiInnerProductSpace K W
f : W → X
g : W → Y
hf : HasAdjDiff K f
hg : HasAdjDiff K g
⊢ (revDeriv K fun w => { fst := f w, snd := g w }) = fun w =>
    let xdf' := revDeriv K f w;
    let ydg' := revDeriv K g w;
    ({ fst := xdf'.1, snd := ydg'.1 }, fun dxy => xdf'.2 dxy.fst + ydg'.2 dxy.snd)
Tactic:
sorry_proof
State after:
no goals