Theorem: MeasureTheory.Content.innerContent_iSup_nat
File: Mathlib/MeasureTheory/Measure/Content.lean

Proof steps:
state_before: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
⊢ μ.innerContent (⨆ i, U i) ≤ ∑' (i : ℕ), μ.innerContent (U i)
state_after: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
tactic: refine iSup₂_le fun K hK => ?_
state_before: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
state_after: case intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
tactic: obtain ⟨t, ht⟩ :=
    K.isCompact.elim_finite_subcover _ (fun i => (U i).isOpen) (by rwa [← Opens.coe_iSup])
state_before: case intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
state_after: case intro.intro.intro.intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
tactic: rcases K.isCompact.finite_compact_cover t (SetLike.coe ∘ U) (fun i _ => (U i).isOpen) ht with
    ⟨K', h1K', h2K', h3K'⟩
state_before: case intro.intro.intro.intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
state_after: case intro.intro.intro.intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
tactic: let L : ℕ → Compacts G := fun n => ⟨K' n, h1K' n⟩
state_before: case intro.intro.intro.intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ (fun s => ↑(μ.toFun s)) K ≤ ∑' (i : ℕ), μ.innerContent (U i)
state_after: case h.e'_3.h.e'_1
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ K = t.sup L

case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (L i) ≤ ∑' (i : ℕ), μ.innerContent (U i)
tactic: convert le_trans (h3 t L) _
state_before: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (L i) ≤ ∑' (i : ℕ), μ.innerContent (U i)
state_after: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ ∀ i ∈ t, (fun s => ↑(μ.toFun s)) (L i) ≤ μ.innerContent (U i)
tactic: refine le_trans (Finset.sum_le_sum ?_) (ENNReal.sum_le_tsum t)
state_before: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
⊢ ∀ i ∈ t, (fun s => ↑(μ.toFun s)) (L i) ≤ μ.innerContent (U i)
state_after: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
i : ℕ
a✝ : i ∈ t
⊢ (fun s => ↑(μ.toFun s)) (L i) ≤ μ.innerContent (U i)
tactic: intro i _
state_before: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
i : ℕ
a✝ : i ∈ t
⊢ (fun s => ↑(μ.toFun s)) (L i) ≤ μ.innerContent (U i)
state_after: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
i : ℕ
a✝ : i ∈ t
⊢ (fun s => ↑(μ.toFun s)) (L i) ≤ ⨆ (_ : ↑(L i) ⊆ ↑(U i)), (fun s => ↑(μ.toFun s)) (L i)
tactic: refine le_trans ?_ (le_iSup _ (L i))
state_before: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
i : ℕ
a✝ : i ∈ t
⊢ (fun s => ↑(μ.toFun s)) (L i) ≤ ⨆ (_ : ↑(L i) ⊆ ↑(U i)), (fun s => ↑(μ.toFun s)) (L i)
state_after: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
i : ℕ
a✝ : i ∈ t
⊢ (fun s => ↑(μ.toFun s)) (L i) ≤ (fun s => ↑(μ.toFun s)) (L i)
tactic: refine le_trans ?_ (le_iSup _ (h2K' i))
state_before: case intro.intro.intro.intro.convert_2
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Opens G
h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), (fun s => ↑(μ.toFun s)) (t.sup K) ≤ ∑ i ∈ t, (fun s => ↑(μ.toFun s)) (K i)
K : Compacts G
hK : ↑K ⊆ ↑(⨆ i, U i)
t : Finset ℕ
ht : ↑K ⊆ ⋃ i ∈ t, ↑(U i)
K' : ℕ → Set G
h1K' : ∀ (i : ℕ), IsCompact (K' i)
h2K' : ∀ (i : ℕ), K' i ⊆ (SetLike.coe ∘ U) i
h3K' : ↑K = ⋃ i ∈ t, K' i
L : ℕ → Compacts G := fun n => { carrier := K' n, isCompact' := ⋯ }
i : ℕ
a✝ : i ∈ t
⊢ (fun s => ↑(μ.toFun s)) (L i) ≤ (fun s => ↑(μ.toFun s)) (L i)
state_after: no goals
tactic: rfl