Theorem: MeasureTheory.Measure.MeasurableSet.nullMeasurableSet_subtype_coe
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [Subtype.instMeasurableSpace, comap_eq_generateFrom] at ht
state_before: α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
⊢ NullMeasurableSet (Subtype.val '' t)

tactic: refine'
  generateFrom_induction (p := fun t : Set s => NullMeasurableSet ((↑) '' t) μ)
    { t : Set s | ∃ s' : Set α, MeasurableSet s' ∧ (↑) ⁻¹' s' = t } _ _ _ _ ht
state_before: α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
⊢ NullMeasurableSet (Subtype.val '' t)

tactic: rintro t' ⟨s', hs', rfl⟩
state_before: case refine'_1
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
⊢ ∀ (t : Set ↑s),
    t ∈ {t | ∃ s', MeasurableSet s' ∧ Subtype.val ⁻¹' s' = t} → (fun t => NullMeasurableSet (Subtype.val '' t)) t

tactic: rw [Subtype.image_preimage_coe]
state_before: case refine'_1.intro.intro
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s'✝ t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
s' : Set α
hs' : MeasurableSet s'
⊢ NullMeasurableSet (Subtype.val '' (Subtype.val ⁻¹' s'))

tactic: exact hs'.nullMeasurableSet.inter hs
state_before: case refine'_1.intro.intro
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s'✝ t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
s' : Set α
hs' : MeasurableSet s'
⊢ NullMeasurableSet (s' ∩ s)

tactic: simp only [image_empty, nullMeasurableSet_empty]
state_before: case refine'_2
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
⊢ (fun t => NullMeasurableSet (Subtype.val '' t)) ∅

tactic: intro t'
state_before: case refine'_3
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
⊢ ∀ (t : Set ↑s),
    (fun t => NullMeasurableSet (Subtype.val '' t)) t → (fun t => NullMeasurableSet (Subtype.val '' t)) (tᶜ)

tactic: simp only [← range_diff_image Subtype.coe_injective, Subtype.range_coe_subtype, setOf_mem_eq]
state_before: case refine'_3
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
t' : Set ↑s
⊢ (fun t => NullMeasurableSet (Subtype.val '' t)) t' → (fun t => NullMeasurableSet (Subtype.val '' t)) (t'ᶜ)

tactic: exact hs.diff
state_before: case refine'_3
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
t' : Set ↑s
⊢ NullMeasurableSet (Subtype.val '' t') → NullMeasurableSet (s \ (fun a => ↑a) '' t')

tactic: intro f
state_before: case refine'_4
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
⊢ ∀ (f : ℕ → Set ↑s),
    (∀ (n : ℕ), (fun t => NullMeasurableSet (Subtype.val '' t)) (f n)) →
      (fun t => NullMeasurableSet (Subtype.val '' t)) (⋃ (i : ℕ), f i)

tactic: dsimp only []
state_before: case refine'_4
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
f : ℕ → Set ↑s
⊢ (∀ (n : ℕ), (fun t => NullMeasurableSet (Subtype.val '' t)) (f n)) →
    (fun t => NullMeasurableSet (Subtype.val '' t)) (⋃ (i : ℕ), f i)

tactic: rw [image_iUnion]
state_before: case refine'_4
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
f : ℕ → Set ↑s
⊢ (∀ (n : ℕ), NullMeasurableSet (Subtype.val '' f n)) → NullMeasurableSet (Subtype.val '' ⋃ (i : ℕ), f i)

tactic: exact NullMeasurableSet.iUnion
state_before: case refine'_4
α : Type u_1
β : Type ?u.253013
γ : Type ?u.253016
δ : Type ?u.253019
ι : Type ?u.253022
R : Type ?u.253025
R' : Type ?u.253028
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
t : Set ↑s
hs : NullMeasurableSet s
ht : MeasurableSet t
f : ℕ → Set ↑s
⊢ (∀ (n : ℕ), NullMeasurableSet (Subtype.val '' f n)) → NullMeasurableSet (⋃ (i : ℕ), Subtype.val '' f i)