Theorem: ProbabilityTheory.measurable_memPartitionSet_subtype
File: Mathlib/Probability/Process/PartitionFiltration.lean

tactic: refine @measurable_to_countable' (memPartition t n) α m _
  (partitionFiltration ht n) _ (fun s ↦ ?_)
state_before: α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
⊢ Measurable fun a => ⟨memPartitionSet t n a, ⋯⟩
state_after: α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : ↑(memPartition t n)
⊢ MeasurableSet ((fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {s})

tactic: rcases s with ⟨s, hs⟩
state_before: α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : ↑(memPartition t n)
⊢ MeasurableSet ((fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {s})
state_after: case mk
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
⊢ MeasurableSet ((fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩})

tactic: suffices MeasurableSet[partitionFiltration ht n] {x | memPartitionSet t n x = s} by
  convert this
  ext x
  simp
state_before: case mk
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
⊢ MeasurableSet ((fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩})
state_after: case mk
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
⊢ MeasurableSet {x | memPartitionSet t n x = s}

tactic: simp_rw [memPartitionSet_eq_iff _ hs]
state_before: case mk
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
⊢ MeasurableSet {x | memPartitionSet t n x = s}
state_after: case mk
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
⊢ MeasurableSet {x | x ∈ s}

tactic: exact measurableSet_partitionFiltration_of_mem _ _ hs
state_before: case mk
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
⊢ MeasurableSet {x | x ∈ s}
state_after: no goals

tactic: convert this
state_before: α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
this : MeasurableSet {x | memPartitionSet t n x = s}
⊢ MeasurableSet ((fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩})
state_after: case h.e'_3
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
this : MeasurableSet {x | memPartitionSet t n x = s}
⊢ (fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩} = {x | memPartitionSet t n x = s}

tactic: ext x
state_before: case h.e'_3
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
this : MeasurableSet {x | memPartitionSet t n x = s}
⊢ (fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩} = {x | memPartitionSet t n x = s}
state_after: case h.e'_3.h
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
this : MeasurableSet {x | memPartitionSet t n x = s}
x : α
⊢ x ∈ (fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩} ↔ x ∈ {x | memPartitionSet t n x = s}

tactic: simp
state_before: case h.e'_3.h
α : Type u_1
m✝ : MeasurableSpace α
t : ℕ → Set α
ht : ∀ (n : ℕ), MeasurableSet (t n)
n : ℕ
m : MeasurableSpace ↑(memPartition t n)
s : Set α
hs : s ∈ memPartition t n
this : MeasurableSet {x | memPartitionSet t n x = s}
x : α
⊢ x ∈ (fun a => ⟨memPartitionSet t n a, ⋯⟩) ⁻¹' {⟨s, hs⟩} ↔ x ∈ {x | memPartitionSet t n x = s}
state_after: no goals