Loogle!
Result
Found 11 declarations mentioning TypeVec.prod.map.
- TypeVec.prod.map 📋 Mathlib.Data.TypeVec
{n : ℕ} {α α' β β' : TypeVec.{u} n} : α.Arrow β → α'.Arrow β' → (α.prod α').Arrow (β.prod β') - TypeVec.prod_id 📋 Mathlib.Data.TypeVec
{n : ℕ} {α β : TypeVec.{u} n} : TypeVec.prod.map TypeVec.id TypeVec.id = TypeVec.id - TypeVec.prod_map_id 📋 Mathlib.Data.TypeVec
{n : ℕ} {α β : TypeVec.{u_1} n} : TypeVec.prod.map TypeVec.id TypeVec.id = TypeVec.id - TypeVec.fst_prod_mk 📋 Mathlib.Data.TypeVec
{n : ℕ} {α α' β β' : TypeVec.{u_1} n} (f : α.Arrow β) (g : α'.Arrow β') : TypeVec.comp TypeVec.prod.fst (TypeVec.prod.map f g) = TypeVec.comp f TypeVec.prod.fst - TypeVec.snd_prod_mk 📋 Mathlib.Data.TypeVec
{n : ℕ} {α α' β β' : TypeVec.{u_1} n} (f : α.Arrow β) (g : α'.Arrow β') : TypeVec.comp TypeVec.prod.snd (TypeVec.prod.map f g) = TypeVec.comp g TypeVec.prod.snd - TypeVec.prod.map.eq_2 📋 Mathlib.Data.TypeVec
(n : ℕ) (x_9 x_10 x_11 x_12 : TypeVec.{u} n.succ) (x_13 : x_9.Arrow x_11) (y : x_10.Arrow x_12) (a : x_9.prod x_10 Fin2.fz) : TypeVec.prod.map x_13 y Fin2.fz a = (x_13 Fin2.fz a.1, y Fin2.fz a.2) - TypeVec.prod.map.eq_1 📋 Mathlib.Data.TypeVec
(n : ℕ) (α α' β β' : TypeVec.{u} n.succ) (x_9 : α.Arrow β) (y : α'.Arrow β') (a : Fin2 n) (a_1 : α.prod α' a.fs) : TypeVec.prod.map x_9 y a.fs a_1 = TypeVec.prod.map (TypeVec.dropFun x_9) (TypeVec.dropFun y) a a_1 - TypeVec.append_prod_appendFun 📋 Mathlib.Data.TypeVec
{n : ℕ} {α α' β β' : TypeVec.{u} n} {φ φ' ψ ψ' : Type u} {f₀ : α.Arrow α'} {g₀ : β.Arrow β'} {f₁ : φ → φ'} {g₁ : ψ → ψ'} : (TypeVec.prod.map f₀ g₀ ::: Prod.map f₁ g₁) = TypeVec.prod.map (f₀ ::: f₁) (g₀ ::: g₁) - TypeVec.lastFun_prod 📋 Mathlib.Data.TypeVec
{n : ℕ} {α α' β β' : TypeVec.{u_1} (n + 1)} (f : α.Arrow β) (f' : α'.Arrow β') : TypeVec.lastFun (TypeVec.prod.map f f') = Prod.map (TypeVec.lastFun f) (TypeVec.lastFun f') - TypeVec.dropFun_prod 📋 Mathlib.Data.TypeVec
{n : ℕ} {α α' β β' : TypeVec.{u_1} (n + 1)} (f : α.Arrow β) (f' : α'.Arrow β') : TypeVec.dropFun (TypeVec.prod.map f f') = TypeVec.prod.map (TypeVec.dropFun f) (TypeVec.dropFun f') - MvQPF.liftR_map 📋 Mathlib.Data.QPF.Multivariate.Constructions.Cofix
{n : ℕ} {α β : TypeVec.{u_1} n} {F' : TypeVec.{u_1} n → Type u} [MvFunctor F'] [LawfulMvFunctor F'] (R : (β.prod β).Arrow (TypeVec.repeat n Prop)) (x : F' α) (f g : α.Arrow β) (h : α.Arrow (TypeVec.Subtype_ R)) (hh : TypeVec.comp (TypeVec.subtypeVal R) h = TypeVec.comp (TypeVec.prod.map f g) TypeVec.prod.diag) : MvFunctor.LiftR' R (MvFunctor.map f x) (MvFunctor.map g x)
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