Fibre and double counting
TheoremUnique witnesses transported by finite-sum equality#✓fully proved
Finset.existsUnique_of_sum_comp
If every integer-valued sum over T pulls back to the corresponding sum over s, then a
property with a unique witness in T pulls back to a property with a unique witness in s.
TheoremLabelings with equal fiber sizes differ by a permutation#✓fully proved
Fintype.exists_perm_of_fiber
Two labelings of a finite type with equally sized fibers differ by a permutation.
theorem exists_perm_of_fiber {V C : Type*} [Fintype V] [DecidableEq C]
(α β : V → C)
(h : ∀ y, Fintype.card {x // α x = y} = Fintype.card {x // β x = y}) :
∃ p : Equiv.Perm V, ∀ x, β (p x) = α x
TheoremDensity bounds transfer through equal-fiber maps#✓fully proved
Finset.card_filter_le_of_fibers
A density bound transfers through a map whose fibers over the target carrier all have the same cardinality.
theorem card_filter_le_of_fibers {Ω X : Type*} [DecidableEq X]
(Ωs : Finset Ω) (f : Ω → X) (Xs : Finset X) (hf : Set.MapsTo f Ωs Xs)
(hconst : ∀ x ∈ Xs, ∀ x' ∈ Xs,
(Ωs.filter fun e => f e = x).card ≤ (Ωs.filter fun e => f e = x').card)
(Q : X → Prop) [DecidablePred Q] (ε : ℝ)
(hQ : ((Xs.filter Q).card : ℝ) ≤ ε * Xs.card) :
((Ωs.filter fun e => Q (f e)).card : ℝ) ≤ ε * Ωs.card
3 fully proved
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.