Loogle!
Result
Found 50 declarations mentioning WithTop.map.
- WithTop.map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) : WithTop α → WithTop β - WithTop.map_coe 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) (a : α) : WithTop.map f ↑a = ↑(f a) - WithTop.map_top 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} (f : α → β) : WithTop.map f ⊤ = ⊤ - Monotone.withTop_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : Monotone f → Monotone (WithTop.map f) - StrictMono.withTop_map 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : StrictMono f → StrictMono (WithTop.map f) - WithTop.map_eq_top_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {f : α → β} {a : WithTop α} : WithTop.map f a = ⊤ ↔ a = ⊤ - WithTop.map₂_coe_left 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α → β → γ) (a : α) (b : WithTop β) : WithTop.map₂ f (↑a) b = WithTop.map (fun b => f a b) b - WithTop.map₂_coe_right 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {γ : Type u_3} (f : α → β → γ) (a : WithTop α) (b : β) : WithTop.map₂ f a ↑b = WithTop.map (fun x => f x b) a - WithTop.monotone_map_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : Monotone (WithTop.map f) ↔ Monotone f - WithTop.strictMono_map_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {f : α → β} : StrictMono (WithTop.map f) ↔ StrictMono f - WithTop.map_eq_some_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {f : α → β} {y : β} {v : WithTop α} : WithTop.map f v = ↑y ↔ ∃ x, v = ↑x ∧ f x = y - WithTop.some_eq_map_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} {f : α → β} {y : β} {v : WithTop α} : ↑y = WithTop.map f v ↔ ∃ x, v = ↑x ∧ f x = y - WithTop.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 : α) : WithTop.map g₁ (WithTop.map f₁ ↑a) = WithTop.map g₂ (WithTop.map f₂ ↑a) - WithTop.map_le_iff 📋 Mathlib.Order.WithBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] {x y : WithTop α} (f : α → β) (mono_iff : ∀ {a b : α}, f a ≤ f b ↔ a ≤ b) : WithTop.map f x ≤ WithTop.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 - 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) - 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) - WithTop.map_one 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} [One α] {β : Type u_1} (f : α → β) : WithTop.map f 1 = ↑(f 1) - WithTop.map_zero 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} [Zero α] {β : Type u_1} (f : α → β) : WithTop.map f 0 = ↑(f 0) - WithTop.map_natCast 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : α → β} (n : ℕ) : WithTop.map f ↑n = ↑(f ↑n) - WithTop.map_ofNat 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : α → β} (n : ℕ) [n.AtLeastTwo] : WithTop.map f (OfNat.ofNat n) = ↑(f (OfNat.ofNat n)) - WithTop.map_eq_one_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithTop α} [One β] : WithTop.map f v = 1 ↔ ∃ x, v = ↑x ∧ f x = 1 - WithTop.map_eq_zero_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithTop α} [Zero β] : WithTop.map f v = 0 ↔ ∃ x, v = ↑x ∧ f x = 0 - WithTop.one_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithTop α} [One β] : 1 = WithTop.map f v ↔ ∃ x, v = ↑x ∧ f x = 1 - WithTop.zero_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{β : Type v} {α : Type u_1} {f : α → β} {v : WithTop α} [Zero β] : 0 = WithTop.map f v ↔ ∃ x, v = ↑x ∧ f x = 0 - WithTop.map_eq_natCast_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} {a : WithTop β} : WithTop.map f a = ↑n ↔ ∃ x, a = ↑x ∧ f x = ↑n - WithTop.natCast_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} {a : WithTop β} : ↑n = WithTop.map f a ↔ ∃ x, a = ↑x ∧ f x = ↑n - WithTop.map_eq_ofNat_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithTop β} : WithTop.map f a = OfNat.ofNat n ↔ ∃ x, a = ↑x ∧ f x = ↑n - WithTop.ofNat_eq_map_iff 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{α : Type u} {β : Type v} [AddMonoidWithOne α] {f : β → α} {n : ℕ} [n.AtLeastTwo] {a : WithTop β} : OfNat.ofNat n = WithTop.map f a ↔ ∃ x, a = ↑x ∧ f x = ↑n - OneHom.withTopMap.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.withTopMap = { toFun := WithTop.map ⇑f, map_one' := ⋯ } - ZeroHom.withTopMap.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.withTopMap = { toFun := WithTop.map ⇑f, map_zero' := ⋯ } - AddHom.withTopMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [Add M] [Add N] (f : M →ₙ+ N) : ⇑f.withTopMap = WithTop.map ⇑f - AddMonoidHom.withTopMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [AddZeroClass M] [AddZeroClass N] (f : M →+ N) : ⇑f.withTopMap = WithTop.map ⇑f - OneHom.withTopMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [One M] [One N] (f : OneHom M N) : ⇑f.withTopMap = WithTop.map ⇑f - ZeroHom.withTopMap_apply 📋 Mathlib.Algebra.Order.Monoid.Unbundled.WithTop
{M : Type u_1} {N : Type u_2} [Zero M] [Zero N] (f : ZeroHom M N) : ⇑f.withTopMap = WithTop.map ⇑f - WithTop.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 : WithTop α) : WithTop.map (⇑f) (a + b) = WithTop.map (⇑f) a + WithTop.map (⇑f) b - LatticeHom.coe_withTop 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) : ⇑f.withTop = WithTop.map ⇑f - OrderHom.withTopMap_coe 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α →o β) : ⇑f.withTopMap = WithTop.map ⇑f - LatticeHom.withTop_apply 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithTop α) : f.withTop a = WithTop.map (⇑f) a - SupHom.withTop_toFun 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [SemilatticeSup α] [SemilatticeSup β] (f : SupHom α β) (a✝ : WithTop α) : f.withTop a✝ = WithTop.map (⇑f) a✝ - OrderEmbedding.withTopMap_apply 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Preorder α] [Preorder β] (f : α ↪o β) : ⇑f.withTopMap = WithTop.map ⇑f - LatticeHom.withTopWithBot_apply 📋 Mathlib.Order.Hom.WithTopBot
{α : Type u_1} {β : Type u_2} [Lattice α] [Lattice β] (f : LatticeHom α β) (a : WithTop (WithBot α)) : f.withTopWithBot a = WithTop.map (Option.map ⇑f) a - Finset.map_ofDual_min 📋 Mathlib.Data.Finset.Max
{α : Type u_2} [LinearOrder α] (s : Finset αᵒᵈ) : WithTop.map (⇑OrderDual.ofDual) s.min = (Finset.image (⇑OrderDual.ofDual) s).max - Finset.map_toDual_min 📋 Mathlib.Data.Finset.Max
{α : Type u_2} [LinearOrder α] (s : Finset α) : WithTop.map (⇑OrderDual.toDual) s.min = (Finset.image (⇑OrderDual.toDual) s).max - MonoidWithZeroHom.withTopMap_apply 📋 Mathlib.Algebra.Order.Ring.WithTop
{R : Type u_2} {S : Type u_3} [MulZeroOneClass R] [DecidableEq R] [Nontrivial R] [MulZeroOneClass S] [DecidableEq S] [Nontrivial S] (f : R →*₀ S) (hf : Function.Injective ⇑f) : ⇑(f.withTopMap hf) = WithTop.map ⇑f - WithTop.map_sub 📋 Mathlib.Algebra.Order.Sub.WithTop
{α : Type u_1} {β : Type u_2} [Sub α] [Bot α] [Sub β] [Bot β] {f : α → β} (h : ∀ (x y : α), f (x - y) = f x - f y) (h₀ : f ⊥ = ⊥) (x y : WithTop α) : WithTop.map f (x - y) = WithTop.map f x - WithTop.map f y - ENat.toENNRealOrderEmbedding_apply 📋 Mathlib.Data.Real.ENatENNReal
: ⇑ENat.toENNRealOrderEmbedding = WithTop.map Nat.cast
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