Loogle!
Result
Found 44 declarations mentioning LieSubmodule.map.
- LieSubmodule.map_id 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} : LieSubmodule.map LieModuleHom.id N = N - LieSubmodule.map 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (f : M →ₗ⁅R,L⁆ M') (N : LieSubmodule R L M) : LieSubmodule R L M' - LieModuleHom.map_top 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup N] [Module R N] [LieRingModule L N] (f : M →ₗ⁅R,L⁆ N) : LieSubmodule.map f ⊤ = f.range - LieSubmodule.map_bot 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} : LieSubmodule.map f ⊥ = ⊥ - LieSubmodule.map_injective_of_injective 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} (hf : Function.Injective ⇑f) : Function.Injective (LieSubmodule.map f) - LieSubmodule.map_iSup 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {ι : Sort u_1} (N : ι → LieSubmodule R L M) : LieSubmodule.map f (⨆ i, N i) = ⨆ i, LieSubmodule.map f (N i) - LieSubmodule.map_le_range 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} {M' : Type u_1} [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (f : M →ₗ⁅R,L⁆ M') : LieSubmodule.map f N ≤ f.range - LieSubmodule.coe_map 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (f : M →ₗ⁅R,L⁆ M') (N : LieSubmodule R L M) : ↑(LieSubmodule.map f N) = ⇑f '' ↑N - LieSubmodule.map_sup 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N N₂ : LieSubmodule R L M} : LieSubmodule.map f (N ⊔ N₂) = LieSubmodule.map f N ⊔ LieSubmodule.map f N₂ - LieSubmodule.map_comp 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N : LieSubmodule R L M} {M'' : Type u_1} [AddCommGroup M''] [Module R M''] [LieRingModule L M''] {g : M' →ₗ⁅R,L⁆ M''} : LieSubmodule.map (g.comp f) N = LieSubmodule.map g (LieSubmodule.map f N) - LieSubmodule.mem_map_of_mem 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N : LieSubmodule R L M} {m : M} (h : m ∈ N) : f m ∈ LieSubmodule.map f N - LieSubmodule.gc_map_comap 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (f : M →ₗ⁅R,L⁆ M') : GaloisConnection (LieSubmodule.map f) (LieSubmodule.comap f) - LieModuleHom.le_ker_iff_map 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {N : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup N] [Module R N] [LieRingModule L N] {f : M →ₗ⁅R,L⁆ N} (M' : LieSubmodule R L M) : M' ≤ f.ker ↔ LieSubmodule.map f M' = ⊥ - LieSubmodule.mem_map 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N : LieSubmodule R L M} (m' : M') : m' ∈ LieSubmodule.map f N ↔ ∃ m ∈ N, f m = m' - LieSubmodule.map_inf 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N N₂ : LieSubmodule R L M} (hf : Function.Injective ⇑f) : LieSubmodule.map f (N ⊓ N₂) = LieSubmodule.map f N ⊓ LieSubmodule.map f N₂ - LieSubmodule.map_inf_le 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N N₂ : LieSubmodule R L M} : LieSubmodule.map f (N ⊓ N₂) ≤ LieSubmodule.map f N ⊓ LieSubmodule.map f N₂ - LieSubmodule.map_mono 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N N₂ : LieSubmodule R L M} (h : N ≤ N₂) : LieSubmodule.map f N ≤ LieSubmodule.map f N₂ - LieSubmodule.map_le_iff_le_comap 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N : LieSubmodule R L M} {N' : LieSubmodule R L M'} : LieSubmodule.map f N ≤ N' ↔ N ≤ LieSubmodule.comap f N' - LieSubmodule.map_le_map_iff 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} {N N₂ : LieSubmodule R L M} (hf : Function.Injective ⇑f) : LieSubmodule.map f N ≤ LieSubmodule.map f N₂ ↔ N ≤ N₂ - LieSubmodule.coeSubmodule_map 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (f : M →ₗ⁅R,L⁆ M') (N : LieSubmodule R L M) : ↑(LieSubmodule.map f N) = Submodule.map ↑f ↑N - LieSubmodule.toSubmodule_map 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (f : M →ₗ⁅R,L⁆ M') (N : LieSubmodule R L M) : ↑(LieSubmodule.map f N) = Submodule.map ↑f ↑N - LieSubmodule.map_incl_le 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} {N' : LieSubmodule R L ↥N} : LieSubmodule.map N.incl N' ≤ N - LieSubmodule.equivMapOfInjective 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} (N : LieSubmodule R L M) (hf : Function.Injective ⇑f) : ↥N ≃ₗ⁅R,L⁆ ↥(LieSubmodule.map f N) - LieSubmodule.orderIsoMapComap_apply 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] (e : M ≃ₗ⁅R,L⁆ M') (N : LieSubmodule R L M) : (LieSubmodule.orderIsoMapComap e) N = LieSubmodule.map e.toLieModuleHom N - LieSubmodule.map_incl_top 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N : LieSubmodule R L M) : LieSubmodule.map N.incl ⊤ = N - LieSubmodule.mapOrderEmbedding_apply 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} {M' : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M'] [Module R M'] [LieRingModule L M'] {f : M →ₗ⁅R,L⁆ M'} (hf : Function.Injective ⇑f) (N : LieSubmodule R L M) : (LieSubmodule.mapOrderEmbedding hf) N = LieSubmodule.map f N - LieSubmodule.map_incl_lt_iff_lt_top 📋 Mathlib.Algebra.Lie.Submodule
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] {N : LieSubmodule R L M} {N' : LieSubmodule R L ↥N} : LieSubmodule.map N.incl N' < N ↔ N' < ⊤ - LieSubmodule.comap_map_eq 📋 Mathlib.Algebra.Lie.IdealOperations
{R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) (hf : f.ker = ⊥) : LieSubmodule.comap f (LieSubmodule.map f N) = N - LieSubmodule.le_comap_map 📋 Mathlib.Algebra.Lie.IdealOperations
{R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) : N ≤ LieSubmodule.comap f (LieSubmodule.map f N) - LieSubmodule.map_comap_le 📋 Mathlib.Algebra.Lie.IdealOperations
{R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) : LieSubmodule.map f (LieSubmodule.comap f N₂) ≤ N₂ - LieSubmodule.map_comap_eq 📋 Mathlib.Algebra.Lie.IdealOperations
{R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N₂ : LieSubmodule R L M₂) (f : M →ₗ⁅R,L⁆ M₂) (hf : N₂ ≤ f.range) : LieSubmodule.map f (LieSubmodule.comap f N₂) = N₂ - LieSubmodule.map_bracket_eq 📋 Mathlib.Algebra.Lie.IdealOperations
{R : Type u} {L : Type v} {M : Type w} {M₂ : Type w₁} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] (N : LieSubmodule R L M) (f : M →ₗ⁅R,L⁆ M₂) [LieAlgebra R L] [LieModule R L M₂] (I : LieIdeal R L) [LieModule R L M] : LieSubmodule.map f ⁅I, N⁆ = ⁅I, LieSubmodule.map f N⁆ - LieSubmodule.map_comap_incl 📋 Mathlib.Algebra.Lie.IdealOperations
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) : LieSubmodule.map N.incl (LieSubmodule.comap N.incl N') = N ⊓ N' - LieSubmodule.Quotient.map_mk'_eq_bot_le 📋 Mathlib.Algebra.Lie.Quotient
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [AddCommGroup M] [Module R M] [LieRingModule L M] (N N' : LieSubmodule R L M) [LieAlgebra R L] [LieModule R L M] : LieSubmodule.map (LieSubmodule.Quotient.mk' N) N' = ⊥ ↔ N' ≤ N - LieModule.map_lowerCentralSeries_eq 📋 Mathlib.Algebra.Lie.Nilpotent
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (k : ℕ) {M₂ : Type w₁} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] [LieModule R L M] {f : M →ₗ⁅R,L⁆ M₂} (hf : Function.Surjective ⇑f) : LieSubmodule.map f (LieModule.lowerCentralSeries R L M k) = LieModule.lowerCentralSeries R L M₂ k - LieModule.map_lowerCentralSeries_le 📋 Mathlib.Algebra.Lie.Nilpotent
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (k : ℕ) {M₂ : Type w₁} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] [LieModule R L M] (f : M →ₗ⁅R,L⁆ M₂) : LieSubmodule.map f (LieModule.lowerCentralSeries R L M k) ≤ LieModule.lowerCentralSeries R L M₂ k - LieSubmodule.lowerCentralSeries_map_eq_lcs 📋 Mathlib.Algebra.Lie.Nilpotent
{R : Type u} {L : Type v} {M : Type w} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] (k : ℕ) (N : LieSubmodule R L M) [LieModule R L M] : LieSubmodule.map N.incl (LieModule.lowerCentralSeries R L (↥N) k) = LieSubmodule.lcs k N - LieModule.map_posFittingComp_eq 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {M₂ : Type u_5} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] (e : M ≃ₗ⁅R,L⁆ M₂) : LieSubmodule.map e.toLieModuleHom (LieModule.posFittingComp R L M) = LieModule.posFittingComp R L M₂ - LieModule.map_genWeightSpace_eq 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {M₂ : Type u_5} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] {χ : L → R} (e : M ≃ₗ⁅R,L⁆ M₂) : LieSubmodule.map e.toLieModuleHom (LieModule.genWeightSpace M χ) = LieModule.genWeightSpace M₂ χ - LieModule.map_posFittingComp_le 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {M₂ : Type u_5} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] (f : M →ₗ⁅R,L⁆ M₂) : LieSubmodule.map f (LieModule.posFittingComp R L M) ≤ LieModule.posFittingComp R L M₂ - LieModule.map_genWeightSpace_le 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {M₂ : Type u_5} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] {χ : L → R} (f : M →ₗ⁅R,L⁆ M₂) : LieSubmodule.map f (LieModule.genWeightSpace M χ) ≤ LieModule.genWeightSpace M₂ χ - LieModule.map_genWeightSpace_eq_of_injective 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] {M₂ : Type u_5} [AddCommGroup M₂] [Module R M₂] [LieRingModule L M₂] [LieModule R L M₂] {χ : L → R} {f : M →ₗ⁅R,L⁆ M₂} (hf : Function.Injective ⇑f) : LieSubmodule.map f (LieModule.genWeightSpace M χ) = LieModule.genWeightSpace M₂ χ ⊓ f.range - LieModule.genWeightSpace_genWeightSpaceOf_map_incl 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] (x : L) (χ : L → R) : LieSubmodule.map (LieModule.genWeightSpaceOf M (χ x) x).incl (LieModule.genWeightSpace (↥(LieModule.genWeightSpaceOf M (χ x) x)) χ) = LieModule.genWeightSpace M χ - LieModule.posFittingComp_map_incl_sup_of_codisjoint 📋 Mathlib.Algebra.Lie.Weights.Basic
{R : Type u_2} {L : Type u_3} {M : Type u_4} [CommRing R] [LieRing L] [LieAlgebra R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [LieRing.IsNilpotent L] [IsNoetherian R M] [IsArtinian R M] {N₁ N₂ : LieSubmodule R L M} (h : Codisjoint N₁ N₂) : LieSubmodule.map N₁.incl (LieModule.posFittingComp R L ↥N₁) ⊔ LieSubmodule.map N₂.incl (LieModule.posFittingComp R L ↥N₂) = LieModule.posFittingComp R L M
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