Loogle!
Result
Found 6 definitions mentioning Multiset.sum and LT.lt.
- Multiset.sum_lt_sum_of_nonempty π Mathlib.Algebra.Order.BigOperators.Group.Multiset
{ΞΉ : Type u_1} {Ξ± : Type u_2} [OrderedCancelAddCommMonoid Ξ±] {s : Multiset ΞΉ} {f g : ΞΉ β Ξ±} (hs : s β β ) (hfg : β i β s, f i < g i) : (Multiset.map f s).sum < (Multiset.map g s).sum - Multiset.sum_lt_sum π Mathlib.Algebra.Order.BigOperators.Group.Multiset
{ΞΉ : Type u_1} {Ξ± : Type u_2} [OrderedCancelAddCommMonoid Ξ±] {s : Multiset ΞΉ} {f g : ΞΉ β Ξ±} (hle : β i β s, f i β€ g i) (hlt : β i β s, f i < g i) : (Multiset.map f s).sum < (Multiset.map g s).sum - Nat.Partition.mk π Mathlib.Combinatorics.Enumerative.Partition
{n : β} (parts : Multiset β) (parts_pos : β {i : β}, i β parts β 0 < i) (parts_sum : parts.sum = n) : n.Partition - Nat.Partition.mk.injEq π Mathlib.Combinatorics.Enumerative.Partition
{n : β} (parts : Multiset β) (parts_pos : β {i : β}, i β parts β 0 < i) (parts_sum : parts.sum = n) (partsβ : Multiset β) (parts_posβ : β {i : β}, i β partsβ β 0 < i) (parts_sumβ : partsβ.sum = n) : ({ parts := parts, parts_pos := parts_pos, parts_sum := parts_sum } = { parts := partsβ, parts_pos := parts_posβ, parts_sum := parts_sumβ }) = (parts = partsβ) - Nat.Partition.mk.sizeOf_spec π Mathlib.Combinatorics.Enumerative.Partition
{n : β} (parts : Multiset β) (parts_pos : β {i : β}, i β parts β 0 < i) (parts_sum : parts.sum = n) : sizeOf { parts := parts, parts_pos := parts_pos, parts_sum := parts_sum } = 1 + sizeOf parts + sizeOf parts_sum - Polynomial.multiset_prod_X_sub_C_coeff_card_pred π Mathlib.Algebra.Polynomial.BigOperators
{R : Type u} [CommRing R] (t : Multiset R) (ht : 0 < Multiset.card t) : (Multiset.map (fun x => Polynomial.X - Polynomial.C x) t).prod.coeff (Multiset.card t - 1) = -t.sum
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using (by default) Ctrl-K Ctrl-S. You can also try the
#loogle
command from LeanSearchClient,
the CLI version, the Loogle
VS Code extension, the lean.nvim
integration or the Zulip bot.
Usage
Loogle finds definitions and lemmas in various ways:
By constant:
πReal.sin
finds all lemmas whose statement somehow mentions the sine function.By lemma name substring:
π"differ"
finds all lemmas that have"differ"
somewhere in their lemma name.By subexpression:
π_ * (_ ^ _)
finds all lemmas whose statements somewhere include a product where the second argument is raised to some power.The pattern can also be non-linear, as in
πReal.sqrt ?a * Real.sqrt ?a
If the pattern has parameters, they are matched in any order. Both of these will find
List.map
:
π(?a -> ?b) -> List ?a -> List ?b
πList ?a -> (?a -> ?b) -> List ?b
By main conclusion:
π|- tsum _ = _ * tsum _
finds all lemmas where the conclusion (the subexpression to the right of allβ
andβ
) has the given shape.As before, if the pattern has parameters, they are matched against the hypotheses of the lemma in any order; for example,
π|- _ < _ β tsum _ < tsum _
will findtsum_lt_tsum
even though the hypothesisf i < g i
is not the last.
If you pass more than one such search filter, separated by commas
Loogle will return lemmas which match all of them. The
search
π Real.sin, "two", tsum, _ * _, _ ^ _, |- _ < _ β _
woould find all lemmas which mention the constants Real.sin
and tsum
, have "two"
as a substring of the
lemma name, include a product and a power somewhere in the type,
and have a hypothesis of the form _ < _
(if
there were any such lemmas). Metavariables (?a
) are
assigned independently in each filter.
The #lucky
button will directly send you to the
documentation of the first hit.
Source code
You can find the source code for this service at https://github.com/nomeata/loogle. The https://loogle.lean-lang.org/ service is provided by the Lean FRO.
This is Loogle revision 4e1aab0
serving mathlib revision 2d53f5f