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

State before:
R : Type u_1
inst✝⁶ : RealScalar R
W : Type ?u.150809
inst✝⁵ : Vec R W
inst✝⁴ : Module ℝ W
X : Type u_2
inst✝³ : TopologicalSpace X
space : TCOr (Vec R X) (DiscreteTopology X)
Y : Type u_4
inst✝² : Vec R Y
inst✝¹ : Module ℝ Y
Z : Type u_3
inst✝ : Vec R Z
x : 𝒟'(X, Z)
f : X → 𝒟'(Y, R)
φ : 𝒟 Y
⊢ (DistributionFun.bind x f).action φ = x.extAction fun x' => (f x').action φ
Tactic:
simp[DistributionFun.bind]
State after:
R : Type u_1
inst✝⁶ : RealScalar R
W : Type ?u.150809
inst✝⁵ : Vec R W
inst✝⁴ : Module ℝ W
X : Type u_2
inst✝³ : TopologicalSpace X
space : TCOr (Vec R X) (DiscreteTopology X)
Y : Type u_4
inst✝² : Vec R Y
inst✝¹ : Module ℝ Y
Z : Type u_3
inst✝ : Vec R Z
x : 𝒟'(X, Z)
f : X → 𝒟'(Y, R)
φ : 𝒟 Y
⊢ (limit n → ∞, { action := fun φ ⊸ x.action (testFunApprox n fun x => (f x).action φ) }).action φ =
    x.extAction fun x' => (f x').action φ

State before:
R : Type u_1
inst✝⁶ : RealScalar R
W : Type ?u.150809
inst✝⁵ : Vec R W
inst✝⁴ : Module ℝ W
X : Type u_2
inst✝³ : TopologicalSpace X
space : TCOr (Vec R X) (DiscreteTopology X)
Y : Type u_4
inst✝² : Vec R Y
inst✝¹ : Module ℝ Y
Z : Type u_3
inst✝ : Vec R Z
x : 𝒟'(X, Z)
f : X → 𝒟'(Y, R)
φ : 𝒟 Y
⊢ (limit n → ∞, { action := fun φ ⊸ x.action (testFunApprox n fun x => (f x).action φ) }).action φ =
    x.extAction fun x' => (f x').action φ
Tactic:
sorry_proof
State after:
no goals