Theorem: MeasureTheory.OuterMeasure.trim_iSup
File: Mathlib/MeasureTheory/OuterMeasure/Induced.lean

tactic: simp_rw [← @iSup_plift_down _ ι]
state_before: α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
⊢ (⨆ i, μ i).trim = ⨆ i, (μ i).trim
state_after: α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
⊢ (⨆ i, μ i.down).trim = ⨆ i, (μ i.down).trim

tactic: ext1 s
state_before: α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
⊢ (⨆ i, μ i.down).trim = ⨆ i, (μ i.down).trim
state_after: case h
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s : Set α
⊢ (⨆ i, μ i.down).trim s = (⨆ i, (μ i.down).trim) s

tactic: obtain ⟨t, _, _, hμt⟩ :=
  exists_measurable_superset_forall_eq_trim
    (Option.elim' (⨆ i, μ (PLift.down i)) (μ ∘ PLift.down)) s
state_before: case h
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s : Set α
⊢ (⨆ i, μ i.down).trim s = (⨆ i, (μ i.down).trim) s
state_after: case h.intro.intro.intro
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s t : Set α
left✝¹ : s ⊆ t
left✝ : MeasurableSet t
hμt :
  ∀ (i : Option (PLift ι)),
    (Option.elim' (⨆ i, μ i.down) (μ ∘ PLift.down) i) t = (Option.elim' (⨆ i, μ i.down) (μ ∘ PLift.down) i).trim s
⊢ (⨆ i, μ i.down).trim s = (⨆ i, (μ i.down).trim) s

tactic: simp only [Option.forall, Option.elim'] at hμt
state_before: case h.intro.intro.intro
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s t : Set α
left✝¹ : s ⊆ t
left✝ : MeasurableSet t
hμt :
  ∀ (i : Option (PLift ι)),
    (Option.elim' (⨆ i, μ i.down) (μ ∘ PLift.down) i) t = (Option.elim' (⨆ i, μ i.down) (μ ∘ PLift.down) i).trim s
⊢ (⨆ i, μ i.down).trim s = (⨆ i, (μ i.down).trim) s
state_after: case h.intro.intro.intro
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s t : Set α
left✝¹ : s ⊆ t
left✝ : MeasurableSet t
hμt : (⨆ i, μ i.down) t = (⨆ i, μ i.down).trim s ∧ ∀ (x : PLift ι), ((μ ∘ PLift.down) x) t = ((μ ∘ PLift.down) x).trim s
⊢ (⨆ i, μ i.down).trim s = (⨆ i, (μ i.down).trim) s

tactic: simp only [iSup_apply, ← hμt.1]
state_before: case h.intro.intro.intro
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s t : Set α
left✝¹ : s ⊆ t
left✝ : MeasurableSet t
hμt : (⨆ i, μ i.down) t = (⨆ i, μ i.down).trim s ∧ ∀ (x : PLift ι), ((μ ∘ PLift.down) x) t = ((μ ∘ PLift.down) x).trim s
⊢ (⨆ i, μ i.down).trim s = (⨆ i, (μ i.down).trim) s
state_after: case h.intro.intro.intro
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s t : Set α
left✝¹ : s ⊆ t
left✝ : MeasurableSet t
hμt : (⨆ i, μ i.down) t = (⨆ i, μ i.down).trim s ∧ ∀ (x : PLift ι), ((μ ∘ PLift.down) x) t = ((μ ∘ PLift.down) x).trim s
⊢ ⨆ i, (μ i.down) t = ⨆ i, (μ i.down).trim s

tactic: exact iSup_congr hμt.2
state_before: case h.intro.intro.intro
α : Type u_1
inst✝¹ : MeasurableSpace α
m : OuterMeasure α
ι : Sort u_2
inst✝ : Countable ι
μ : ι → OuterMeasure α
s t : Set α
left✝¹ : s ⊆ t
left✝ : MeasurableSet t
hμt : (⨆ i, μ i.down) t = (⨆ i, μ i.down).trim s ∧ ∀ (x : PLift ι), ((μ ∘ PLift.down) x) t = ((μ ∘ PLift.down) x).trim s
⊢ ⨆ i, (μ i.down) t = ⨆ i, (μ i.down).trim s
state_after: no goals