Theorem: MeasureTheory.integral_finset_biUnion
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: induction' t using Finset.induction_on with a t hat IH hs h's
state_before: α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t : Finset ι
s : ι → Set α
hs : ∀ (i : ι), i ∈ t → MeasurableSet (s i)
h's : Set.Pairwise (↑t) (Disjoint on s)
hf : ∀ (i : ι), i ∈ t → IntegrableOn f (s i)
⊢ (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ

tactic: simp
state_before: case empty
α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t → IntegrableOn f (s i)
hs : ∀ (i : ι), i ∈ ∅ → MeasurableSet (s i)
h's : Set.Pairwise (↑∅) (Disjoint on s)
hf : ∀ (i : ι), i ∈ ∅ → IntegrableOn f (s i)
⊢ (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ ∅), s i, f x ∂μ) = ∑ i in ∅, ∫ (x : α) in s i, f x ∂μ

tactic: simp only [Finset.coe_insert, Finset.forall_mem_insert, Set.pairwise_insert,
  Finset.set_biUnion_insert] at hs hf h's ⊢
state_before: case insert
α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : ∀ (i : ι), i ∈ insert a t → MeasurableSet (s i)
h's : Set.Pairwise (↑(insert a t)) (Disjoint on s)
hf : ∀ (i : ι), i ∈ insert a t → IntegrableOn f (s i)
⊢ (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ insert a t), s i, f x ∂μ) = ∑ i in insert a t, ∫ (x : α) in s i, f x ∂μ

tactic: rw [integral_union _ _ hf.1 (integrableOn_finset_iUnion.2 hf.2)]
state_before: case insert
α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ (∫ (x : α) in s a ∪ ⋃ (x : ι) (_ : x ∈ t), s x, f x ∂μ) = ∑ i in insert a t, ∫ (x : α) in s i, f x ∂μ

tactic: rw [Finset.sum_insert hat, IH hs.2 h's.1 hf.2]
state_before: case insert
α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ ((∫ (x : α) in s a, f x ∂μ) + ∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) =
    ∑ i in insert a t, ∫ (x : α) in s i, f x ∂μ

tactic: simp only [disjoint_iUnion_right]
state_before: α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ Disjoint (s a) (⋃ (i : ι) (_ : i ∈ t), s i)

tactic: exact fun i hi => (h's.2 i hi (ne_of_mem_of_not_mem hi hat).symm).1
state_before: α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ ∀ (i : ι), i ∈ t → Disjoint (s a) (s i)

tactic: exact Finset.measurableSet_biUnion _ hs.2
state_before: α : Type u_2
β : Type ?u.12684
E : Type u_3
F : Type ?u.12690
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s✝ t✝¹ : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
ι : Type u_1
t✝ : Finset ι
s : ι → Set α
hs✝ : ∀ (i : ι), i ∈ t✝ → MeasurableSet (s i)
h's✝ : Set.Pairwise (↑t✝) (Disjoint on s)
hf✝ : ∀ (i : ι), i ∈ t✝ → IntegrableOn f (s i)
a : ι
t : Finset ι
hat : ¬a ∈ t
IH :
  (∀ (i : ι), i ∈ t → MeasurableSet (s i)) →
    Set.Pairwise (↑t) (Disjoint on s) →
      (∀ (i : ι), i ∈ t → IntegrableOn f (s i)) →
        (∫ (x : α) in ⋃ (i : ι) (_ : i ∈ t), s i, f x ∂μ) = ∑ i in t, ∫ (x : α) in s i, f x ∂μ
hs : MeasurableSet (s a) ∧ ∀ (x : ι), x ∈ t → MeasurableSet (s x)
hf : IntegrableOn f (s a) ∧ ∀ (x : ι), x ∈ t → IntegrableOn f (s x)
h's : Set.Pairwise (↑t) (Disjoint on s) ∧ ∀ (b : ι), b ∈ ↑t → a ≠ b → (Disjoint on s) a b ∧ (Disjoint on s) b a
⊢ MeasurableSet (⋃ (i : ι) (_ : i ∈ t), s i)