Theorem: MeasureTheory.Measure.ext_of_generateFrom_of_cover
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
state_before: α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
⊢ μ = ν

tactic: ext1 u hu
state_before: α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
⊢ restrict μ t = restrict ν t

tactic: simp only [restrict_apply hu]
state_before: case h
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ↑↑(restrict μ t) u = ↑↑(restrict ν t) u

tactic: refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
state_before: case h
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ↑↑μ (u ∩ t) = ↑↑ν (u ∩ t)

tactic: simp only [Set.empty_inter, measure_empty]
state_before: case h.refine'_1
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ↑↑μ (∅ ∩ t) = ↑↑ν (∅ ∩ t)

tactic: intro v hv hvt
state_before: case h.refine'_2
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ∀ (t_1 : Set α), MeasurableSet t_1 → ↑↑μ (t_1 ∩ t) = ↑↑ν (t_1 ∩ t) → ↑↑μ (t_1ᶜ ∩ t) = ↑↑ν (t_1ᶜ ∩ t)

tactic: have := T_eq t ht
state_before: case h.refine'_2
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
v : Set α
hv : MeasurableSet v
hvt : ↑↑μ (v ∩ t) = ↑↑ν (v ∩ t)
⊢ ↑↑μ (vᶜ ∩ t) = ↑↑ν (vᶜ ∩ t)

tactic: rw [Set.inter_comm] at hvt⊢
state_before: case h.refine'_2
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
v : Set α
hv : MeasurableSet v
hvt : ↑↑μ (v ∩ t) = ↑↑ν (v ∩ t)
this : ↑↑μ t = ↑↑ν t
⊢ ↑↑μ (vᶜ ∩ t) = ↑↑ν (vᶜ ∩ t)

tactic: rwa [← measure_inter_add_diff t hv, ← measure_inter_add_diff t hv, ← hvt,
  ENNReal.add_right_inj] at this
state_before: case h.refine'_2
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
v : Set α
hv : MeasurableSet v
hvt : ↑↑μ (t ∩ v) = ↑↑ν (t ∩ v)
this : ↑↑μ t = ↑↑ν t
⊢ ↑↑μ (t ∩ vᶜ) = ↑↑ν (t ∩ vᶜ)

tactic: exact ne_top_of_le_ne_top (htop t ht) (measure_mono <| Set.inter_subset_left _ _)
state_before: case h.refine'_2
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
v : Set α
hv : MeasurableSet v
hvt : ↑↑μ (t ∩ v) = ↑↑ν (t ∩ v)
this : ↑↑μ (t ∩ v) + ↑↑μ (t \ v) = ↑↑μ (t ∩ v) + ↑↑ν (t \ v)
⊢ ↑↑μ (t ∩ v) ≠ ⊤

tactic: intro f hfd hfm h_eq
state_before: case h.refine'_3
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ∀ (f : ℕ → Set α),
    Pairwise (Disjoint on f) →
      (∀ (i : ℕ), MeasurableSet (f i)) →
        (∀ (i : ℕ), ↑↑μ (f i ∩ t) = ↑↑ν (f i ∩ t)) → ↑↑μ ((⋃ (i : ℕ), f i) ∩ t) = ↑↑ν ((⋃ (i : ℕ), f i) ∩ t)

tactic: simp only [← restrict_apply (hfm _), ← restrict_apply (MeasurableSet.iUnion hfm)] at h_eq⊢
state_before: case h.refine'_3
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
f : ℕ → Set α
hfd : Pairwise (Disjoint on f)
hfm : ∀ (i : ℕ), MeasurableSet (f i)
h_eq : ∀ (i : ℕ), ↑↑μ (f i ∩ t) = ↑↑ν (f i ∩ t)
⊢ ↑↑μ ((⋃ (i : ℕ), f i) ∩ t) = ↑↑ν ((⋃ (i : ℕ), f i) ∩ t)

tactic: simp only [measure_iUnion hfd hfm, h_eq]
state_before: case h.refine'_3
α : Type u_1
β : Type ?u.320545
γ : Type ?u.320548
δ : Type ?u.320551
ι : Type ?u.320554
R : Type ?u.320557
R' : Type ?u.320560
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
hc : Set.Countable T
h_inter : IsPiSystem S
hU : ⋃₀ T = univ
htop : ∀ (t : Set α), t ∈ T → ↑↑μ t ≠ ⊤
ST_eq : ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ (t : Set α), t ∈ T → ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
f : ℕ → Set α
hfd : Pairwise (Disjoint on f)
hfm : ∀ (i : ℕ), MeasurableSet (f i)
h_eq : ∀ (i : ℕ), ↑↑(restrict μ t) (f i) = ↑↑(restrict ν t) (f i)
⊢ ↑↑(restrict μ t) (⋃ (i : ℕ), f i) = ↑↑(restrict ν t) (⋃ (i : ℕ), f i)