Theorem: ENat.tsum_encard_eq_encard_biUnion (Matroid/ForMathlib/ENatTopology.lean)

State before:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f g : α → ℕ∞
ι : Type u_4
s : ι → Set α
t : Set ι
hI : t.PairwiseDisjoint s
⊢ ∑' (i : ↑t), (s ↑i).encard = (⋃ i ∈ t, s i).encard
Tactic:
rw [biUnion_eq_iUnion, ← ENat.tsum_encard_eq_encard_iUnion]
State after:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f g : α → ℕ∞
ι : Type u_4
s : ι → Set α
t : Set ι
hI : t.PairwiseDisjoint s
⊢ univ.PairwiseDisjoint fun x => s ↑x

State before:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f g : α → ℕ∞
ι : Type u_4
s : ι → Set α
t : Set ι
hI : t.PairwiseDisjoint s
⊢ univ.PairwiseDisjoint fun x => s ↑x
Tactic:
rintro ⟨i,hi⟩ - ⟨j,hj⟩ - hij
State after:
case mk.mk
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f g : α → ℕ∞
ι : Type u_4
s : ι → Set α
t : Set ι
hI : t.PairwiseDisjoint s
i : ι
hi : i ∈ t
j : ι
hj : j ∈ t
hij : ⟨i, hi⟩ ≠ ⟨j, hj⟩
⊢ (Disjoint on fun x => s ↑x) ⟨i, hi⟩ ⟨j, hj⟩

State before:
case mk.mk
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f g : α → ℕ∞
ι : Type u_4
s : ι → Set α
t : Set ι
hI : t.PairwiseDisjoint s
i : ι
hi : i ∈ t
j : ι
hj : j ∈ t
hij : ⟨i, hi⟩ ≠ ⟨j, hj⟩
⊢ (Disjoint on fun x => s ↑x) ⟨i, hi⟩ ⟨j, hj⟩
Tactic:
exact hI hi hj (by simpa using hij)
State after:
no goals

State before:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f g : α → ℕ∞
ι : Type u_4
s : ι → Set α
t : Set ι
hI : t.PairwiseDisjoint s
i : ι
hi : i ∈ t
j : ι
hj : j ∈ t
hij : ⟨i, hi⟩ ≠ ⟨j, hj⟩
⊢ i ≠ ↑⟨j, hj⟩
Tactic:
simpa using hij
State after:
no goals