sorry_proof
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
⊢ (revDerivUpdate K fun w => (f w).snd) = fun w =>
    let xydxy := revDerivUpdate K f w;
    (xydxy.1.snd, fun dy' dw => xydxy.2 { fst := 0, snd := dy' } dw)
no goals