Loogle!
Result
Found 21 declarations mentioning Sym.map.
- Sym.map π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} (f : Ξ± β Ξ²) (x : Sym Ξ± n) : Sym Ξ² n - Sym.map_id π Mathlib.Data.Sym.Basic
{Ξ± : Type u_3} {n : β} (s : Sym Ξ± n) : Sym.map id s = s - Sym.map_id' π Mathlib.Data.Sym.Basic
{Ξ± : Type u_3} {n : β} (s : Sym Ξ± n) : Sym.map (fun x => x) s = s - Sym.map_injective π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {f : Ξ± β Ξ²} (hf : Function.Injective f) (n : β) : Function.Injective (Sym.map f) - Sym.coe_map π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} (s : Sym Ξ± n) (f : Ξ± β Ξ²) : β(Sym.map f s) = Multiset.map f βs - Sym.map_cons π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} (f : Ξ± β Ξ²) (a : Ξ±) (s : Sym Ξ± n) : Sym.map f (a ::β s) = f a ::β Sym.map f s - Sym.map_map π Mathlib.Data.Sym.Basic
{Ξ± : Type u_3} {Ξ² : Type u_4} {Ξ³ : Type u_5} {n : β} (g : Ξ² β Ξ³) (f : Ξ± β Ξ²) (s : Sym Ξ± n) : Sym.map g (Sym.map f s) = Sym.map (g β f) s - Sym.attach_map_coe π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {n : β} (s : Sym Ξ± n) : Sym.map Subtype.val s.attach = s - Sym.map_congr π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} {f g : Ξ± β Ξ²} {s : Sym Ξ± n} (h : β x β s, f x = g x) : Sym.map f s = Sym.map g s - Sym.mem_map π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} {f : Ξ± β Ξ²} {b : Ξ²} {l : Sym Ξ± n} : b β Sym.map f l β β a β l, f a = b - SymOptionSuccEquiv.decode_inr π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {n : β} (s : Sym Ξ± n.succ) : SymOptionSuccEquiv.decode (Sum.inr s) = Sym.map (βFunction.Embedding.some) s - SymOptionSuccEquiv.decode.eq_2 π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {n : β} (s : Sym Ξ± n.succ) : SymOptionSuccEquiv.decode (Sum.inr s) = Sym.map (βFunction.Embedding.some) s - Sym.map.eq_1 π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} (f : Ξ± β Ξ²) (x : Sym Ξ± n) : Sym.map f x = β¨Multiset.map f βx, β―β© - Sym.map_zero π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} (f : Ξ± β Ξ²) : Sym.map f 0 = 0 - Sym.equivCongr_apply π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} (e : Ξ± β Ξ²) (x : Sym Ξ± n) : (Sym.equivCongr e) x = Sym.map (βe) x - Sym.equivCongr_symm_apply π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} (e : Ξ± β Ξ²) (x : Sym Ξ² n) : (Sym.equivCongr e).symm x = Sym.map (βe.symm) x - Sym.map_mk π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {Ξ² : Type u_2} {n : β} {f : Ξ± β Ξ²} {m : Multiset Ξ±} {hc : m.card = n} : Sym.map f (Sym.mk m hc) = Sym.mk (Multiset.map f m) β― - Sym.attach_cons π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {n : β} (x : Ξ±) (s : Sym Ξ± n) : (x ::β s).attach = β¨x, β―β© ::β Sym.map (fun x_1 => β¨βx_1, β―β©) s.attach - SymOptionSuccEquiv.encode_of_not_none_mem π Mathlib.Data.Sym.Basic
{Ξ± : Type u_1} {n : β} [DecidableEq Ξ±] (s : Sym (Option Ξ±) n.succ) (h : none β s) : SymOptionSuccEquiv.encode s = Sum.inr (Sym.map (fun o => (βo).get β―) s.attach) - List.sym_map π Mathlib.Data.List.Sym
{Ξ± : Type u_1} {Ξ² : Type u_3} (f : Ξ± β Ξ²) (n : β) (xs : List Ξ±) : List.sym n (List.map f xs) = List.map (Sym.map f) (List.sym n xs) - Nat.Partition.ofSym_map π Mathlib.Combinatorics.Enumerative.Partition
{n : β} {Ο : Type u_1} {Ο : Type u_2} [DecidableEq Ο] [DecidableEq Ο] (e : Ο β Ο) (s : Sym Ο n) : Nat.Partition.ofSym (Sym.map (βe) s) = Nat.Partition.ofSym s
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 bce1d65