Theorem: MeasureTheory.VectorMeasure.restrict_le_restrict_countable_iUnion
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
⊢ v.restrict (⋃ b, f b) ≤ w.restrict (⋃ b, f b)
state_after: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
val✝ : Encodable β
⊢ v.restrict (⋃ b, f b) ≤ w.restrict (⋃ b, f b)
tactic: cases nonempty_encodable β
state_before: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
val✝ : Encodable β
⊢ v.restrict (⋃ b, f b) ≤ w.restrict (⋃ b, f b)
state_after: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
val✝ : Encodable β
⊢ v.restrict (⋃ i, ⋃ b ∈ Encodable.decode₂ β i, f b) ≤ w.restrict (⋃ i, ⋃ b ∈ Encodable.decode₂ β i, f b)
tactic: rw [← Encodable.iUnion_decode₂]
state_before: case intro
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
val✝ : Encodable β
⊢ v.restrict (⋃ i, ⋃ b ∈ Encodable.decode₂ β i, f b) ≤ w.restrict (⋃ i, ⋃ b ∈ Encodable.decode₂ β i, f b)
state_after: case intro.refine_1
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
val✝ : Encodable β
⊢ ∀ (n : ℕ), MeasurableSet (⋃ b ∈ Encodable.decode₂ β n, f b)

case intro.refine_2
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝³ : TopologicalSpace M
inst✝² : OrderedAddCommMonoid M
inst✝¹ : OrderClosedTopology M
v w : VectorMeasure α M
i j : Set α
inst✝ : Countable β
f : β → Set α
hf₁ : ∀ (b : β), MeasurableSet (f b)
hf₂ : ∀ (b : β), v.restrict (f b) ≤ w.restrict (f b)
val✝ : Encodable β
⊢ ∀ (n : ℕ), v.restrict (⋃ b ∈ Encodable.decode₂ β n, f b) ≤ w.restrict (⋃ b ∈ Encodable.decode₂ β n, f b)
tactic: refine restrict_le_restrict_iUnion v w ?_ ?_