Loogle!
Result
Found 29 declarations mentioning Sum, Equiv and Fin. Of these, 8 match your pattern(s).
- finSumFinEquiv π Mathlib.Logic.Equiv.Fin.Basic
{m n : β} : Fin m β Fin n β Fin (m + n) - finSumFinEquiv_apply_left π Mathlib.Logic.Equiv.Fin.Basic
{m n : β} (i : Fin m) : finSumFinEquiv (Sum.inl i) = Fin.castAdd n i - finSumFinEquiv_apply_right π Mathlib.Logic.Equiv.Fin.Basic
{m n : β} (i : Fin n) : finSumFinEquiv (Sum.inr i) = Fin.natAdd m i - finSigmaFinEquiv.eq_2 π Mathlib.Algebra.BigOperators.Fin
(m_2 : β) (n_2 : Fin m_2.succ β β) : finSigmaFinEquiv = Trans.trans (Trans.trans (Trans.trans (Trans.trans finSumFinEquiv.sigmaCongrLeft.symm (Equiv.sumSigmaDistrib fun a => Fin (n_2 (finSumFinEquiv a)))) (finSigmaFinEquiv.sumCongr (Equiv.uniqueSigma fun i => Fin (n_2 (finSumFinEquiv (Sum.inr i)))))) finSumFinEquiv) (finCongr β―) - finSumFinEquiv.eq_1 π Mathlib.Topology.Homeomorph.Lemmas
{m n : β} : finSumFinEquiv = { toFun := Sum.elim (Fin.castAdd n) (Fin.natAdd m), invFun := fun i => Fin.addCases Sum.inl Sum.inr i, left_inv := β―, right_inv := β― } - MultilinearMap.curryFinFinset_symm_apply π Mathlib.LinearAlgebra.Multilinear.Curry
{R : Type uR} {Mβ : Type vβ} {M' : Type v'} [CommSemiring R] [AddCommMonoid M'] [AddCommMonoid Mβ] [Module R M'] [Module R Mβ] {k l n : β} {s : Finset (Fin n)} (hk : s.card = k) (hl : sαΆ.card = l) (f : MultilinearMap R (fun x => M') (MultilinearMap R (fun x => M') Mβ)) (m : Fin n β M') : ((MultilinearMap.curryFinFinset R Mβ M' hk hl).symm f) m = (f fun i => m ((finSumEquivOfFinset hk hl) (Sum.inl i))) fun i => m ((finSumEquivOfFinset hk hl) (Sum.inr i)) - ContinuousMultilinearMap.curryFinFinset_symm_apply π Mathlib.Analysis.NormedSpace.Multilinear.Curry
{π : Type u} {n : β} {G : Type wG} {G' : Type wG'} [NontriviallyNormedField π] [NormedAddCommGroup G] [NormedSpace π G] [NormedAddCommGroup G'] [NormedSpace π G'] {k l : β} {s : Finset (Fin n)} (hk : s.card = k) (hl : sαΆ.card = l) (f : ContinuousMultilinearMap π (fun i => G) (ContinuousMultilinearMap π (fun i => G) G')) (m : Fin n β G) : ((ContinuousMultilinearMap.curryFinFinset π G G' hk hl).symm f) m = (f fun i => m ((finSumEquivOfFinset hk hl) (Sum.inl i))) fun i => m ((finSumEquivOfFinset hk hl) (Sum.inr i)) - FirstOrder.Language.BoundedFormula.relabelAux.eq_1 π Mathlib.ModelTheory.Syntax
{Ξ± : Type u'} {Ξ² : Type v'} {n : β} (g : Ξ± β Ξ² β Fin n) (k : β) : FirstOrder.Language.BoundedFormula.relabelAux g k = Sum.map id βfinSumFinEquiv β β(Equiv.sumAssoc Ξ² (Fin n) (Fin k)) β Sum.map g id
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 40fea08