Theorem: MeasureTheory.ext_on_measurableSpace_of_generate_finite
File: Mathlib/MeasureTheory/Measure/Typeclasses.lean

tactic: haveI : IsFiniteMeasure ν := by
  constructor
  rw [← h_univ]
  apply IsFiniteMeasure.measure_univ_lt_top
state_before: α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
⊢ μ s = ν s
state_after: α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ μ s = ν s

tactic: refine induction_on_inter hA hC (by simp) hμν ?_ ?_ hs
state_before: α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ μ s = ν s
state_after: case refine_1
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ ∀ (t : Set α), MeasurableSet t → μ t = ν t → μ tᶜ = ν tᶜ

case refine_2
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ ∀ (f : ℕ → Set α),
    Pairwise (Disjoint on f) →
      (∀ (i : ℕ), MeasurableSet (f i)) → (∀ (i : ℕ), μ (f i) = ν (f i)) → μ (⋃ i, f i) = ν (⋃ i, f i)

tactic: constructor
state_before: α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
⊢ IsFiniteMeasure ν
state_after: case measure_univ_lt_top
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
⊢ ν univ < ⊤

tactic: rw [← h_univ]
state_before: case measure_univ_lt_top
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
⊢ ν univ < ⊤
state_after: case measure_univ_lt_top
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
⊢ μ univ < ⊤

tactic: apply IsFiniteMeasure.measure_univ_lt_top
state_before: case measure_univ_lt_top
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
⊢ μ univ < ⊤
state_after: no goals

tactic: simp
state_before: α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ μ ∅ = ν ∅
state_after: no goals

tactic: intro t h1t h2t
state_before: case refine_1
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ ∀ (t : Set α), MeasurableSet t → μ t = ν t → μ tᶜ = ν tᶜ
state_after: case refine_1
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t✝ : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
t : Set α
h1t : MeasurableSet t
h2t : μ t = ν t
⊢ μ tᶜ = ν tᶜ

tactic: have h1t_ : @MeasurableSet α m₀ t := h _ h1t
state_before: case refine_1
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t✝ : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
t : Set α
h1t : MeasurableSet t
h2t : μ t = ν t
⊢ μ tᶜ = ν tᶜ
state_after: case refine_1
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t✝ : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
t : Set α
h1t : MeasurableSet t
h2t : μ t = ν t
h1t_ : MeasurableSet t
⊢ μ tᶜ = ν tᶜ

tactic: rw [@measure_compl α m₀ μ t h1t_ (@measure_ne_top α m₀ μ _ t),
  @measure_compl α m₀ ν t h1t_ (@measure_ne_top α m₀ ν _ t), h_univ, h2t]
state_before: case refine_1
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t✝ : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
t : Set α
h1t : MeasurableSet t
h2t : μ t = ν t
h1t_ : MeasurableSet t
⊢ μ tᶜ = ν tᶜ
state_after: no goals

tactic: intro f h1f h2f h3f
state_before: case refine_2
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
⊢ ∀ (f : ℕ → Set α),
    Pairwise (Disjoint on f) →
      (∀ (i : ℕ), MeasurableSet (f i)) → (∀ (i : ℕ), μ (f i) = ν (f i)) → μ (⋃ i, f i) = ν (⋃ i, f i)
state_after: case refine_2
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
f : ℕ → Set α
h1f : Pairwise (Disjoint on f)
h2f : ∀ (i : ℕ), MeasurableSet (f i)
h3f : ∀ (i : ℕ), μ (f i) = ν (f i)
⊢ μ (⋃ i, f i) = ν (⋃ i, f i)

tactic: have h2f_ : ∀ i : ℕ, @MeasurableSet α m₀ (f i) := fun i => h _ (h2f i)
state_before: case refine_2
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
f : ℕ → Set α
h1f : Pairwise (Disjoint on f)
h2f : ∀ (i : ℕ), MeasurableSet (f i)
h3f : ∀ (i : ℕ), μ (f i) = ν (f i)
⊢ μ (⋃ i, f i) = ν (⋃ i, f i)
state_after: case refine_2
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
f : ℕ → Set α
h1f : Pairwise (Disjoint on f)
h2f : ∀ (i : ℕ), MeasurableSet (f i)
h3f : ∀ (i : ℕ), μ (f i) = ν (f i)
h2f_ : ∀ (i : ℕ), MeasurableSet (f i)
⊢ μ (⋃ i, f i) = ν (⋃ i, f i)

tactic: simp [measure_iUnion, h1f, h3f, h2f_]
state_before: case refine_2
α✝ : Type u_1
β : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝¹ : MeasurableSpace β
μ✝ ν✝ ν₁ ν₂ : Measure α✝
s✝ t : Set α✝
α : Type u_5
m₀ : MeasurableSpace α
μ ν : Measure α
inst✝ : IsFiniteMeasure μ
C : Set (Set α)
hμν : ∀ s ∈ C, μ s = ν s
m : MeasurableSpace α
h : m ≤ m₀
hA : m = generateFrom C
hC : IsPiSystem C
h_univ : μ univ = ν univ
s : Set α
hs : MeasurableSet s
this : IsFiniteMeasure ν
f : ℕ → Set α
h1f : Pairwise (Disjoint on f)
h2f : ∀ (i : ℕ), MeasurableSet (f i)
h3f : ∀ (i : ℕ), μ (f i) = ν (f i)
h2f_ : ∀ (i : ℕ), MeasurableSet (f i)
⊢ μ (⋃ i, f i) = ν (⋃ i, f i)
state_after: no goals