Theorem: MProd.fst.arg_self.revDeriv_rule (SciLean/Core/Monads/MProd.lean)

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