Theorem: MeasureTheory.IsStoppingTime.measurableSet_eq_stopping_time
File: Mathlib/Probability/Process/Stopping.lean

Proof steps:
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
⊢ MeasurableSet {ω | τ ω = π ω}
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
⊢ ∀ (i : ι), MeasurableSet ({ω | τ ω = π ω} ∩ {ω | τ ω ≤ i})
tactic: rw [hτ.measurableSet]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
⊢ ∀ (i : ι), MeasurableSet ({ω | τ ω = π ω} ∩ {ω | τ ω ≤ i})
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
⊢ MeasurableSet ({ω | τ ω = π ω} ∩ {ω | τ ω ≤ j})
tactic: intro j
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ MeasurableSet ({ω | τ ω = π ω} ∩ {ω | τ ω ≤ j})
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ MeasurableSet ({ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j})
tactic: rw [this]
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ MeasurableSet ({ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j})
state_after: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ MeasurableSet {ω | min (τ ω) j = min (π ω) j}
tactic: refine
    MeasurableSet.inter (MeasurableSet.inter ?_ (hτ.measurableSet_le j)) (hπ.measurableSet_le j)
state_before: Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ MeasurableSet {ω | min (τ ω) j = min (π ω) j}
state_after: case hf
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ Measurable fun x => min (τ x) j

case hg
Ω : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace Ω
inst✝⁸ : LinearOrder ι
f : Filtration ι m
τ π : Ω → ι
inst✝⁷ : AddGroup ι
inst✝⁶ : TopologicalSpace ι
inst✝⁵ : MeasurableSpace ι
inst✝⁴ : BorelSpace ι
inst✝³ : OrderTopology ι
inst✝² : MeasurableSingletonClass ι
inst✝¹ : SecondCountableTopology ι
inst✝ : MeasurableSub₂ ι
hτ : IsStoppingTime f τ
hπ : IsStoppingTime f π
j : ι
this : {ω | τ ω = π ω} ∩ {ω | τ ω ≤ j} = {ω | min (τ ω) j = min (π ω) j} ∩ {ω | τ ω ≤ j} ∩ {ω | π ω ≤ j}
⊢ Measurable fun x => min (π x) j
tactic: apply measurableSet_eq_fun