Theorem: SciLean.action_bind (SciLean/Core/Distribution/Basic.lean)

State before:
R : Type u_1
inst✝⁸ : RealScalar R
W : Type u_6
inst✝⁷ : Vec R W
inst✝⁶ : Module ℝ W
X : Type u_2
inst✝⁵ : Vec R X
Y : Type u_4
inst✝⁴ : Vec R Y
inst✝³ : Module ℝ Y
Z : Type ?u.114701
inst✝² : Vec R Z
U : Type u_3
inst✝¹ : Vec R U
V : Type u_5
inst✝ : Vec R V
x : 𝒟'(X, U)
f : X → 𝒟'(Y, V)
L : U ⊸[R] V ⊸[R] W
φ : 𝒟 Y
⊢ (Distribution.bind x f L) φ = x.extAction (fun x' => Distribution.extAction' (f x') ⇑φ) L
Tactic:
simp[Distribution.bind]
State after:
no goals