Theorem: ENat.tsum_inter_fiber_eq (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 ι
f : ι → α
⊢ ∑' (a : α), (s ∩ f ⁻¹' {a}).encard = s.encard
Tactic:
rw [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 ι
f : ι → α
⊢ (⋃ i, s ∩ f ⁻¹' {i}).encard = s.encard

α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
⊢ univ.PairwiseDisjoint fun a => s ∩ f ⁻¹' {a}

State before:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
⊢ univ.PairwiseDisjoint fun a => s ∩ f ⁻¹' {a}
Tactic:
refine fun i _ j _ hij ↦ disjoint_iff_forall_ne.2 ?_
State after:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
i : α
x✝¹ : i ∈ univ
j : α
x✝ : j ∈ univ
hij : i ≠ j
⊢ ∀ ⦃a : ι⦄, a ∈ (fun a => s ∩ f ⁻¹' {a}) i → ∀ ⦃b : ι⦄, b ∈ (fun a => s ∩ f ⁻¹' {a}) j → a ≠ b

State before:
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
i : α
x✝¹ : i ∈ univ
j : α
x✝ : j ∈ univ
hij : i ≠ j
⊢ ∀ ⦃a : ι⦄, a ∈ (fun a => s ∩ f ⁻¹' {a}) i → ∀ ⦃b : ι⦄, b ∈ (fun a => s ∩ f ⁻¹' {a}) j → a ≠ b
Tactic:
rintro a ⟨-,rfl⟩ _ ⟨-,rfl⟩ rfl
State after:
case intro.intro
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
a : ι
x✝¹ x✝ : f a ∈ univ
hij : f a ≠ f a
⊢ False

State before:
case intro.intro
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
a : ι
x✝¹ x✝ : f a ∈ univ
hij : f a ≠ f a
⊢ False
Tactic:
exact hij rfl
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 ι
f : ι → α
⊢ (⋃ i, s ∩ f ⁻¹' {i}).encard = s.encard
Tactic:
congr
State after:
case e_s
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
⊢ ⋃ i, s ∩ f ⁻¹' {i} = s

State before:
case e_s
α : Type u_1
β : Type u_2
ι✝ : Type u_3
s✝ : Set α
n : ℕ∞
f✝ g : α → ℕ∞
ι : Type u_4
s : Set ι
f : ι → α
⊢ ⋃ i, s ∩ f ⁻¹' {i} = s
Tactic:
aesop
State after:
no goals