Theorem: MeasureTheory.SignedMeasure.exists_compl_positive_negative
File: Mathlib/MeasureTheory/Decomposition/SignedHahn.lean

tactic: obtain ⟨f, _, hf₂, hf₁⟩ :=
  exists_seq_tendsto_sInf ⟨0, @zero_mem_measureOfNegatives _ _ s⟩ bddBelow_measureOfNegatives
state_before: α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: choose B hB using hf₁
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
hf₁ : ∀ (n : ℕ), f n ∈ measureOfNegatives s
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: have hB₁ : ∀ n, MeasurableSet (B n) := fun n => (hB n).1.1
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: have hB₂ : ∀ n, s ≤[B n] 0 := fun n => (hB n).1.2
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: set A := ⋃ n, B n with hA
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: have hA₁ : MeasurableSet A := MeasurableSet.iUnion hB₁
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: have hA₂ : s ≤[A] 0 := restrict_le_restrict_iUnion _ _ hB₁ hB₂
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: refine' ⟨Aᶜ, hA₁.compl, _, (compl_compl A).symm ▸ hA₂⟩
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
⊢ ∃ i, MeasurableSet i ∧ restrict 0 i ≤ restrict s i ∧ restrict s (iᶜ) ≤ restrict 0 (iᶜ)

tactic: rw [restrict_le_restrict_iff _ _ hA₁.compl]
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
⊢ restrict 0 (Aᶜ) ≤ restrict s (Aᶜ)

tactic: intro C _ hC₁
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
⊢ ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ Aᶜ → ↑0 j ≤ ↑s j

tactic: by_contra' hC₂
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
⊢ ↑0 C ≤ ↑s C

tactic: rcases exists_subset_restrict_nonpos hC₂ with ⟨D, hD₁, hD, hD₂, hD₃⟩
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
⊢ False

tactic: have : s (A ∪ D) < sInf s.measureOfNegatives := by
  rw [← hA₃,
    of_union (Set.disjoint_of_subset_right (Set.Subset.trans hD hC₁) disjoint_compl_right) hA₁
      hD₁]
  linarith
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
⊢ False

tactic: refine' not_le.2 this _
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
this : ↑s (A ∪ D) < sInf (measureOfNegatives s)
⊢ False

tactic: refine' csInf_le bddBelow_measureOfNegatives ⟨A ∪ D, ⟨_, _⟩, rfl⟩
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
this : ↑s (A ∪ D) < sInf (measureOfNegatives s)
⊢ sInf (measureOfNegatives s) ≤ ↑s (A ∪ D)

tactic: apply le_antisymm
state_before: α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
⊢ ↑s A = sInf (measureOfNegatives s)

tactic: refine' le_of_tendsto_of_tendsto tendsto_const_nhds hf₂ (eventually_of_forall fun n => _)
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
⊢ ↑s A ≤ sInf (measureOfNegatives s)

tactic: rw [← (hB n).2, hA, ← Set.diff_union_of_subset (Set.subset_iUnion _ n),
  of_union Set.disjoint_sdiff_left _ (hB₁ n)]
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
n : ℕ
⊢ (fun x => ↑s A) n ≤ f n

tactic: refine' add_le_of_nonpos_left _
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
n : ℕ
⊢ (fun x => ↑s ((⋃ (i : ℕ), B i) \ B n) + ↑s (B n)) n ≤ ↑s (B n)

tactic: have : s ≤[A] 0 :=
  restrict_le_restrict_iUnion _ _ hB₁ fun m =>
    let ⟨_, h⟩ := (hB m).1
    h
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
n : ℕ
⊢ ↑s ((⋃ (i : ℕ), B i) \ B n) ≤ 0

tactic: refine'
  nonpos_of_restrict_le_zero _ (restrict_le_zero_subset _ _ (Set.diff_subset _ _) this)
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
n : ℕ
this : restrict s A ≤ restrict 0 A
⊢ ↑s ((⋃ (i : ℕ), B i) \ B n) ≤ 0

tactic: exact MeasurableSet.iUnion hB₁
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
n : ℕ
this : restrict s A ≤ restrict 0 A
⊢ MeasurableSet (⋃ (i : ℕ), B i)

tactic: exact (MeasurableSet.iUnion hB₁).diff (hB₁ n)
state_before: α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
n : ℕ
⊢ MeasurableSet ((⋃ (i : ℕ), B i) \ B n)

tactic: exact csInf_le bddBelow_measureOfNegatives ⟨A, ⟨hA₁, hA₂⟩, rfl⟩
state_before: case a
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
⊢ sInf (measureOfNegatives s) ≤ ↑s A

tactic: rw [← hA₃,
  of_union (Set.disjoint_of_subset_right (Set.Subset.trans hD hC₁) disjoint_compl_right) hA₁
    hD₁]
state_before: α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
⊢ ↑s (A ∪ D) < sInf (measureOfNegatives s)

tactic: linarith
state_before: α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
⊢ ↑s A + ↑s D < ↑s A

tactic: exact hA₁.union hD₁
state_before: case intro.intro.intro.intro.intro.intro.intro.refine'_1
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
this : ↑s (A ∪ D) < sInf (measureOfNegatives s)
⊢ MeasurableSet (A ∪ D)

tactic: exact restrict_le_restrict_union _ _ hA₁ hA₂ hD₁ hD₂
state_before: case intro.intro.intro.intro.intro.intro.intro.refine'_2
α : Type u_1
β : Type ?u.111089
inst✝³ : MeasurableSpace α
M : Type ?u.111095
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s✝ : SignedMeasure α
i j : Set α
s : SignedMeasure α
f : ℕ → ℝ
left✝ : Antitone f
hf₂ : Tendsto f atTop (nhds (sInf (measureOfNegatives s)))
B : ℕ → Set α
hB : ∀ (n : ℕ), B n ∈ {B | MeasurableSet B ∧ restrict s B ≤ restrict 0 B} ∧ ↑s (B n) = f n
hB₁ : ∀ (n : ℕ), MeasurableSet (B n)
hB₂ : ∀ (n : ℕ), restrict s (B n) ≤ restrict 0 (B n)
A : Set α := ⋃ (n : ℕ), B n
hA : A = ⋃ (n : ℕ), B n
hA₁ : MeasurableSet A
hA₂ : restrict s A ≤ restrict 0 A
hA₃ : ↑s A = sInf (measureOfNegatives s)
C : Set α
a✝ : MeasurableSet C
hC₁ : C ⊆ Aᶜ
hC₂ : ↑s C < ↑0 C
D : Set α
hD₁ : MeasurableSet D
hD : D ⊆ C
hD₂ : restrict s D ≤ restrict 0 D
hD₃ : ↑s D < 0
this : ↑s (A ∪ D) < sInf (measureOfNegatives s)
⊢ restrict s (A ∪ D) ≤ restrict 0 (A ∪ D)