Loogle!
Result
Found 29 declarations mentioning MvPolynomial and Module.Finite.
- MvPolynomial.instFiniteSubtypeMemSubmoduleRestrictDegreeOfFinite 📋 Mathlib.RingTheory.MvPolynomial.Basic
(σ : Type u) (R : Type v) [CommSemiring R] [Finite σ] (N : ℕ) : Module.Finite R ↥(MvPolynomial.restrictDegree σ R N) - MvPolynomial.instFiniteSubtypeMemSubmoduleRestrictTotalDegreeOfFinite 📋 Mathlib.RingTheory.MvPolynomial.Basic
(σ : Type u) (R : Type v) [CommSemiring R] [Finite σ] (N : ℕ) : Module.Finite R ↥(MvPolynomial.restrictTotalDegree σ R N) - LinearMap.polyCharpoly 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) : Polynomial (MvPolynomial ι R) - LinearMap.polyCharpoly_monic 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) : (φ.polyCharpoly b).Monic - LinearMap.polyCharpoly_natDegree 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) [Nontrivial R] : (φ.polyCharpoly b).natDegree = Module.finrank R M - LinearMap.polyCharpoly_coeff_isHomogeneous 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) (i j : ℕ) (hij : i + j = Module.finrank R M) [Nontrivial R] : ((φ.polyCharpoly b).coeff i).IsHomogeneous j - LinearMap.nilRankAux_basis_indep 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ι' : Type u_6} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ι'] [DecidableEq ι] [DecidableEq ι'] [Module.Free R M] [Module.Finite R M] [Nontrivial R] (b : Basis ι R L) (b' : Basis ι' R L) : φ.nilRankAux b = (φ.polyCharpoly b').natTrailingDegree - LinearMap.nilRank_eq_polyCharpoly_natTrailingDegree 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] [Module.Finite R L] [Module.Free R L] [Nontrivial R] (b : Basis ι R L) : φ.nilRank = (φ.polyCharpoly b).natTrailingDegree - LinearMap.polyCharpoly.eq_1 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) : φ.polyCharpoly b = φ.polyCharpolyAux b (Module.Free.chooseBasis R M) - LinearMap.polyCharpoly_ne_zero 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) [Nontrivial R] : φ.polyCharpoly b ≠ 0 - LinearMap.polyCharpoly_coeff_nilRankAux_ne_zero 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) [Nontrivial R] : (φ.polyCharpoly b).coeff (φ.nilRankAux b) ≠ 0 - LinearMap.polyCharpoly_coeff_nilRank_ne_zero 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) [Module.Finite R L] [Module.Free R L] [Nontrivial R] : (φ.polyCharpoly b).coeff φ.nilRank ≠ 0 - LinearMap.polyCharpoly_coeff_eq_zero_of_basis 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ι' : Type u_6} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ι'] [DecidableEq ι] [DecidableEq ι'] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) (b' : Basis ι' R L) (k : ℕ) (H : (φ.polyCharpoly b).coeff k = 0) : (φ.polyCharpoly b').coeff k = 0 - LinearMap.polyCharpoly_coeff_eq_zero_iff_of_basis 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ι' : Type u_6} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ι'] [DecidableEq ι] [DecidableEq ι'] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) (b' : Basis ι' R L) (k : ℕ) : (φ.polyCharpoly b).coeff k = 0 ↔ (φ.polyCharpoly b').coeff k = 0 - LinearMap.isNilRegular_iff_coeff_polyCharpoly_nilRank_ne_zero 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) [Module.Finite R L] [Module.Free R L] (x : L) : φ.IsNilRegular x ↔ (MvPolynomial.eval ⇑(b.repr x)) ((φ.polyCharpoly b).coeff φ.nilRank) ≠ 0 - LinearMap.polyCharpoly_map_eq_charpoly 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) (x : L) : Polynomial.map (MvPolynomial.eval ⇑(b.repr x)) (φ.polyCharpoly b) = LinearMap.charpoly (φ x) - LinearMap.polyCharpolyAux_map_eq_charpoly 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) [Module.Finite R M] [Module.Free R M] (x : L) : Polynomial.map (MvPolynomial.eval ⇑(b.repr x)) (φ.polyCharpolyAux b bₘ) = LinearMap.charpoly (φ x) - LinearMap.polyCharpoly_eq_of_basis 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) [DecidableEq ιM] (bₘ : Basis ιM R M) : φ.polyCharpoly b = Polynomial.map (↑(MvPolynomial.bind₁ (LinearMap.toMvPolynomial b bₘ.end φ))) (Matrix.charpoly.univ R ιM) - LinearMap.polyCharpoly_coeff_eval 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) (x : L) (i : ℕ) : (MvPolynomial.eval ⇑(b.repr x)) ((φ.polyCharpoly b).coeff i) = (LinearMap.charpoly (φ x)).coeff i - LinearMap.polyCharpolyAux_coeff_eval 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) [Module.Finite R M] [Module.Free R M] (x : L) (i : ℕ) : (MvPolynomial.eval ⇑(b.repr x)) ((φ.polyCharpolyAux b bₘ).coeff i) = (LinearMap.charpoly (φ x)).coeff i - LinearMap.polyCharpolyAux_map_eval 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) [Module.Finite R M] [Module.Free R M] (x : ι → R) : Polynomial.map (MvPolynomial.eval x) (φ.polyCharpolyAux b bₘ) = LinearMap.charpoly (φ (b.repr.symm (Finsupp.equivFunOnFinite.symm x))) - LinearMap.polyCharpoly_baseChange 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [DecidableEq ι] [Module.Free R M] [Module.Finite R M] (b : Basis ι R L) (A : Type u_8) [CommRing A] [Algebra R A] : (LinearMap.tensorProduct R A M M ∘ₗ LinearMap.baseChange A φ).polyCharpoly (Algebra.TensorProduct.basis A b) = Polynomial.map (MvPolynomial.map (algebraMap R A)) (φ.polyCharpoly b) - LinearMap.polyCharpolyAux_map_aeval 📋 Mathlib.Algebra.Module.LinearMap.Polynomial
{R : Type u_1} {L : Type u_2} {M : Type u_3} {ι : Type u_5} {ιM : Type u_7} [CommRing R] [AddCommGroup L] [Module R L] [AddCommGroup M] [Module R M] (φ : L →ₗ[R] Module.End R M) [Fintype ι] [Fintype ιM] [DecidableEq ι] [DecidableEq ιM] (b : Basis ι R L) (bₘ : Basis ιM R M) (A : Type u_8) [CommRing A] [Algebra R A] [Module.Finite A (TensorProduct R A M)] [Module.Free A (TensorProduct R A M)] (x : ι → A) : Polynomial.map (MvPolynomial.aeval x).toRingHom (φ.polyCharpolyAux b bₘ) = ((LinearMap.tensorProduct R A M M ∘ₗ LinearMap.baseChange A φ) ((Algebra.TensorProduct.basis A b).repr.symm (Finsupp.equivFunOnFinite.symm x))).charpoly - LieModule.rank_eq_natTrailingDegree 📋 Mathlib.Algebra.Lie.Rank
(R : Type u_1) (L : Type u_3) (M : Type u_4) {ι : Type u_5} [CommRing R] [LieRing L] [LieAlgebra R L] [Module.Finite R L] [Module.Free R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [Module.Finite R M] [Module.Free R M] [Fintype ι] (b : Basis ι R L) [Nontrivial R] [DecidableEq ι] : LieModule.rank R L M = ((↑(LieModule.toEnd R L M)).polyCharpoly b).natTrailingDegree - LieAlgebra.rank_eq_natTrailingDegree 📋 Mathlib.Algebra.Lie.Rank
(R : Type u_1) (L : Type u_3) {ι : Type u_5} [CommRing R] [LieRing L] [LieAlgebra R L] [Module.Finite R L] [Module.Free R L] [Fintype ι] (b : Basis ι R L) [Nontrivial R] [DecidableEq ι] : LieAlgebra.rank R L = ((↑(LieAlgebra.ad R L)).polyCharpoly b).natTrailingDegree - LieModule.polyCharpoly_coeff_rank_ne_zero 📋 Mathlib.Algebra.Lie.Rank
(R : Type u_1) (L : Type u_3) (M : Type u_4) {ι : Type u_5} [CommRing R] [LieRing L] [LieAlgebra R L] [Module.Finite R L] [Module.Free R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [Module.Finite R M] [Module.Free R M] [Fintype ι] (b : Basis ι R L) [Nontrivial R] [DecidableEq ι] : ((↑(LieModule.toEnd R L M)).polyCharpoly b).coeff (LieModule.rank R L M) ≠ 0 - LieAlgebra.polyCharpoly_coeff_rank_ne_zero 📋 Mathlib.Algebra.Lie.Rank
(R : Type u_1) (L : Type u_3) {ι : Type u_5} [CommRing R] [LieRing L] [LieAlgebra R L] [Module.Finite R L] [Module.Free R L] [Fintype ι] (b : Basis ι R L) [Nontrivial R] [DecidableEq ι] : ((↑(LieAlgebra.ad R L)).polyCharpoly b).coeff (LieAlgebra.rank R L) ≠ 0 - LieAlgebra.isRegular_iff_coeff_polyCharpoly_rank_ne_zero 📋 Mathlib.Algebra.Lie.Rank
(R : Type u_1) {L : Type u_3} {ι : Type u_5} [CommRing R] [LieRing L] [LieAlgebra R L] [Module.Finite R L] [Module.Free R L] [Fintype ι] (b : Basis ι R L) (x : L) [DecidableEq ι] : LieAlgebra.IsRegular R x ↔ (MvPolynomial.eval ⇑(b.repr x)) (((↑(LieAlgebra.ad R L)).polyCharpoly b).coeff (LieAlgebra.rank R L)) ≠ 0 - LieModule.isRegular_iff_coeff_polyCharpoly_rank_ne_zero 📋 Mathlib.Algebra.Lie.Rank
(R : Type u_1) {L : Type u_3} (M : Type u_4) {ι : Type u_5} [CommRing R] [LieRing L] [LieAlgebra R L] [Module.Finite R L] [Module.Free R L] [AddCommGroup M] [Module R M] [LieRingModule L M] [LieModule R L M] [Module.Finite R M] [Module.Free R M] [Fintype ι] (b : Basis ι R L) (x : L) [DecidableEq ι] : LieModule.IsRegular R M x ↔ (MvPolynomial.eval ⇑(b.repr x)) (((↑(LieModule.toEnd R L M)).polyCharpoly b).coeff (LieModule.rank R L M)) ≠ 0
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 f167e8d