Loogle!
Result
Found 45 declarations mentioning WithBot.map.
- WithBot.map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) : WithBot α → WithBot β - WithBot.map_coe 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) (a : α) : WithBot.map f ↑a = ↑(f a) - WithBot.map_bot 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) : WithBot.map f ⊥ = ⊥ - Monotone.withBot_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : Monotone f → Monotone (WithBot.map f) - StrictMono.withBot_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : StrictMono f → StrictMono (WithBot.map f) - WithBot.map_eq_bot_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {f : α → β} {a : WithBot α} : WithBot.map f a = ⊥ ↔ a = ⊥ - WithBot.map₂_coe_left 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α → β → γ) (a : α) (b : WithBot β) : WithBot.map₂ f (↑a) b = WithBot.map (fun b => f a b) b - WithBot.map₂_coe_right 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α → β → γ) (a : WithBot α) (b : β) : WithBot.map₂ f a ↑b = WithBot.map (fun x => f x b) a - WithBot.monotone_map_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : Monotone (WithBot.map f) ↔ Monotone f - WithBot.strictMono_map_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : StrictMono (WithBot.map f) ↔ StrictMono f - WithBot.map_eq_some_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {f : α → β} {y : β} {v : WithBot α} : WithBot.map f v = ↑y ↔ ∃ x, v = ↑x ∧ f x = y - WithBot.some_eq_map_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {f : α → β} {y : β} {v : WithBot α} : ↑y = WithBot.map f v ↔ ∃ x, v = ↑x ∧ f x = y - WithBot.map_comm 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {γ : Type u_3} {δ : Type u_4} {f₁ : α → β} {f₂ : α → γ} {g₁ : β → δ} {g₂ : γ → δ} (h : g₁ ∘ f₁ = g₂ ∘ f₂) (a : α) : WithBot.map g₁ (WithBot.map f₁ ↑a) = WithBot.map g₂ (WithBot.map f₂ ↑a) - WithBot.map_le_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {x y : WithBot α} (f : α → β) (mono_iff : ∀ {a b : α}, f a ≤ f b ↔ a ≤ b) : WithBot.map f x ≤ WithBot.map f y ↔ x ≤ y - WithBot.map_ofDual 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) (a : WithTop αᵒᵈ) : WithBot.map f (WithTop.ofDual a) = WithTop.map (⇑OrderDual.ofDual ∘ f) a - WithTop.map_ofDual 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) (a : WithBot αᵒᵈ) : WithTop.map f (WithBot.ofDual a) = WithBot.map (⇑OrderDual.ofDual ∘ f) a - WithBot.map_toDual 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : αᵒᵈ → βᵒᵈ) (a : WithTop α) : WithBot.map f (WithTop.toDual a) = WithTop.map (⇑OrderDual.toDual ∘ f) a - WithTop.map_toDual 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : αᵒᵈ → βᵒᵈ) (a : WithBot α) : WithTop.map f (WithBot.toDual a) = WithBot.map (⇑OrderDual.toDual ∘ f) a - WithBot.toDual_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) (a : WithBot α) : WithBot.toDual (WithBot.map f a) = WithBot.map (⇑OrderDual.toDual ∘ f ∘ ⇑OrderDual.ofDual) (WithBot.toDual a) - WithTop.toDual_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) (a : WithTop α) : WithTop.toDual (WithTop.map f a) = WithBot.map (⇑OrderDual.toDual ∘ f ∘ ⇑OrderDual.ofDual) (WithTop.toDual a) - WithBot.ofDual_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : αᵒᵈ → βᵒᵈ) (a : WithBot αᵒᵈ) : WithBot.ofDual (WithBot.map f a) = WithBot.map (⇑OrderDual.ofDual ∘ f ∘ ⇑OrderDual.toDual) (WithBot.ofDual a) - WithTop.ofDual_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : αᵒᵈ → βᵒᵈ) (a : WithTop αᵒᵈ) : WithTop.ofDual (WithTop.map f a) = WithBot.map (⇑OrderDual.ofDual ∘ f ∘ ⇑OrderDual.toDual) (WithTop.ofDual a) - WithBot.map_one 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} [One α] {β : Type u_1} (f : α → β) : WithBot.map f 1 = ↑(f 1) - WithBot.map_zero 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} [Zero α] {β : Type u_1} (f : α → β) : WithBot.map f 0 = ↑(f 0) - WithBot.map_natCast 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : α → β} (n : ℕ) : WithBot.map f ↑n = ↑(f ↑n) - WithBot.map_ofNat 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : α → β} (n : ℕ) [n.AtLeastTwo] : WithBot.map f (OfNat.ofNat n) = ↑(f (OfNat.ofNat n)) - WithBot.map_eq_one_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithBot α} [One β] : WithBot.map f v = 1 ↔ ∃ x, v = ↑x ∧ f x = 1 - WithBot.map_eq_zero_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithBot α} [Zero β] : WithBot.map f v = 0 ↔ ∃ x, v = ↑x ∧ f x = 0 - WithBot.one_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithBot α} [One β] : 1 = WithBot.map f v ↔ ∃ x, v = ↑x ∧ f x = 1 - WithBot.zero_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithBot α} [Zero β] : 0 = WithBot.map f v ↔ ∃ x, v = ↑x ∧ f x = 0 - WithBot.map_eq_natCast_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} {a : WithBot β} : WithBot.map f a = ↑n ↔ ∃ x, a = ↑x ∧ f x = ↑n - WithBot.natCast_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} {a : WithBot β} : ↑n = WithBot.map f a ↔ ∃ x, a = ↑x ∧ f x = ↑n - WithBot.map_eq_ofNat_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithBot β} : WithBot.map f a = OfNat.ofNat n ↔ ∃ x, a = ↑x ∧ f x = ↑n - WithBot.ofNat_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithBot β} : OfNat.ofNat n = WithBot.map f a ↔ ∃ x, a = ↑x ∧ f x = ↑n - OneHom.withBotMap.eq_1 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [One M] [One N] (f : OneHom M N) : f.withBotMap = { toFun := WithBot.map ⇑f, map_one' := ⋯ } - ZeroHom.withBotMap.eq_1 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [Zero M] [Zero N] (f : ZeroHom M N) : f.withBotMap = { toFun := WithBot.map ⇑f, map_zero' := ⋯ } - AddHom.withBotMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [Add M] [Add N] (f : M →ₙ+ N) : ⇑f.withBotMap = WithBot.map ⇑f - AddMonoidHom.withBotMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) : ⇑f.withBotMap = WithBot.map ⇑f - OneHom.withBotMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [One M] [One N] (f : OneHom M N) : ⇑f.withBotMap = WithBot.map ⇑f - ZeroHom.withBotMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [Zero M] [Zero N] (f : ZeroHom M N) : ⇑f.withBotMap = WithBot.map ⇑f - WithBot.map_add 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [Add α] {F : Type u_1} [Add β] [FunLike F α β] [AddHomClass F α β] (f : F) (a b : WithBot α) : WithBot.map (⇑f) (a + b) = WithBot.map (⇑f) a + WithBot.map (⇑f) b - OrderHom.withBotMap_coe 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α →o β) : ⇑f.withBotMap = WithBot.map ⇑f - LatticeHom.withBot_apply 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithBot α) : f.withBot a = WithBot.map (⇑f) a - Finset.map_ofDual_max 📋 Mathlib.Data.Finset.Max
{α : Type u_2} [LinearOrder α] (s : Finset αᵒᵈ) : WithBot.map (⇑OrderDual.ofDual) s.max = (Finset.image (⇑OrderDual.ofDual) s).min - Finset.map_toDual_max 📋 Mathlib.Data.Finset.Max
{α : Type u_2} [LinearOrder α] (s : Finset α) : WithBot.map (⇑OrderDual.toDual) s.max = (Finset.image (⇑OrderDual.toDual) s).min
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