Positivity extensions for finsets #
This file provides a few positivity
extensions that cannot be in either the finset files (because
they don't know about ordered fields) or in Tactic.Positivity.Basic
(because it doesn't want to
know about finiteness).
Extension for Finset.card
. #s
is positive if s
is nonempty.
It calls Mathlib.Meta.proveFinsetNonempty
to attempt proving that the finset is nonempty.
Instances For
Extension for Fintype.card
. Fintype.card α
is positive if α
is nonempty.
Instances For
Extension for Finset.dens
. s.dens
is positive if s
is nonempty.
It calls Mathlib.Meta.proveFinsetNonempty
to attempt proving that the finset is nonempty.
Instances For
The positivity
extension which proves that ∑ i ∈ s, f i
is nonnegative if f
is, and
positive if each f i
is and s
is nonempty.
TODO: The following example does not work
example (s : Finset ℕ) (f : ℕ → ℤ) (hf : ∀ n, 0 ≤ f n) : 0 ≤ s.sum f := by positivity
because compareHyp
can't look for assumptions behind binders.