intro x
R : Type u_1
inst✝⁹ : RealScalar R
W : Type u_6
inst✝⁸ : Vec R W
X : Type u_7
inst✝⁷ : Vec R X
inst✝⁶ : MeasureSpace X
Y : Type u_4
inst✝⁵ : Vec R Y
inst✝⁴ : Module ℝ Y
Z : Type u_2
inst✝³ : Vec R Z
inst✝² : Module ℝ Z
U : Type u_5
inst✝¹ : Vec R U
V : Type u_3
inst✝ : Vec R V
f : X → Y → 𝒟'(Z, V)
g : X → 𝒟'(Y, U)
L : U ⊸[R] V ⊸[R] W
hf :
  DistribDifferentiable fun x =>
    match x with
    | (x, y) => f x y
hg : DistribDifferentiable g
⊢ DistribDifferentiable fun x => Distribution.bind (g x) (f x) L
R : Type u_1
inst✝⁹ : RealScalar R
W : Type u_6
inst✝⁸ : Vec R W
X : Type u_7
inst✝⁷ : Vec R X
inst✝⁶ : MeasureSpace X
Y : Type u_4
inst✝⁵ : Vec R Y
inst✝⁴ : Module ℝ Y
Z : Type u_2
inst✝³ : Vec R Z
inst✝² : Module ℝ Z
U : Type u_5
inst✝¹ : Vec R U
V : Type u_3
inst✝ : Vec R V
f : X → Y → 𝒟'(Z, V)
g : X → 𝒟'(Y, U)
L : U ⊸[R] V ⊸[R] W
hf :
  DistribDifferentiable fun x =>
    match x with
    | (x, y) => f x y
hg : DistribDifferentiable g
x : X
⊢ DistribDifferentiableAt (fun x => Distribution.bind (g x) (f x) L) x