Loogle!
Result
Found 130 declarations mentioning Multiset.toFinset.
- Multiset.toFinset 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] (s : Multiset α) : Finset α - Finset.val_toFinset 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] (s : Finset α) : s.val.toFinset = s - List.toFinset_coe 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] (l : List α) : (↑l).toFinset = l.toFinset - Multiset.toFinset_val 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] (s : Multiset α) : s.toFinset.val = s.dedup - Multiset.toFinset_dedup 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] (m : Multiset α) : m.dedup.toFinset = m.toFinset - Multiset.toFinset_eq 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] {s : Multiset α} (n : s.Nodup) : { val := s, nodup := n } = s.toFinset - Multiset.coe_toFinset 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] {s : Multiset α} : ↑s.toFinset = {a | a ∈ s} - Multiset.Nodup.toFinset_inj 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] {l l' : Multiset α} (hl : l.Nodup) (hl' : l'.Nodup) (h : l.toFinset = l'.toFinset) : l = l' - Multiset.mem_toFinset 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] {a : α} {s : Multiset α} : a ∈ s.toFinset ↔ a ∈ s - Multiset.toFinset_ssubset 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] {s t : Multiset α} : s.toFinset ⊂ t.toFinset ↔ s ⊂ t - Multiset.toFinset_subset 📋 Mathlib.Data.Finset.Dedup
{α : Type u_1} [DecidableEq α] {s t : Multiset α} : s.toFinset ⊆ t.toFinset ↔ s ⊆ t - Multiset.toFinset_zero 📋 Mathlib.Data.Finset.Insert
{α : Type u_1} [DecidableEq α] : Multiset.toFinset 0 = ∅ - Multiset.toFinset_singleton 📋 Mathlib.Data.Finset.Insert
{α : Type u_1} [DecidableEq α] (a : α) : {a}.toFinset = {a} - Multiset.toFinset_cons 📋 Mathlib.Data.Finset.Insert
{α : Type u_1} [DecidableEq α] (a : α) (s : Multiset α) : (a ::ₘ s).toFinset = insert a s.toFinset - Multiset.disjoint_toFinset 📋 Mathlib.Data.Finset.Disjoint
{α : Type u_2} [DecidableEq α] {m1 m2 : Multiset α} : Disjoint m1.toFinset m2.toFinset ↔ Disjoint m1 m2 - Multiset.toFinset_range 📋 Mathlib.Data.Finset.Range
(n : ℕ) : (Multiset.range n).toFinset = Finset.range n - Multiset.Aesop.toFinset_nonempty_of_ne 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] {s : Multiset α} : s ≠ 0 → s.toFinset.Nonempty - Multiset.toFinset_nonempty 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] {s : Multiset α} : s.toFinset.Nonempty ↔ s ≠ 0 - Multiset.toFinset_filter 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] (s : Multiset α) (p : α → Prop) [DecidablePred p] : (Multiset.filter p s).toFinset = Finset.filter p s.toFinset - Multiset.toFinset_eq_empty 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] {m : Multiset α} : m.toFinset = ∅ ↔ m = 0 - Multiset.toFinset_inter 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (s ∩ t).toFinset = s.toFinset ∩ t.toFinset - Multiset.toFinset_union 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (s ∪ t).toFinset = s.toFinset ∪ t.toFinset - Multiset.toFinset_add 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (s + t).toFinset = s.toFinset ∪ t.toFinset - Multiset.toFinset_replicate 📋 Mathlib.Data.Finset.Basic
{α : Type u_1} [DecidableEq α] (n : ℕ) (a : α) : (Multiset.replicate n a).toFinset = if n = 0 then ∅ else {a} - Finset.image_toFinset 📋 Mathlib.Data.Finset.Image
{α : Type u_1} {β : Type u_2} [DecidableEq β] {f : α → β} [DecidableEq α] {s : Multiset α} : Finset.image f s.toFinset = (Multiset.map f s).toFinset - Multiset.toFinset_map 📋 Mathlib.Data.Finset.Image
{α : Type u_1} {β : Type u_2} [DecidableEq α] [DecidableEq β] (f : α → β) (m : Multiset α) : (Multiset.map f m).toFinset = Finset.image f m.toFinset - Finset.map_toFinset 📋 Mathlib.Data.Finset.Image
{α : Type u_1} {β : Type u_2} {f : α ↪ β} [DecidableEq α] [DecidableEq β] {s : Multiset α} : Finset.map f s.toFinset = (Multiset.map (⇑f) s).toFinset - Multiset.toFinset_card_le 📋 Mathlib.Data.Finset.Card
{α : Type u_1} [DecidableEq α] (m : Multiset α) : m.toFinset.card ≤ m.card - Multiset.card_toFinset 📋 Mathlib.Data.Finset.Card
{α : Type u_1} [DecidableEq α] (m : Multiset α) : m.toFinset.card = m.dedup.card - Multiset.toFinset_card_of_nodup 📋 Mathlib.Data.Finset.Card
{α : Type u_1} [DecidableEq α] {m : Multiset α} (h : m.Nodup) : m.toFinset.card = m.card - Multiset.toFinset_card_eq_card_iff_nodup 📋 Mathlib.Data.Finset.Card
{α : Type u_1} [DecidableEq α] {m : Multiset α} : m.toFinset.card = m.card ↔ m.Nodup - Multiset.finite_toSet_toFinset 📋 Mathlib.Data.Set.Finite.Basic
{α : Type u} [DecidableEq α] (s : Multiset α) : ⋯.toFinset = s.toFinset - Finset.bind_toFinset 📋 Mathlib.Data.Finset.Union
{α : Type u_1} {β : Type u_2} [DecidableEq β] [DecidableEq α] (s : Multiset α) (t : α → Multiset β) : (s.bind t).toFinset = s.toFinset.biUnion fun a => (t a).toFinset - Finset.sup_toFinset 📋 Mathlib.Data.Finset.Lattice.Fold
{α : Type u_6} {β : Type u_7} [DecidableEq β] (s : Finset α) (f : α → Multiset β) : (s.sup f).toFinset = s.sup fun x => (f x).toFinset - Multiset.toFinset_prod_dvd_prod 📋 Mathlib.Algebra.BigOperators.Group.Finset.Defs
{M : Type u_3} [DecidableEq M] [CommMonoid M] (S : Multiset M) : S.toFinset.prod id ∣ S.prod - Finset.prod_mem_multiset 📋 Mathlib.Algebra.BigOperators.Group.Finset.Defs
{ι : Type u_1} {M : Type u_3} [CommMonoid M] [DecidableEq ι] (m : Multiset ι) (f : { x // x ∈ m } → M) (g : ι → M) (hfg : ∀ (x : { x // x ∈ m }), f x = g ↑x) : ∏ x, f x = ∏ x ∈ m.toFinset, g x - Finset.sum_mem_multiset 📋 Mathlib.Algebra.BigOperators.Group.Finset.Defs
{ι : Type u_1} {M : Type u_3} [AddCommMonoid M] [DecidableEq ι] (m : Multiset ι) (f : { x // x ∈ m } → M) (g : ι → M) (hfg : ∀ (x : { x // x ∈ m }), f x = g ↑x) : ∑ x, f x = ∑ x ∈ m.toFinset, g x - Multiset.toFinset_sum_count_eq 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} [DecidableEq ι] (s : Multiset ι) : ∑ a ∈ s.toFinset, Multiset.count a s = s.card - Finset.prod_multiset_count 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{M : Type u_4} [CommMonoid M] [DecidableEq M] (s : Multiset M) : s.prod = ∏ m ∈ s.toFinset, m ^ Multiset.count m s - Finset.sum_multiset_count 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{M : Type u_4} [AddCommMonoid M] [DecidableEq M] (s : Multiset M) : s.sum = ∑ m ∈ s.toFinset, Multiset.count m s • m - Finset.prod_multiset_map_count 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} [DecidableEq ι] (s : Multiset ι) {M : Type u_5} [CommMonoid M] (f : ι → M) : (Multiset.map f s).prod = ∏ m ∈ s.toFinset, f m ^ Multiset.count m s - Finset.sum_multiset_map_count 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} [DecidableEq ι] (s : Multiset ι) {M : Type u_5} [AddCommMonoid M] (f : ι → M) : (Multiset.map f s).sum = ∑ m ∈ s.toFinset, Multiset.count m s • f m - Finset.prod_multiset_count_of_subset 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{M : Type u_4} [CommMonoid M] [DecidableEq M] (m : Multiset M) (s : Finset M) (hs : m.toFinset ⊆ s) : m.prod = ∏ i ∈ s, i ^ Multiset.count i m - Finset.sum_multiset_count_of_subset 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{M : Type u_4} [AddCommMonoid M] [DecidableEq M] (m : Multiset M) (s : Finset M) (hs : m.toFinset ⊆ s) : m.sum = ∑ i ∈ s, Multiset.count i m • i - Multiset.toFinset_sum_count_nsmul_eq 📋 Mathlib.Algebra.BigOperators.Group.Finset.Basic
{ι : Type u_1} [DecidableEq ι] (s : Multiset ι) : ∑ a ∈ s.toFinset, Multiset.count a s • {a} = s - Multiset.card_le_card_toFinset_add_one_iff 📋 Mathlib.Algebra.Order.BigOperators.Group.Finset
{α : Type u_2} [DecidableEq α] {m : Multiset α} : m.card ≤ m.toFinset.card + 1 ↔ ∀ (x y : α), 1 < Multiset.count x m → 1 < Multiset.count y m → x = y ∧ Multiset.count x m = 2 - Multiset.mulSupport_fun_pow_count_subset 📋 Mathlib.Algebra.BigOperators.Finprod
{α : Type u_1} {M : Type u_2} [DecidableEq α] [CommMonoid M] (s : Multiset α) (f : α → M) : (Function.mulSupport fun a => f a ^ Multiset.count a s) ⊆ ↑s.toFinset - Multiset.support_fun_nsmul_count_subset 📋 Mathlib.Algebra.BigOperators.Finprod
{α : Type u_1} {M : Type u_2} [DecidableEq α] [AddCommMonoid M] (s : Multiset α) (f : α → M) : (Function.support fun a => Multiset.count a s • f a) ⊆ ↑s.toFinset - Ideal.pow_multiset_sum_mem_span_pow 📋 Mathlib.RingTheory.Ideal.Basic
{α : Type u_2} [CommSemiring α] [DecidableEq α] (s : Multiset α) (n : ℕ) : s.sum ^ (s.card * n + 1) ∈ Ideal.span ↑(Multiset.map (fun x => x ^ (n + 1)) s).toFinset - DFinsupp.support_mk'_subset 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {f : (i : ι) → β i} {s : Multiset ι} {h : ∀ (i : ι), i ∈ s ∨ f i = 0} : { toFun := f, support' := Trunc.mk ⟨s, h⟩ }.support ⊆ s.toFinset - Multiset.toFinset_nsmul 📋 Mathlib.Algebra.Order.Group.Finset
{α : Type u_1} [DecidableEq α] (s : Multiset α) (n : ℕ) : n ≠ 0 → (n • s).toFinset = s.toFinset - Multiset.toFinset_eq_singleton_iff 📋 Mathlib.Algebra.Order.Group.Finset
{α : Type u_1} [DecidableEq α] (s : Multiset α) (a : α) : s.toFinset = {a} ↔ s.card ≠ 0 ∧ s = s.card • {a} - Multiset.toFinset_card_eq_one_iff 📋 Mathlib.Algebra.Order.Group.Finset
{α : Type u_1} [DecidableEq α] (s : Multiset α) : s.toFinset.card = 1 ↔ s.card ≠ 0 ∧ ∃ a, s = s.card • {a} - Multiset.toFinsupp_support 📋 Mathlib.Data.Finsupp.Multiset
{α : Type u_1} [DecidableEq α] (s : Multiset α) : (Multiset.toFinsupp s).support = s.toFinset - Finsupp.toFinset_toMultiset 📋 Mathlib.Data.Finsupp.Multiset
{α : Type u_1} [DecidableEq α] (f : α →₀ ℕ) : (Finsupp.toMultiset f).toFinset = f.support - Cycle.toFinset_toMultiset 📋 Mathlib.Data.List.Cycle
{α : Type u_1} [DecidableEq α] (s : Cycle α) : s.toMultiset.toFinset = s.toFinset - Polynomial.nthRootsFinset_def 📋 Mathlib.Algebra.Polynomial.Roots
(n : ℕ) {R : Type u_1} (a : R) [CommRing R] [IsDomain R] [DecidableEq R] : Polynomial.nthRootsFinset n a = (Polynomial.nthRoots n a).toFinset - Polynomial.rootSet_def 📋 Mathlib.Algebra.Polynomial.Roots
{T : Type w} [CommRing T] (p : Polynomial T) (S : Type u_1) [CommRing S] [IsDomain S] [Algebra T S] [DecidableEq S] : p.rootSet S = ↑(p.aroots S).toFinset - Polynomial.bUnion_roots_finite 📋 Mathlib.Algebra.Polynomial.Roots
{R : Type u_1} {S : Type u_2} [Semiring R] [CommRing S] [IsDomain S] [DecidableEq S] (m : R →+* S) (d : ℕ) {U : Set R} (h : U.Finite) : (⋃ f, ⋃ (_ : f.natDegree ≤ d ∧ ∀ (i : ℕ), f.coeff i ∈ U), ↑(Polynomial.map m f).roots.toFinset).Finite - Polynomial.prod_multiset_root_eq_finset_root 📋 Mathlib.Algebra.Polynomial.Roots
{R : Type u} [CommRing R] [IsDomain R] {p : Polynomial R} [DecidableEq R] : (Multiset.map (fun a => Polynomial.X - Polynomial.C a) p.roots).prod = ∏ a ∈ p.roots.toFinset, (Polynomial.X - Polynomial.C a) ^ Polynomial.rootMultiplicity a p - UniqueFactorizationMonoid.factors_pow_count_prod 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Basic
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [DecidableEq α] {x : α} (hx : x ≠ 0) : Associated (∏ p ∈ (UniqueFactorizationMonoid.factors x).toFinset, p ^ Multiset.count p (UniqueFactorizationMonoid.factors x)) x - Finset.sym2_toFinset 📋 Mathlib.Data.Finset.Sym
{α : Type u_1} [DecidableEq α] (m : Multiset α) : m.toFinset.sym2 = m.sym2.toFinset - MvPolynomial.vars_def 📋 Mathlib.Algebra.MvPolynomial.Variables
{R : Type u} {σ : Type u_1} [CommSemiring R] [DecidableEq σ] (p : MvPolynomial σ R) : p.vars = p.degrees.toFinset - Cubic.card_roots_le 📋 Mathlib.Algebra.CubicDiscriminant
{R : Type u_1} {P : Cubic R} [CommRing R] [IsDomain R] [DecidableEq R] : P.roots.toFinset.card ≤ 3 - Cubic.card_roots_of_discr_ne_zero 📋 Mathlib.Algebra.CubicDiscriminant
{F : Type u_3} {K : Type u_4} {P : Cubic F} [Field F] [Field K] {φ : F →+* K} [DecidableEq K] (ha : P.a ≠ 0) (h3 : (Polynomial.map φ P.toPoly).Splits) (hd : P.discr ≠ 0) : (Cubic.map φ P).roots.toFinset.card = 3 - Polynomial.rootsExpandToRoots 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : ↥((Polynomial.expand R p) f).roots.toFinset ↪ ↥f.roots.toFinset - Polynomial.rootsExpandEquivRoots 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] : ↥((Polynomial.expand R p) f).roots.toFinset ≃ ↥f.roots.toFinset - Polynomial.rootsExpandPowToRoots 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : ↥((Polynomial.expand R (p ^ n)) f).roots.toFinset ↪ ↥f.roots.toFinset - Polynomial.rootsExpandPowEquivRoots 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] (n : ℕ) : ↥((Polynomial.expand R (p ^ n)) f).roots.toFinset ≃ ↥f.roots.toFinset - Polynomial.roots_expand_image_frobenius_subset 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : Finset.image (⇑(frobenius R p)) ((Polynomial.expand R p) f).roots.toFinset ⊆ f.roots.toFinset - Polynomial.roots_expand_image_frobenius 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p : ℕ} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] [DecidableEq R] : Finset.image (⇑(frobenius R p)) ((Polynomial.expand R p) f).roots.toFinset = f.roots.toFinset - Polynomial.roots_expand_pow_image_iterateFrobenius_subset 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] : Finset.image (⇑(iterateFrobenius R p n)) ((Polynomial.expand R (p ^ n)) f).roots.toFinset ⊆ f.roots.toFinset - Polynomial.roots_expand_image_iterateFrobenius 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] {p n : ℕ} [ExpChar R p] {f : Polynomial R} [PerfectRing R p] [DecidableEq R] : Finset.image (⇑(iterateFrobenius R p n)) ((Polynomial.expand R (p ^ n)) f).roots.toFinset = f.roots.toFinset - Polynomial.rootsExpandToRoots_apply 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] (x : ↥((Polynomial.expand R p) f).roots.toFinset) : ↑((Polynomial.rootsExpandToRoots p f) x) = ↑x ^ p - Polynomial.rootsExpandPowToRoots_apply 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p n : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] (x : ↥((Polynomial.expand R (p ^ n)) f).roots.toFinset) : ↑((Polynomial.rootsExpandPowToRoots p n f) x) = ↑x ^ p ^ n - Polynomial.rootsExpandEquivRoots_apply 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] (x : ↥((Polynomial.expand R p) f).roots.toFinset) : ↑((Polynomial.rootsExpandEquivRoots p f) x) = ↑x ^ p - Polynomial.rootsExpandPowEquivRoots_apply 📋 Mathlib.FieldTheory.Perfect
{R : Type u_1} [CommRing R] [IsDomain R] (p : ℕ) [ExpChar R p] (f : Polynomial R) [DecidableEq R] [PerfectRing R p] (n : ℕ) (x : ↥((Polynomial.expand R (p ^ n)) f).roots.toFinset) : ↑((Polynomial.rootsExpandPowEquivRoots p f n) x) = ↑x ^ p ^ n - Multiset.image_toEnumFinset_fst 📋 Mathlib.Data.Multiset.Fintype
{α : Type u_1} [DecidableEq α] (m : Multiset α) : Finset.image Prod.fst m.toEnumFinset = m.toFinset - IsDedekindDomain.quotientEquivPiFactors 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDedekindDomain R] {I : Ideal R} (hI : I ≠ ⊥) : R ⧸ I ≃+* ((P : ↥(UniqueFactorizationMonoid.factors I).toFinset) → R ⧸ ↑P ^ Multiset.count (↑P) (UniqueFactorizationMonoid.factors I)) - IsDedekindDomain.quotientEquivPiFactors_mk 📋 Mathlib.RingTheory.DedekindDomain.Ideal.Lemmas
{R : Type u_1} [CommRing R] [IsDedekindDomain R] {I : Ideal R} (hI : I ≠ ⊥) (x : R) : (IsDedekindDomain.quotientEquivPiFactors hI) ((Ideal.Quotient.mk I) x) = fun _P => (Ideal.Quotient.mk (↑_P ^ Multiset.count (↑_P) (UniqueFactorizationMonoid.factors I))) x - Submodule.isInternal_prime_power_torsion_of_is_torsion_by_ideal 📋 Mathlib.Algebra.Module.DedekindDomain
{R : Type u} [CommRing R] [IsDedekindDomain R] {M : Type v} [AddCommGroup M] [Module R M] {I : Ideal R} (hI : I ≠ ⊥) (hM : Module.IsTorsionBySet R M ↑I) : DirectSum.IsInternal fun p => Submodule.torsionBySet R M ↑(↑p ^ Multiset.count (↑p) (UniqueFactorizationMonoid.factors I)) - Submodule.isInternal_prime_power_torsion 📋 Mathlib.Algebra.Module.DedekindDomain
{R : Type u} [CommRing R] [IsDedekindDomain R] {M : Type v} [AddCommGroup M] [Module R M] [Module.Finite R M] (hM : Module.IsTorsion R M) : DirectSum.IsInternal fun p => Submodule.torsionBySet R M ↑(↑p ^ Multiset.count (↑p) (UniqueFactorizationMonoid.factors ⊤.annihilator)) - Submodule.isInternal_prime_power_torsion_of_pid 📋 Mathlib.Algebra.Module.PID
{R : Type u} [CommRing R] [IsPrincipalIdealRing R] {M : Type v} [AddCommGroup M] [Module R M] [IsDomain R] [Module.Finite R M] (hM : Module.IsTorsion R M) : DirectSum.IsInternal fun p => Submodule.torsionBy R M (Submodule.IsPrincipal.generator ↑p ^ Multiset.count (↑p) (UniqueFactorizationMonoid.factors ⊤.annihilator)) - support_factorization 📋 Mathlib.RingTheory.UniqueFactorizationDomain.Finsupp
{α : Type u_1} [CommMonoidWithZero α] [UniqueFactorizationMonoid α] [NormalizationMonoid α] [DecidableEq α] {n : α} : (factorization n).support = (UniqueFactorizationMonoid.normalizedFactors n).toFinset - Polynomial.natSepDegree_eq_of_isAlgClosed 📋 Mathlib.FieldTheory.SeparableDegree
{F : Type u} (E : Type v) [Field F] [Field E] [Algebra F E] (f : Polynomial F) [DecidableEq E] [IsAlgClosed E] : f.natSepDegree = (f.aroots E).toFinset.card - Polynomial.natSepDegree_eq_of_splits 📋 Mathlib.FieldTheory.SeparableDegree
{F : Type u} {E : Type v} [Field F] [Field E] [Algebra F E] (f : Polynomial F) [DecidableEq E] (h : (Polynomial.map (algebraMap F E) f).Splits) : f.natSepDegree = (f.aroots E).toFinset.card - Nat.divisors_filter_squarefree 📋 Mathlib.Data.Nat.Squarefree
{n : ℕ} (h0 : n ≠ 0) : {d ∈ n.divisors | Squarefree d}.val = Multiset.map (fun x => x.val.prod) (UniqueFactorizationMonoid.normalizedFactors n).toFinset.powerset.val - Nat.sum_divisors_filter_squarefree 📋 Mathlib.Data.Nat.Squarefree
{n : ℕ} (h0 : n ≠ 0) {α : Type u_1} [AddCommMonoid α] {f : ℕ → α} : ∑ d ∈ n.divisors with Squarefree d, f d = ∑ i ∈ (UniqueFactorizationMonoid.normalizedFactors n).toFinset.powerset, f i.val.prod - Polynomial.card_roots_toFinset_le_derivative 📋 Mathlib.Analysis.Calculus.LocalExtr.Polynomial
(p : Polynomial ℝ) : p.roots.toFinset.card ≤ (Polynomial.derivative p).roots.toFinset.card + 1 - Polynomial.card_roots_toFinset_le_card_roots_derivative_diff_roots_succ 📋 Mathlib.Analysis.Calculus.LocalExtr.Polynomial
(p : Polynomial ℝ) : p.roots.toFinset.card ≤ ((Polynomial.derivative p).roots.toFinset \ p.roots.toFinset).card + 1 - Polynomial.card_roots_toFinset_le_card_roots_derivative_sdiff_roots_succ 📋 Mathlib.Analysis.Calculus.LocalExtr.Polynomial
(p : Polynomial ℝ) : p.roots.toFinset.card ≤ ((Polynomial.derivative p).roots.toFinset \ p.roots.toFinset).card + 1 - Polynomial.sum_derivRootWeight_pos 📋 Mathlib.Analysis.Complex.Polynomial.GaussLucas
{P : Polynomial ℂ} (hP : 0 < P.degree) (z : ℂ) : 0 < ∑ w ∈ P.roots.toFinset, P.derivRootWeight z w - Polynomial.eq_centerMass_of_eval_derivative_eq_zero 📋 Mathlib.Analysis.Complex.Polynomial.GaussLucas
{P : Polynomial ℂ} {z : ℂ} (hP : 0 < P.degree) (hz : Polynomial.eval z (Polynomial.derivative P) = 0) : z = P.roots.toFinset.centerMass (P.derivRootWeight z) id - IsPrimitiveRoot.is_roots_of_minpoly 📋 Mathlib.RingTheory.RootsOfUnity.Minpoly
{n : ℕ} {K : Type u_1} [CommRing K] {μ : K} (h : IsPrimitiveRoot μ n) [IsDomain K] [CharZero K] [DecidableEq K] : primitiveRoots n K ⊆ (Polynomial.map (Int.castRingHom K) (minpoly ℤ μ)).roots.toFinset - Multiset.bell_eq 📋 Mathlib.Combinatorics.Enumerative.Bell
(m : Multiset ℕ) : m.bell = m.sum.factorial / ((Multiset.map (fun j => j.factorial) m).prod * ∏ j ∈ m.toFinset.erase 0, (Multiset.count j m).factorial) - Multiset.bell_mul_eq 📋 Mathlib.Combinatorics.Enumerative.Bell
(m : Multiset ℕ) : m.bell * (Multiset.map (fun j => j.factorial) m).prod * ∏ j ∈ m.toFinset.erase 0, (Multiset.count j m).factorial = m.sum.factorial - Nat.bell_eq_sum_erase 📋 Mathlib.Combinatorics.Enumerative.Bell
{n : ℕ} (p : (n + 1).Partition) : p.parts.bell = ∑ a ∈ p.parts.toFinset, n.choose (a - 1) * (p.parts.erase a).bell - Multiset.toDFinsupp_support 📋 Mathlib.Data.DFinsupp.Multiset
{α : Type u_1} [DecidableEq α] (s : Multiset α) : (Multiset.toDFinsupp s).support = s.toFinset - Finset.map_comp_coe_apply 📋 Mathlib.Data.Finset.Functor
{α β : Type u} (h : α → β) (s : Multiset α) : Finset.image h s.toFinset = (h <$> s).toFinset - Finset.map_comp_coe 📋 Mathlib.Data.Finset.Functor
{α β : Type u} (h : α → β) : Functor.map h ∘ Multiset.toFinset = Multiset.toFinset ∘ Functor.map h - Multiset.card_Iic 📋 Mathlib.Data.Multiset.Interval
{α : Type u_1} [DecidableEq α] (s : Multiset α) : (Finset.Iic s).card = ∏ i ∈ s.toFinset, (Multiset.count i s + 1) - Multiset.card_Icc 📋 Mathlib.Data.Multiset.Interval
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (Finset.Icc s t).card = ∏ i ∈ s.toFinset ∪ t.toFinset, (Multiset.count i t + 1 - Multiset.count i s) - Multiset.card_uIcc 📋 Mathlib.Data.Multiset.Interval
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (Finset.uIcc s t).card = ∏ i ∈ s.toFinset ∪ t.toFinset, ((↑(Multiset.count i t) - ↑(Multiset.count i s)).natAbs + 1) - Multiset.card_Ico 📋 Mathlib.Data.Multiset.Interval
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (Finset.Ico s t).card = ∏ i ∈ s.toFinset ∪ t.toFinset, (Multiset.count i t + 1 - Multiset.count i s) - 1 - Multiset.card_Ioc 📋 Mathlib.Data.Multiset.Interval
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (Finset.Ioc s t).card = ∏ i ∈ s.toFinset ∪ t.toFinset, (Multiset.count i t + 1 - Multiset.count i s) - 1 - Multiset.card_Ioo 📋 Mathlib.Data.Multiset.Interval
{α : Type u_1} [DecidableEq α] (s t : Multiset α) : (Finset.Ioo s t).card = ∏ i ∈ s.toFinset ∪ t.toFinset, (Multiset.count i t + 1 - Multiset.count i s) - 2 - Equiv.Perm.card_isConj_eq 📋 Mathlib.GroupTheory.Perm.Centralizer
{α : Type u_1} [DecidableEq α] [Fintype α] (g : Equiv.Perm α) : Nat.card ↑{h | IsConj g h} = (Fintype.card α).factorial / ((Fintype.card α - g.cycleType.sum).factorial * g.cycleType.prod * ∏ n ∈ g.cycleType.toFinset, (Multiset.count n g.cycleType).factorial) - Equiv.Perm.card_isConj_mul_eq 📋 Mathlib.GroupTheory.Perm.Centralizer
{α : Type u_1} [DecidableEq α] [Fintype α] (g : Equiv.Perm α) : Nat.card ↑{h | IsConj g h} * ((Fintype.card α - g.cycleType.sum).factorial * g.cycleType.prod * ∏ n ∈ g.cycleType.toFinset, (Multiset.count n g.cycleType).factorial) = (Fintype.card α).factorial - Equiv.Perm.nat_card_centralizer 📋 Mathlib.GroupTheory.Perm.Centralizer
{α : Type u_1} [DecidableEq α] [Fintype α] (g : Equiv.Perm α) : Nat.card ↥(Subgroup.centralizer {g}) = (Fintype.card α - g.cycleType.sum).factorial * g.cycleType.prod * ∏ n ∈ g.cycleType.toFinset, (Multiset.count n g.cycleType).factorial - Equiv.Perm.card_of_cycleType 📋 Mathlib.GroupTheory.Perm.Centralizer
(α : Type u_1) [DecidableEq α] [Fintype α] (m : Multiset ℕ) : {g | g.cycleType = m}.card = if m.sum ≤ Fintype.card α ∧ ∀ a ∈ m, 2 ≤ a then (Fintype.card α).factorial / ((Fintype.card α - m.sum).factorial * m.prod * ∏ n ∈ m.toFinset, (Multiset.count n m).factorial) else 0 - Equiv.Perm.card_of_cycleType_mul_eq 📋 Mathlib.GroupTheory.Perm.Centralizer
(α : Type u_1) [DecidableEq α] [Fintype α] (m : Multiset ℕ) : {g | g.cycleType = m}.card * ((Fintype.card α - m.sum).factorial * m.prod * ∏ n ∈ m.toFinset, (Multiset.count n m).factorial) = if m.sum ≤ Fintype.card α ∧ ∀ a ∈ m, 2 ≤ a then (Fintype.card α).factorial else 0 - Equiv.Perm.OnCycleFactors.nat_card_range_toPermHom 📋 Mathlib.GroupTheory.Perm.Centralizer
{α : Type u_1} [DecidableEq α] [Fintype α] {g : Equiv.Perm α} : Nat.card ↥(Equiv.Perm.OnCycleFactors.toPermHom g).range = ∏ n ∈ g.cycleType.toFinset, (Multiset.count n g.cycleType).factorial - AlternatingGroup.card_of_cycleType 📋 Mathlib.GroupTheory.SpecificGroups.Alternating.Centralizer
(α : Type u_1) [Fintype α] [DecidableEq α] (m : Multiset ℕ) : {g | (↑g).cycleType = m}.card = if (m.sum ≤ Fintype.card α ∧ ∀ a ∈ m, 2 ≤ a) ∧ Even (m.sum + m.card) then (Fintype.card α).factorial / ((Fintype.card α - m.sum).factorial * (m.prod * ∏ n ∈ m.toFinset, (Multiset.count n m).factorial)) else 0 - AlternatingGroup.card_of_cycleType_mul_eq 📋 Mathlib.GroupTheory.SpecificGroups.Alternating.Centralizer
(α : Type u_1) [Fintype α] [DecidableEq α] (m : Multiset ℕ) : {g | (↑g).cycleType = m}.card * ((Fintype.card α - m.sum).factorial * m.prod * ∏ n ∈ m.toFinset, (Multiset.count n m).factorial) = if (m.sum ≤ Fintype.card α ∧ ∀ a ∈ m, 2 ≤ a) ∧ Even (m.sum + m.card) then (Fintype.card α).factorial else 0 - UniqueFactorizationMonoid.toFinset_normalizedFactors 📋 Mathlib.RingTheory.Radical.Basic
{M : Type u_1} [CommMonoidWithZero M] [NormalizationMonoid M] [UniqueFactorizationMonoid M] {a : M} [DecidableEq M] : (UniqueFactorizationMonoid.normalizedFactors a).toFinset = UniqueFactorizationMonoid.primeFactors a - Polynomial.normalizedFactors_cyclotomic_card 📋 Mathlib.RingTheory.Polynomial.Cyclotomic.Factorization
{K : Type u_1} [Field K] [Fintype K] {p f n : ℕ} (hK : Fintype.card K = p ^ f) (hn : p.Coprime n) [hp : Fact (Nat.Prime p)] [DecidableEq K] : (UniqueFactorizationMonoid.normalizedFactors (Polynomial.cyclotomic n K)).toFinset.card = n.totient / orderOf (ZMod.unitOfCoprime (p ^ f) ⋯) - Ideal.Factors.isPrime 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : (↑P).IsPrime - Ideal.Factors.fact_ramificationIdx_neZero 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : NeZero (p.ramificationIdx' ↑P) - Ideal.Factors.ramificationIdx_ne_zero 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : p.ramificationIdx' ↑P ≠ 0 - Ideal.Factors.liesOver 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] [p.IsMaximal] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : (↑P).LiesOver p - Ideal.Factors.ne_bot 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : ↑P ≠ ⊥ - Ideal.Factors.isScalarTower 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : IsScalarTower R (R ⧸ p) (S ⧸ ↑P) - Ideal.Factors.finiteDimensional_quotient_pow 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] [Module.Finite R S] [p.IsMaximal] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : FiniteDimensional (R ⧸ p) (S ⧸ ↑P ^ p.ramificationIdx' ↑P) - Ideal.Factors.finrank_pow_ramificationIdx 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] (p : Ideal R) [IsDedekindDomain S] [p.IsMaximal] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) : Module.finrank (R ⧸ p) (S ⧸ ↑P ^ p.ramificationIdx' ↑P) = p.ramificationIdx' ↑P * p.inertiaDeg' ↑P - Ideal.Factors.piQuotientLinearEquiv 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] (S : Type v) [CommRing S] [Algebra R S] [IsDedekindDomain S] (p : Ideal R) (hp : Ideal.map (algebraMap R S) p ≠ ⊥) : (S ⧸ Ideal.map (algebraMap R S) p) ≃ₗ[R ⧸ p] (P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) → S ⧸ ↑P ^ p.ramificationIdx' ↑P - Ideal.Factors.piQuotientEquiv 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] [IsDedekindDomain S] (p : Ideal R) (hp : Ideal.map (algebraMap R S) p ≠ ⊥) : S ⧸ Ideal.map (algebraMap R S) p ≃+* ((P : ↥(UniqueFactorizationMonoid.factors (Ideal.map (algebraMap R S) p)).toFinset) → S ⧸ ↑P ^ p.ramificationIdx' ↑P) - Ideal.Factors.piQuotientEquiv_map 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] [IsDedekindDomain S] (p : Ideal R) (hp : Ideal.map (algebraMap R S) p ≠ ⊥) (x : R) : (Ideal.Factors.piQuotientEquiv p hp) ((algebraMap R (S ⧸ Ideal.map (algebraMap R S) p)) x) = fun x_1 => (Ideal.Quotient.mk (↑x_1 ^ p.ramificationIdx' ↑x_1)) ((algebraMap R S) x) - Ideal.Factors.piQuotientEquiv_mk 📋 Mathlib.NumberTheory.RamificationInertia.Basic
{R : Type u} [CommRing R] {S : Type v} [CommRing S] [Algebra R S] [IsDedekindDomain S] (p : Ideal R) (hp : Ideal.map (algebraMap R S) p ≠ ⊥) (x : S) : (Ideal.Factors.piQuotientEquiv p hp) ((Ideal.Quotient.mk (Ideal.map (algebraMap R S) p)) x) = fun x_1 => (Ideal.Quotient.mk (↑x_1 ^ p.ramificationIdx' ↑x_1)) x - PMF.support_ofMultiset 📋 Mathlib.Probability.Distributions.Uniform
{α : Type u_1} {s : Multiset α} (hs : s ≠ 0) : (PMF.ofMultiset s hs).support = ↑s.toFinset - PMF.mem_support_ofMultiset_iff 📋 Mathlib.Probability.Distributions.Uniform
{α : Type u_1} {s : Multiset α} (hs : s ≠ 0) (a : α) : a ∈ (PMF.ofMultiset s hs).support ↔ a ∈ s.toFinset
About
Loogle searches Lean and Mathlib definitions and theorems.
You can use Loogle from within the Lean4 VSCode language extension
using the Loogle command from the command palette. 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 ?aIf 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 ?bBy 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_tsumeven though the hypothesisf i < g iis not the last.You can filter for definitions vs theorems: Using
⊢ (_ : Type _)finds all definitions which provide data while⊢ (_ : Prop)finds all theorems (and definitions of proofs).
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. Please review the Lean FRO Terms of Use and Privacy Policy.
This is Loogle revision 9f11169 serving mathlib revision ce5dd8c