Loogle!
Result
Found 13 declarations mentioning Finset.sum and HasCompl.compl. Of these, 13 match your pattern(s).
- Finset.sum_add_sum_compl 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} {M : Type u_4} [AddCommMonoid M] [Fintype ι] [DecidableEq ι] (s : Finset ι) (f : ι → M) : ∑ i ∈ s, f i + ∑ i ∈ sᶜ, f i = ∑ i, f i - Finset.sum_compl_add_sum 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} {M : Type u_4} [AddCommMonoid M] [Fintype ι] [DecidableEq ι] (s : Finset ι) (f : ι → M) : ∑ i ∈ sᶜ, f i + ∑ i ∈ s, f i = ∑ i, f i - Fintype.sum_eq_add_sum_compl 📋 Mathlib.Algebra.BigOperators.Group.Finset.Piecewise
{α : Type u_3} {β : Type u_4} [AddCommMonoid β] [DecidableEq α] [Fintype α] (a : α) (f : α → β) : ∑ i, f i = f a + ∑ i ∈ {a}ᶜ, f i - Fintype.sum_eq_sum_compl_add 📋 Mathlib.Algebra.BigOperators.Group.Finset.Piecewise
{α : Type u_3} {β : Type u_4} [AddCommMonoid β] [DecidableEq α] [Fintype α] (a : α) (f : α → β) : ∑ i, f i = ∑ i ∈ {a}ᶜ, f i + f a - Fintype.prod_add 📋 Mathlib.Algebra.BigOperators.Ring.Finset
{ι : Type u_7} {α : Type u_9} [Fintype ι] [CommSemiring α] [DecidableEq ι] (f g : ι → α) : ∏ a, (f a + g a) = ∑ t, (∏ a ∈ t, f a) * ∏ a ∈ tᶜ, g a - exists_sum_eq_one_iff_pairwise_coprime' 📋 Mathlib.RingTheory.Coprime.Lemmas
{R : Type u} {I : Type v} [CommSemiring R] {s : I → R} [Fintype I] [Nonempty I] [DecidableEq I] : (∃ μ, ∑ i, μ i * ∏ j ∈ {i}ᶜ, s j = 1) ↔ Pairwise (Function.onFun IsCoprime s) - Matrix.adjp_apply 📋 Mathlib.LinearAlgebra.Matrix.SemiringInverse
{n : Type u_1} {R : Type u_3} [Fintype n] [DecidableEq n] [CommSemiring R] (s : ℤˣ) (A : Matrix n n R) (i j : n) : Matrix.adjp s A i j = ∑ σ ∈ Equiv.Perm.ofSign s with σ j = i, ∏ k ∈ {j}ᶜ, A k (σ k) - sum_add_tsum_compl 📋 Mathlib.Topology.Algebra.InfiniteSum.Group
{α : Type u_1} {β : Type u_2} [AddCommGroup α] [TopologicalSpace α] [IsTopologicalAddGroup α] {f : β → α} [T2Space α] {s : Finset β} (hf : Summable f) : ∑ x ∈ s, f x + ∑' (x : ↑(↑s)ᶜ), f ↑x = ∑' (x : β), f x - Summable.sum_add_tsum_compl 📋 Mathlib.Topology.Algebra.InfiniteSum.Group
{α : Type u_1} {β : Type u_2} [AddCommGroup α] [TopologicalSpace α] [IsTopologicalAddGroup α] {f : β → α} [T2Space α] {s : Finset β} (hf : Summable f) : ∑ x ∈ s, f x + ∑' (x : ↑(↑s)ᶜ), f ↑x = ∑' (x : β), f x - Finset.sum_sum_Ioi_add_eq_sum_sum_off_diag 📋 Mathlib.Algebra.Order.BigOperators.Group.LocallyFinite
{α : Type u_1} {M : Type u_2} [AddCommMonoid M] [LinearOrder α] [Fintype α] [LocallyFiniteOrderTop α] [LocallyFiniteOrderBot α] (f : α → α → M) : ∑ i, ∑ j ∈ Finset.Ioi i, (f j i + f i j) = ∑ i, ∑ j ∈ {i}ᶜ, f j i - Finset.inclusion_exclusion_card_inf_compl 📋 Mathlib.Combinatorics.Enumerative.InclusionExclusion
{ι : Type u_1} {α : Type u_2} [DecidableEq α] [Fintype α] (s : Finset ι) (S : ι → Finset α) : ↑(s.inf fun i => (S i)ᶜ).card = ∑ t ∈ s.powerset, (-1) ^ t.card * ↑(t.inf S).card - Finset.inclusion_exclusion_sum_inf_compl 📋 Mathlib.Combinatorics.Enumerative.InclusionExclusion
{ι : Type u_1} {α : Type u_2} {G : Type u_3} [DecidableEq α] [AddCommGroup G] [Fintype α] (s : Finset ι) (S : ι → Finset α) (f : α → G) : ∑ a ∈ s.inf fun i => (S i)ᶜ, f a = ∑ t ∈ s.powerset, (-1) ^ t.card • ∑ a ∈ t.inf S, f a - ZMod.LFunction_residue_one 📋 Mathlib.NumberTheory.LSeries.ZMod
{N : ℕ} [NeZero N] (Φ : ZMod N → ℂ) : Filter.Tendsto (fun s => (s - 1) * ZMod.LFunction Φ s) (nhdsWithin 1 {1}ᶜ) (nhds (∑ j, Φ j / ↑N))
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, _ * _, _ ^ _, |- _ < _ → _
would 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 19971e9
serving mathlib revision 4cb993b