l3lab/ntp-mathlib huggingface dataset:
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  

Proof state:
case h
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ t ∈ T, ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ↑↑(restrict μ t) u = ↑↑(restrict ν t) u

Next tactic:
simp only [restrict_apply hu]
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  

Proof state:
case h
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ t ∈ T, ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ↑↑μ (u ∩ t) = ↑↑ν (u ∩ t)

Next tactic:
refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · 

Proof state:
case h.refine'_1
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ t ∈ T, ↑↑μ t = ↑↑ν t
t : Set α
ht : t ∈ T
u : Set α
hu : MeasurableSet u
⊢ ↑↑μ (∅ ∩ t) = ↑↑ν (∅ ∩ t)

Next tactic:
simp only [Set.empty_inter, measure_empty]
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · 

Proof state:
case h.refine'_2
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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)

Next tactic:
intro v hv hvt
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    

Proof state:
case h.refine'_2
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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)

Next tactic:
have := T_eq t ht
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    have := T_eq t ht
    

Proof state:
case h.refine'_2
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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)

Next tactic:
rw [Set.inter_comm] at hvt ⊢
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    have := T_eq t ht
    rw [Set.inter_comm] at hvt ⊢
    

Proof state:
case h.refine'_2
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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ᶜ)

Next tactic:
rwa [← measure_inter_add_diff t hv, ← measure_inter_add_diff t hv, ← hvt,
      ENNReal.add_right_inj] at this
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    have := T_eq t ht
    rw [Set.inter_comm] at hvt ⊢
    rwa [← measure_inter_add_diff t hv, ← measure_inter_add_diff t hv, ← hvt,
      ENNReal.add_right_inj] at this
    

Proof state:
case h.refine'_2
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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) ≠ ⊤

Next tactic:
exact ne_top_of_le_ne_top (htop t ht) (measure_mono <| Set.inter_subset_left _ _)
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    have := T_eq t ht
    rw [Set.inter_comm] at hvt ⊢
    rwa [← measure_inter_add_diff t hv, ← measure_inter_add_diff t hv, ← hvt,
      ENNReal.add_right_inj] at this
    exact ne_top_of_le_ne_top (htop t ht) (measure_mono <| Set.inter_subset_left _ _)
  · 

Proof state:
case h.refine'_3
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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)

Next tactic:
intro f hfd hfm h_eq
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    have := T_eq t ht
    rw [Set.inter_comm] at hvt ⊢
    rwa [← measure_inter_add_diff t hv, ← measure_inter_add_diff t hv, ← hvt,
      ENNReal.add_right_inj] at this
    exact ne_top_of_le_ne_top (htop t ht) (measure_mono <| Set.inter_subset_left _ _)
  · intro f hfd hfm h_eq
    

Proof state:
case h.refine'_3
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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)

Next tactic:
simp only [← restrict_apply (hfm _), ← restrict_apply (MeasurableSet.iUnion hfm)] at h_eq ⊢
theorem ext_of_generateFrom_of_cover {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (hc : T.Countable) (h_inter : IsPiSystem S) (hU : ⋃₀ T = univ) (htop : ∀ t ∈ T, μ t ≠ ∞)
    (ST_eq : ∀ t ∈ T, ∀ s ∈ S, μ (s ∩ t) = ν (s ∩ t)) (T_eq : ∀ t ∈ T, μ t = ν t) : μ = ν := by
  refine' ext_of_sUnion_eq_univ hc hU fun t ht => _
  ext1 u hu
  simp only [restrict_apply hu]
  refine' induction_on_inter h_gen h_inter _ (ST_eq t ht) _ _ hu
  · simp only [Set.empty_inter, measure_empty]
  · intro v hv hvt
    have := T_eq t ht
    rw [Set.inter_comm] at hvt ⊢
    rwa [← measure_inter_add_diff t hv, ← measure_inter_add_diff t hv, ← hvt,
      ENNReal.add_right_inj] at this
    exact ne_top_of_le_ne_top (htop t ht) (measure_mono <| Set.inter_subset_left _ _)
  · intro f hfd hfm h_eq
    simp only [← restrict_apply (hfm _), ← restrict_apply (MeasurableSet.iUnion hfm)] at h_eq ⊢
    

Proof state:
case h.refine'_3
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
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 ∈ T, ↑↑μ t ≠ ⊤
ST_eq : ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
T_eq : ∀ 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)

Next tactic:
simp only [measure_iUnion hfd hfm, h_eq]
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `sUnion`. -/
theorem ext_of_generateFrom_of_cover_subset {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (h_inter : IsPiSystem S) (h_sub : T ⊆ S) (hc : T.Countable) (hU : ⋃₀ T = univ)
    (htop : ∀ s ∈ T, μ s ≠ ∞) (h_eq : ∀ s ∈ S, μ s = ν s) : μ = ν := by
  

Proof state:
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ s ∈ T, ↑↑μ s ≠ ⊤
h_eq : ∀ s ∈ S, ↑↑μ s = ↑↑ν s
⊢ μ = ν

Next tactic:
refine' ext_of_generateFrom_of_cover h_gen hc h_inter hU htop _ fun t ht => h_eq t (h_sub ht)
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `sUnion`. -/
theorem ext_of_generateFrom_of_cover_subset {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (h_inter : IsPiSystem S) (h_sub : T ⊆ S) (hc : T.Countable) (hU : ⋃₀ T = univ)
    (htop : ∀ s ∈ T, μ s ≠ ∞) (h_eq : ∀ s ∈ S, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover h_gen hc h_inter hU htop _ fun t ht => h_eq t (h_sub ht)
  

Proof state:
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ s ∈ T, ↑↑μ s ≠ ⊤
h_eq : ∀ s ∈ S, ↑↑μ s = ↑↑ν s
⊢ ∀ t ∈ T, ∀ s ∈ S, ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

Next tactic:
intro t ht s hs
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `sUnion`. -/
theorem ext_of_generateFrom_of_cover_subset {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (h_inter : IsPiSystem S) (h_sub : T ⊆ S) (hc : T.Countable) (hU : ⋃₀ T = univ)
    (htop : ∀ s ∈ T, μ s ≠ ∞) (h_eq : ∀ s ∈ S, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover h_gen hc h_inter hU htop _ fun t ht => h_eq t (h_sub ht)
  intro t ht s hs; 

Proof state:
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ s ∈ T, ↑↑μ s ≠ ⊤
h_eq : ∀ s ∈ S, ↑↑μ s = ↑↑ν s
t : Set α
ht : t ∈ T
s : Set α
hs : s ∈ S
⊢ ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

Next tactic:
rcases (s ∩ t).eq_empty_or_nonempty with H | H
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `sUnion`. -/
theorem ext_of_generateFrom_of_cover_subset {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (h_inter : IsPiSystem S) (h_sub : T ⊆ S) (hc : T.Countable) (hU : ⋃₀ T = univ)
    (htop : ∀ s ∈ T, μ s ≠ ∞) (h_eq : ∀ s ∈ S, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover h_gen hc h_inter hU htop _ fun t ht => h_eq t (h_sub ht)
  intro t ht s hs; rcases (s ∩ t).eq_empty_or_nonempty with H | H
  · 

Proof state:
case inl
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ s ∈ T, ↑↑μ s ≠ ⊤
h_eq : ∀ s ∈ S, ↑↑μ s = ↑↑ν s
t : Set α
ht : t ∈ T
s : Set α
hs : s ∈ S
H : s ∩ t = ∅
⊢ ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

Next tactic:
simp only [H, measure_empty]
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `sUnion`. -/
theorem ext_of_generateFrom_of_cover_subset {S T : Set (Set α)} (h_gen : ‹_› = generateFrom S)
    (h_inter : IsPiSystem S) (h_sub : T ⊆ S) (hc : T.Countable) (hU : ⋃₀ T = univ)
    (htop : ∀ s ∈ T, μ s ≠ ∞) (h_eq : ∀ s ∈ S, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover h_gen hc h_inter hU htop _ fun t ht => h_eq t (h_sub ht)
  intro t ht s hs; rcases (s ∩ t).eq_empty_or_nonempty with H | H
  · simp only [H, measure_empty]
  · 

Proof state:
case inr
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ s ∈ T, ↑↑μ s ≠ ⊤
h_eq : ∀ s ∈ S, ↑↑μ s = ↑↑ν s
t : Set α
ht : t ∈ T
s : Set α
hs : s ∈ S
H : Set.Nonempty (s ∩ t)
⊢ ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

Next tactic:
exact h_eq _ (h_inter _ hs _ (h_sub ht) H)
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `iUnion`.
  `FiniteSpanningSetsIn.ext` is a reformulation of this lemma. -/
theorem ext_of_generateFrom_of_iUnion (C : Set (Set α)) (B : ℕ → Set α) (hA : ‹_› = generateFrom C)
    (hC : IsPiSystem C) (h1B : ⋃ i, B i = univ) (h2B : ∀ i, B i ∈ C) (hμB : ∀ i, μ (B i) ≠ ∞)
    (h_eq : ∀ s ∈ C, μ s = ν s) : μ = ν := by
  

Proof state:
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
C : Set (Set α)
B : ℕ → Set α
hA : m0 = generateFrom C
hC : IsPiSystem C
h1B : ⋃ i, B i = univ
h2B : ∀ (i : ℕ), B i ∈ C
hμB : ∀ (i : ℕ), ↑↑μ (B i) ≠ ⊤
h_eq : ∀ s ∈ C, ↑↑μ s = ↑↑ν s
⊢ μ = ν

Next tactic:
refine' ext_of_generateFrom_of_cover_subset hA hC _ (countable_range B) h1B _ h_eq
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `iUnion`.
  `FiniteSpanningSetsIn.ext` is a reformulation of this lemma. -/
theorem ext_of_generateFrom_of_iUnion (C : Set (Set α)) (B : ℕ → Set α) (hA : ‹_› = generateFrom C)
    (hC : IsPiSystem C) (h1B : ⋃ i, B i = univ) (h2B : ∀ i, B i ∈ C) (hμB : ∀ i, μ (B i) ≠ ∞)
    (h_eq : ∀ s ∈ C, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover_subset hA hC _ (countable_range B) h1B _ h_eq
  · 

Proof state:
case refine'_1
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
C : Set (Set α)
B : ℕ → Set α
hA : m0 = generateFrom C
hC : IsPiSystem C
h1B : ⋃ i, B i = univ
h2B : ∀ (i : ℕ), B i ∈ C
hμB : ∀ (i : ℕ), ↑↑μ (B i) ≠ ⊤
h_eq : ∀ s ∈ C, ↑↑μ s = ↑↑ν s
⊢ range B ⊆ C

Next tactic:
rintro _ ⟨i, rfl⟩
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `iUnion`.
  `FiniteSpanningSetsIn.ext` is a reformulation of this lemma. -/
theorem ext_of_generateFrom_of_iUnion (C : Set (Set α)) (B : ℕ → Set α) (hA : ‹_› = generateFrom C)
    (hC : IsPiSystem C) (h1B : ⋃ i, B i = univ) (h2B : ∀ i, B i ∈ C) (hμB : ∀ i, μ (B i) ≠ ∞)
    (h_eq : ∀ s ∈ C, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover_subset hA hC _ (countable_range B) h1B _ h_eq
  · rintro _ ⟨i, rfl⟩
    

Proof state:
case refine'_1.intro
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
C : Set (Set α)
B : ℕ → Set α
hA : m0 = generateFrom C
hC : IsPiSystem C
h1B : ⋃ i, B i = univ
h2B : ∀ (i : ℕ), B i ∈ C
hμB : ∀ (i : ℕ), ↑↑μ (B i) ≠ ⊤
h_eq : ∀ s ∈ C, ↑↑μ s = ↑↑ν s
i : ℕ
⊢ B i ∈ C

Next tactic:
apply h2B
/-- Two measures are equal if they are equal on the π-system generating the σ-algebra,
  and they are both finite on an increasing spanning sequence of sets in the π-system.
  This lemma is formulated using `iUnion`.
  `FiniteSpanningSetsIn.ext` is a reformulation of this lemma. -/
theorem ext_of_generateFrom_of_iUnion (C : Set (Set α)) (B : ℕ → Set α) (hA : ‹_› = generateFrom C)
    (hC : IsPiSystem C) (h1B : ⋃ i, B i = univ) (h2B : ∀ i, B i ∈ C) (hμB : ∀ i, μ (B i) ≠ ∞)
    (h_eq : ∀ s ∈ C, μ s = ν s) : μ = ν := by
  refine' ext_of_generateFrom_of_cover_subset hA hC _ (countable_range B) h1B _ h_eq
  · rintro _ ⟨i, rfl⟩
    apply h2B
  · 

Proof state:
case refine'_2
R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
C : Set (Set α)
B : ℕ → Set α
hA : m0 = generateFrom C
hC : IsPiSystem C
h1B : ⋃ i, B i = univ
h2B : ∀ (i : ℕ), B i ∈ C
hμB : ∀ (i : ℕ), ↑↑μ (B i) ≠ ⊤
h_eq : ∀ s ∈ C, ↑↑μ s = ↑↑ν s
⊢ ∀ s ∈ range B, ↑↑μ s ≠ ⊤

Next tactic:
rintro _ ⟨i, rfl⟩