fun_trans
case h.h.h
K : Type
inst✝⁹ : RCLike K
m : Type → Type
m' : outParam (Type → Type)
inst✝⁸ : Monad m
inst✝⁷ : Monad m'
inst✝⁶ : FwdDerivMonad K m m'
inst✝⁵ : LawfulMonad m
inst✝⁴ : LawfulMonad m'
S : Type
inst✝³ : Vec K S
X : Type
inst✝² : Vec K X
Y : Type ?u.51058
inst✝¹ : Vec K Y
Z : Type ?u.51069
inst✝ : Vec K Z
s : X → S
ha0 : CDifferentiable K s
x✝² x✝¹ : X
x✝ : S × S
⊢ (do
      let r ← fwdDerivM K (fun xs => pure (PUnit.unit, s xs.1)) (x✝², x✝.1) (x✝¹, x✝.2)
      pure ((r.1.1, r.2.1), r.1.2, r.2.2)) =
    pure ((), ()) (fwdDeriv K s x✝² x✝¹)
case h.h.h
K : Type
inst✝⁹ : RCLike K
m : Type → Type
m' : outParam (Type → Type)
inst✝⁸ : Monad m
inst✝⁷ : Monad m'
inst✝⁶ : FwdDerivMonad K m m'
inst✝⁵ : LawfulMonad m
inst✝⁴ : LawfulMonad m'
S : Type
inst✝³ : Vec K S
X : Type
inst✝² : Vec K X
Y : Type ?u.51058
inst✝¹ : Vec K Y
Z : Type ?u.51069
inst✝ : Vec K Z
s : X → S
ha0 : CDifferentiable K s
x✝² x✝¹ : X
x✝ : S × S
⊢ pure ((PUnit.unit, PUnit.unit), fwdDeriv K (fun x0 => s x0) x✝² x✝¹) = pure ((), ()) (fwdDeriv K s x✝² x✝¹)