Loogle!
Result
Found 834 declarations mentioning DFinsupp. Of these, only the first 200 are shown.
- DFinsupp 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [(i : ι) → Zero (β i)] : Type (max u v) - DFinsupp.instInhabited 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] : Inhabited (Π₀ (i : ι), β i) - DFinsupp.instZero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] : Zero (Π₀ (i : ι), β i) - DFinsupp.toFun 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (self : DFinsupp β) (i : ι) : β i - DFinsupp.instDFunLike 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] : DFunLike (Π₀ (i : ι), β i) ι β - DFinsupp.uniqueOfIsEmpty 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [IsEmpty ι] : Unique (Π₀ (i : ι), β i) - DFinsupp.single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (i : ι) (b : β i) : Π₀ (i : ι), β i - DFinsupp.unique 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [∀ (i : ι), Subsingleton (β i)] : Unique (Π₀ (i : ι), β i) - DFinsupp.equivFunOnFintype 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [Fintype ι] : (Π₀ (i : ι), β i) ≃ ((i : ι) → β i) - DFinsupp.instDecidableEq 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → DecidableEq (β i)] : DecidableEq (Π₀ (i : ι), β i) - DFinsupp.addZeroClass 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] : AddZeroClass (Π₀ (i : ι), β i) - DFinsupp.erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (i : ι) (x : Π₀ (i : ι), β i) : Π₀ (i : ι), β i - DFinsupp.instAdd 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] : Add (Π₀ (i : ι), β i) - DFinsupp.filter 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (p : ι → Prop) [DecidablePred p] (x : Π₀ (i : ι), β i) : Π₀ (i : ι), β i - DFinsupp.update 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) (b : β i) : Π₀ (i : ι), β i - DFinsupp.instAddMonoid 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddMonoid (β i)] : AddMonoid (Π₀ (i : ι), β i) - DFinsupp.single_injective 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i : ι} : Function.Injective (DFinsupp.single i) - DFinsupp.hasNatScalar 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddMonoid (β i)] : SMul ℕ (Π₀ (i : ι), β i) - DFinsupp.addCommMonoid 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddCommMonoid (β i)] : AddCommMonoid (Π₀ (i : ι), β i) - DFinsupp.instAddGroup 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] : AddGroup (Π₀ (i : ι), β i) - DFinsupp.instNeg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] : Neg (Π₀ (i : ι), β i) - DFinsupp.instSub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] : Sub (Π₀ (i : ι), β i) - DFinsupp.hasIntScalar 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] : SMul ℤ (Π₀ (i : ι), β i) - DFinsupp.comapDomain 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : κ → ι) (hh : Function.Injective h) (f : Π₀ (i : ι), β i) : Π₀ (k : κ), β (h k) - DFinsupp.addCommGroup 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddCommGroup (β i)] : AddCommGroup (Π₀ (i : ι), β i) - DFinsupp.extendWith 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → Zero (α i)] (a : α none) (f : Π₀ (i : ι), α (some i)) : Π₀ (i : Option ι), α i - DFinsupp.comapDomain' 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : κ → ι) {h' : ι → κ} (hh' : Function.LeftInverse h' h) (f : Π₀ (i : ι), β i) : Π₀ (k : κ), β (h k) - DFinsupp.equivProdDFinsupp 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → Zero (α i)] : (Π₀ (i : Option ι), α i) ≃ α none × Π₀ (i : ι), α (some i) - DFinsupp.support 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (f : Π₀ (i : ι), β i) : Finset ι - DFinsupp.piecewise 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (x y : Π₀ (i : ι), β i) (s : Set ι) [(i : ι) → Decidable (i ∈ s)] : Π₀ (i : ι), β i - DFinsupp.single_eq_same 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i : ι} {b : β i} : (fun₀ | i => b) i = b - DFinsupp.instIsCancelAdd 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] [∀ (i : ι), IsCancelAdd (β i)] : IsCancelAdd (Π₀ (i : ι), β i) - DFinsupp.instIsLeftCancelAdd 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] [∀ (i : ι), IsLeftCancelAdd (β i)] : IsLeftCancelAdd (Π₀ (i : ι), β i) - DFinsupp.instIsRightCancelAdd 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] [∀ (i : ι), IsRightCancelAdd (β i)] : IsRightCancelAdd (Π₀ (i : ι), β i) - DFinsupp.subtypeDomain 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (p : ι → Prop) [DecidablePred p] (x : Π₀ (i : ι), β i) : Π₀ (i : Subtype p), β ↑i - DFinsupp.toFun_eq_coe 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (f : Π₀ (i : ι), β i) : f.toFun = ⇑f - DFinsupp.single_eq_pi_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i : ι} {b : β i} : (⇑fun₀ | i => b) = Pi.single i b - DFinsupp.erase_single_ne 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i j : ι} (x : β i) (h : i ≠ j) : (DFinsupp.erase j fun₀ | i => x) = fun₀ | i => x - DFinsupp.mk' 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (toFun : (i : ι) → β i) (support' : Trunc { s // ∀ (i : ι), i ∈ s ∨ toFun i = 0 }) : DFinsupp β - DFinsupp.single_left_injective 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {b : (i : ι) → β i} (h : ∀ (i : ι), b i ≠ 0) : Function.Injective fun i => fun₀ | i => b i - DFinsupp.finite_support 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (f : Π₀ (i : ι), β i) : {i | f i ≠ 0}.Finite - DFinsupp.mk 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (s : Finset ι) (x : (i : ↑↑s) → β ↑i) : Π₀ (i : ι), β i - DFinsupp.support' 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (self : DFinsupp β) : Trunc { s // ∀ (i : ι), i ∈ s ∨ self.toFun i = 0 } - DFinsupp.filter_single_pos 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {p : ι → Prop} [DecidablePred p] (i : ι) (x : β i) (h : p i) : (DFinsupp.filter p fun₀ | i => x) = fun₀ | i => x - DFinsupp.update_eq_erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) : f.update i 0 = DFinsupp.erase i f - DFinsupp.update_self 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) : f.update i (f i) = f - DFinsupp.erase_same 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i : ι} {f : Π₀ (i : ι), β i} : (DFinsupp.erase i f) i = 0 - DFinsupp.filter_ne_eq_erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) : DFinsupp.filter (fun x => x ≠ i) f = DFinsupp.erase i f - DFinsupp.filter_ne_eq_erase' 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) : DFinsupp.filter (fun x => i ≠ x) f = DFinsupp.erase i f - DFinsupp.single_eq_of_ne 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i i' : ι} {b : β i} (h : i' ≠ i) : (fun₀ | i => b) i' = 0 - DFinsupp.single_eq_of_sigma_eq 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i j : ι} {xi : β i} {xj : β j} (h : ⟨i, xi⟩ = ⟨j, xj⟩) : (fun₀ | i => xi) = fun₀ | j => xj - DFinsupp.erase_single_same 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (i : ι) (x : β i) : (DFinsupp.erase i fun₀ | i => x) = 0 - DFinsupp.singleAddHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) : β i →+ Π₀ (i : ι), β i - DFinsupp.single_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (i : ι) : (fun₀ | i => 0) = 0 - DFinsupp.coeFnAddMonoidHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] : (Π₀ (i : ι), β i) →+ (i : ι) → β i - DFinsupp.mk_injective 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (s : Finset ι) : Function.Injective (DFinsupp.mk s) - DFinsupp.zero_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (i : ι) : 0 i = 0 - DFinsupp.extendWith_none 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → Zero (α i)] (f : Π₀ (i : ι), α (some i)) (a : α none) : (DFinsupp.extendWith a f) none = a - DFinsupp.mapRange 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (hf : ∀ (i : ι), f i 0 = 0) (x : Π₀ (i : ι), β₁ i) : Π₀ (i : ι), β₂ i - DFinsupp.filter_apply_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {p : ι → Prop} [DecidablePred p] (f : Π₀ (i : ι), β i) {i : ι} (h : ¬p i) : (DFinsupp.filter p f) i = 0 - DFinsupp.coe_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] : ⇑0 = 0 - DFinsupp.filter_eq 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) : DFinsupp.filter (fun x => i = x) f = fun₀ | i => f i - DFinsupp.decidableZero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x = 0)] (f : Π₀ (i : ι), β i) : Decidable (f = 0) - DFinsupp.filter_eq' 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) : DFinsupp.filter (fun x => x = i) f = fun₀ | i => f i - DFinsupp.filter_single_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {p : ι → Prop} [DecidablePred p] (i : ι) (x : β i) (h : ¬p i) : (DFinsupp.filter p fun₀ | i => x) = 0 - DFinsupp.single_eq_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i : ι} {xi : β i} : (fun₀ | i => xi) = 0 ↔ xi = 0 - DFinsupp.single_ne_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i : ι} {xi : β i} : (fun₀ | i => xi) ≠ 0 ↔ xi ≠ 0 - DFinsupp.support_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] : DFinsupp.support 0 = ∅ - DFinsupp.erase_ne 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i i' : ι} {f : Π₀ (i : ι), β i} (h : i' ≠ i) : (DFinsupp.erase i f) i' = f i' - DFinsupp.filter_apply_pos 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {p : ι → Prop} [DecidablePred p] (f : Π₀ (i : ι), β i) {i : ι} (h : p i) : (DFinsupp.filter p f) i = f i - DFinsupp.support_erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (i : ι) (f : Π₀ (i : ι), β i) : (DFinsupp.erase i f).support = f.support.erase i - DFinsupp.comapDomain_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [DecidableEq ι] [DecidableEq κ] [(i : ι) → Zero (β i)] (h : κ → ι) (hh : Function.Injective h) (k : κ) (x : β (h k)) : (DFinsupp.comapDomain h hh fun₀ | h k => x) = fun₀ | k => x - DFinsupp.erase_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (i : ι) : DFinsupp.erase i 0 = 0 - DFinsupp.ext 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {f g : Π₀ (i : ι), β i} (h : ∀ (i : ι), f i = g i) : f = g - DFinsupp.coe_update 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (f : Π₀ (i : ι), β i) (i : ι) (b : β i) : ⇑(f.update i b) = Function.update (⇑f) i b - DFinsupp.ext_iff 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {f g : Π₀ (i : ι), β i} : f = g ↔ ∀ (i : ι), f i = g i - DFinsupp.filter_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (p : ι → Prop) [DecidablePred p] : DFinsupp.filter p 0 = 0 - DFinsupp.comapDomain'_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [DecidableEq ι] [DecidableEq κ] [(i : ι) → Zero (β i)] (h : κ → ι) {h' : ι → κ} (hh' : Function.LeftInverse h' h) (k : κ) (x : β (h k)) : (DFinsupp.comapDomain' h hh' fun₀ | h k => x) = fun₀ | k => x - DFinsupp.ne_iff 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {f g : Π₀ (i : ι), β i} : f ≠ g ↔ ∃ i, f i ≠ g i - DFinsupp.coe_mk' 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (f : (i : ι) → β i) (s : Trunc { s // ∀ (i : ι), i ∈ s ∨ f i = 0 }) : ⇑{ toFun := f, support' := s } = f - DFinsupp.equivCongrLeft 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : ι ≃ κ) : (Π₀ (i : ι), β i) ≃ Π₀ (k : κ), β (h.symm k) - DFinsupp.support_filter 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {p : ι → Prop} [DecidablePred p] (f : Π₀ (i : ι), β i) : (DFinsupp.filter p f).support = {x ∈ f.support | p x} - DFinsupp.piecewise_single_erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (x : Π₀ (i : ι), β i) (i : ι) : (fun₀ | i => x i).piecewise (DFinsupp.erase i x) {i} = x - DFinsupp.mapRange_injective 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (hf : ∀ (i : ι), f i 0 = 0) : Function.Injective (DFinsupp.mapRange f hf) ↔ ∀ (i : ι), Function.Injective (f i) - DFinsupp.mapRange_surjective 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (hf : ∀ (i : ι), f i 0 = 0) : Function.Surjective (DFinsupp.mapRange f hf) ↔ ∀ (i : ι), Function.Surjective (f i) - DFinsupp.mapRange.addEquiv 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (e : (i : ι) → β₁ i ≃+ β₂ i) : (Π₀ (i : ι), β₁ i) ≃+ Π₀ (i : ι), β₂ i - DFinsupp.erase_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (j i : ι) (x : β i) : (DFinsupp.erase j fun₀ | i => x) = if i = j then 0 else fun₀ | i => x - DFinsupp.extendWith_single_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [DecidableEq ι] [(i : Option ι) → Zero (α i)] (i : ι) (x : α (some i)) : (DFinsupp.extendWith 0 fun₀ | i => x) = fun₀ | some i => x - DFinsupp.filter_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (p : ι → Prop) [DecidablePred p] (i : ι) (f : Π₀ (i : ι), β i) : (DFinsupp.filter p f) i = if p i then f i else 0 - DFinsupp.filter_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (p : ι → Prop) [DecidablePred p] (i : ι) (x : β i) : (DFinsupp.filter p fun₀ | i => x) = if p i then fun₀ | i => x else 0 - DFinsupp.erase_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i j : ι} {f : Π₀ (i : ι), β i} : (DFinsupp.erase i f) j = if j = i then 0 else f j - DFinsupp.mapRange_id 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} [(i : ι) → Zero (β₁ i)] (h : ∀ (i : ι), id 0 = 0 := ⋯) (g : Π₀ (i : ι), β₁ i) : DFinsupp.mapRange (fun i => id) h g = g - DFinsupp.support_eq_empty 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {f : Π₀ (i : ι), β i} : f.support = ∅ ↔ f = 0 - DFinsupp.comapDomain_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : κ → ι) (hh : Function.Injective h) (f : Π₀ (i : ι), β i) (k : κ) : (DFinsupp.comapDomain h hh f) k = f (h k) - DFinsupp.eraseAddHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) : (Π₀ (i : ι), β i) →+ Π₀ (i : ι), β i - DFinsupp.single_eq_single_iff 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] (i j : ι) (xi : β i) (xj : β j) : ((fun₀ | i => xi) = fun₀ | j => xj) ↔ i = j ∧ xi ≍ xj ∨ xi = 0 ∧ xj = 0 - DFinsupp.zipWith 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β i)] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i → β i) (hf : ∀ (i : ι), f i 0 0 = 0) (x : Π₀ (i : ι), β₁ i) (y : Π₀ (i : ι), β₂ i) : Π₀ (i : ι), β i - DFinsupp.mapRange_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [DecidableEq ι] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] {f : (i : ι) → β₁ i → β₂ i} {hf : ∀ (i : ι), f i 0 = 0} {i : ι} {b : β₁ i} : (DFinsupp.mapRange f hf fun₀ | i => b) = fun₀ | i => f i b - DFinsupp.single_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {i i' : ι} {b : β i} : (fun₀ | i => b) i' = if h : i = i' then Eq.recOn h b else 0 - DFinsupp.filterAddMonoidHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [(i : ι) → AddZeroClass (β i)] (p : ι → Prop) [DecidablePred p] : (Π₀ (i : ι), β i) →+ Π₀ (i : ι), β i - DFinsupp.mem_support_iff 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {f : Π₀ (i : ι), β i} {i : ι} : i ∈ f.support ↔ f i ≠ 0 - DFinsupp.mem_support_toFun 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (f : Π₀ (i : ι), β i) (i : ι) : i ∈ f.support ↔ f i ≠ 0 - DFinsupp.comapDomain'_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : κ → ι) {h' : ι → κ} (hh' : Function.LeftInverse h' h) (f : Π₀ (i : ι), β i) (k : κ) : (DFinsupp.comapDomain' h hh' f) k = f (h k) - DFinsupp.notMem_support_iff 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {f : Π₀ (i : ι), β i} {i : ι} : i ∉ f.support ↔ f i = 0 - DFinsupp.support_update_ne_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (f : Π₀ (i : ι), β i) (i : ι) {b : β i} (h : b ≠ 0) : (f.update i b).support = insert i f.support - DFinsupp.mapRange.addEquiv_refl 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} [(i : ι) → AddZeroClass (β₁ i)] : (DFinsupp.mapRange.addEquiv fun i => AddEquiv.refl (β₁ i)) = AddEquiv.refl (Π₀ (i : ι), β₁ i) - DFinsupp.comapDomain_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : κ → ι) (hh : Function.Injective h) : DFinsupp.comapDomain h hh 0 = 0 - DFinsupp.extendWith_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [DecidableEq ι] [(i : Option ι) → Zero (α i)] (x : α none) : DFinsupp.extendWith x 0 = fun₀ | none => x - DFinsupp.mk_of_notMem 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {s : Finset ι} {x : (i : ↑↑s) → β ↑i} {i : ι} (hi : i ∉ s) : (DFinsupp.mk s x) i = 0 - DFinsupp.comapDomain'_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : κ → ι) {h' : ι → κ} (hh' : Function.LeftInverse h' h) : DFinsupp.comapDomain' h hh' 0 = 0 - DFinsupp.coe_piecewise 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (x y : Π₀ (i : ι), β i) (s : Set ι) [(i : ι) → Decidable (i ∈ s)] : ⇑(x.piecewise y s) = s.piecewise ⇑x ⇑y - DFinsupp.extendWith_some 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → Zero (α i)] (f : Π₀ (i : ι), α (some i)) (a : α none) (i : ι) : (DFinsupp.extendWith a f) (some i) = f i - DFinsupp.support_subset_iff 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {s : Set ι} {f : Π₀ (i : ι), β i} : ↑f.support ⊆ s ↔ ∀ i ∉ s, f i = 0 - DFinsupp.mapRange_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (hf : ∀ (i : ι), f i 0 = 0) (g : Π₀ (i : ι), β₁ i) (i : ι) : (DFinsupp.mapRange f hf g) i = f i (g i) - DFinsupp.equivFunOnFintype_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] [Fintype ι] (i : ι) (m : β i) : (DFinsupp.equivFunOnFintype fun₀ | i => m) = Pi.single i m - DFinsupp.mapRange_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (hf : ∀ (i : ι), f i 0 = 0) : DFinsupp.mapRange f hf 0 = 0 - DFinsupp.mk_of_mem 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {s : Finset ι} {x : (i : ↑↑s) → β ↑i} {i : ι} (hi : i ∈ s) : (DFinsupp.mk s x) i = x ⟨i, hi⟩ - DFinsupp.mapRange.addMonoidHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (f : (i : ι) → β₁ i →+ β₂ i) : (Π₀ (i : ι), β₁ i) →+ Π₀ (i : ι), β₂ i - DFinsupp.equivFunOnFintype_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [Fintype ι] (a✝ : Π₀ (i : ι), β i) (a : ι) : DFinsupp.equivFunOnFintype a✝ a = a✝ a - DFinsupp.piecewise_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] (x y : Π₀ (i : ι), β i) (s : Set ι) [(i : ι) → Decidable (i ∈ s)] (i : ι) : (x.piecewise y s) i = if i ∈ s then x i else y i - DFinsupp.support_subtypeDomain 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {p : ι → Prop} [DecidablePred p] {f : Π₀ (i : ι), β i} : (DFinsupp.subtypeDomain p f).support = Finset.subtype p f.support - DFinsupp.equivFunOnFintype_symm_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] [Fintype ι] (i : ι) (m : β i) : DFinsupp.equivFunOnFintype.symm (Pi.single i m) = fun₀ | i => m - DFinsupp.eq_mk_support 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (f : Π₀ (i : ι), β i) : f = DFinsupp.mk f.support fun i => f ↑i - DFinsupp.equivFunOnFintype_symm_coe 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [Fintype ι] (f : Π₀ (i : ι), β i) : DFinsupp.equivFunOnFintype.symm ⇑f = f - DFinsupp.subtypeDomain_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {p : ι → Prop} [DecidablePred p] {i : Subtype p} {v : Π₀ (i : ι), β i} : (DFinsupp.subtypeDomain p v) i = v ↑i - DFinsupp.zipWith_single_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β i)] [DecidableEq ι] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i → β i) (hf : ∀ (i : ι), f i 0 0 = 0) {i : ι} (b₁ : β₁ i) (b₂ : β₂ i) : (DFinsupp.zipWith f hf (fun₀ | i => b₁) fun₀ | i => b₂) = fun₀ | i => f i b₁ b₂ - DFinsupp.support_update 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (f : Π₀ (i : ι), β i) (i : ι) (b : β i) [Decidable (b = 0)] : (f.update i b).support = if b = 0 then (DFinsupp.erase i f).support else insert i f.support - DFinsupp.single_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type v} [(i : ι) → AddGroup (β i)] (i : ι) (x : β i) : (fun₀ | i => -x) = -fun₀ | i => x - DFinsupp.support_mapRange 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [DecidableEq ι] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] [(i : ι) → (x : β₁ i) → Decidable (x ≠ 0)] [(i : ι) → (x : β₂ i) → Decidable (x ≠ 0)] {f : (i : ι) → β₁ i → β₂ i} {hf : ∀ (i : ι), f i 0 = 0} {g : Π₀ (i : ι), β₁ i} : (DFinsupp.mapRange f hf g).support ⊆ g.support - DFinsupp.subtypeDomain_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] {p : ι → Prop} [DecidablePred p] : DFinsupp.subtypeDomain p 0 = 0 - DFinsupp.erase_def 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (i : ι) (f : Π₀ (i : ι), β i) : DFinsupp.erase i f = DFinsupp.mk (f.support.erase i) fun j => f ↑j - DFinsupp.mapRange.addMonoidHom_id 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₂ i)] : (DFinsupp.mapRange.addMonoidHom fun i => AddMonoidHom.id (β₂ i)) = AddMonoidHom.id (Π₀ (i : ι), β₂ i) - DFinsupp.filter_def 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {p : ι → Prop} [DecidablePred p] (f : Π₀ (i : ι), β i) : DFinsupp.filter p f = DFinsupp.mk (Finset.filter p f.support) fun i => f ↑i - DFinsupp.support_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddGroup (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {f : Π₀ (i : ι), β i} : (-f).support = f.support - DFinsupp.subtypeDomainAddMonoidHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [(i : ι) → AddZeroClass (β i)] (p : ι → Prop) [DecidablePred p] : (Π₀ (i : ι), β i) →+ Π₀ (i : Subtype p), β ↑i - DFinsupp.zipWith_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β i)] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i → β i) (hf : ∀ (i : ι), f i 0 0 = 0) (g₁ : Π₀ (i : ι), β₁ i) (g₂ : Π₀ (i : ι), β₂ i) (i : ι) : (DFinsupp.zipWith f hf g₁ g₂) i = f i (g₁ i) (g₂ i) - DFinsupp.mk_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → Zero (β i)] [DecidableEq ι] {s : Finset ι} {x : (i : ↑↑s) → β ↑i} {i : ι} : (DFinsupp.mk s x) i = if H : i ∈ s then x ⟨i, H⟩ else 0 - DFinsupp.filter_add_filter_not 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] (f : Π₀ (i : ι), β i) (p : ι → Prop) [DecidablePred p] : DFinsupp.filter p f + DFinsupp.filter (fun i => ¬p i) f = f - DFinsupp.filter_pos_add_filter_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] (f : Π₀ (i : ι), β i) (p : ι → Prop) [DecidablePred p] : DFinsupp.filter p f + DFinsupp.filter (fun i => ¬p i) f = f - DFinsupp.erase_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type v} [(i : ι) → AddGroup (β i)] (i : ι) (f : Π₀ (i : ι), β i) : DFinsupp.erase i (-f) = -DFinsupp.erase i f - DFinsupp.filter_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (p : ι → Prop) [DecidablePred p] (f : Π₀ (i : ι), β i) : DFinsupp.filter p (-f) = -DFinsupp.filter p f - DFinsupp.mapRange.addEquiv_symm 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (e : (i : ι) → β₁ i ≃+ β₂ i) : (DFinsupp.mapRange.addEquiv e).symm = DFinsupp.mapRange.addEquiv fun i => (e i).symm - DFinsupp.update_eq_erase_add_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type u_1} [(i : ι) → AddZeroClass (β i)] (f : Π₀ (i : ι), β i) (i : ι) (b : β i) : f.update i b = DFinsupp.erase i f + fun₀ | i => b - DFinsupp.update_eq_single_add_erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type u_1} [(i : ι) → AddZeroClass (β i)] (f : Π₀ (i : ι), β i) (i : ι) (b : β i) : f.update i b = (fun₀ | i => b) + DFinsupp.erase i f - DFinsupp.singleAddHom_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) (b : β i) : (DFinsupp.singleAddHom β i) b = fun₀ | i => b - DFinsupp.single_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) (b₁ b₂ : β i) : (fun₀ | i => b₁ + b₂) = (fun₀ | i => b₁) + fun₀ | i => b₂ - DFinsupp.neg_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (g : Π₀ (i : ι), β i) (i : ι) : (-g) i = -g i - DFinsupp.mapRange_comp 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → Zero (β i)] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (f₂ : (i : ι) → β i → β₁ i) (hf : ∀ (i : ι), f i 0 = 0) (hf₂ : ∀ (i : ι), f₂ i 0 = 0) (h : ∀ (i : ι), (f i ∘ f₂ i) 0 = 0) (g : Π₀ (i : ι), β i) : DFinsupp.mapRange (fun i => f i ∘ f₂ i) h g = DFinsupp.mapRange f hf (DFinsupp.mapRange f₂ hf₂ g) - DFinsupp.sigmaFinsetFunEquiv 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] : (Π₀ (i : ι), β i) ≃ (s : Finset ι) × ((i : ↥s) → { x // x ≠ 0 }) - DFinsupp.coe_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (g : Π₀ (i : ι), β i) : ⇑(-g) = -⇑g - DFinsupp.erase_add_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) (f : Π₀ (i : ι), β i) : (DFinsupp.erase i f + fun₀ | i => f i) = f - DFinsupp.single_add_erase 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) (f : Π₀ (i : ι), β i) : (fun₀ | i => f i) + DFinsupp.erase i f = f - DFinsupp.mk_zero 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] {s : Finset ι} : DFinsupp.mk s 0 = 0 - DFinsupp.mapRange_def 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [DecidableEq ι] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] [(i : ι) → (x : β₁ i) → Decidable (x ≠ 0)] {f : (i : ι) → β₁ i → β₂ i} {hf : ∀ (i : ι), f i 0 = 0} {g : Π₀ (i : ι), β₁ i} : DFinsupp.mapRange f hf g = DFinsupp.mk g.support fun i => f (↑i) (g ↑i) - DFinsupp.support_zipWith 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] [(i : ι) → (x : β₁ i) → Decidable (x ≠ 0)] [(i : ι) → (x : β₂ i) → Decidable (x ≠ 0)] {f : (i : ι) → β₁ i → β₂ i → β i} {hf : ∀ (i : ι), f i 0 0 = 0} {g₁ : Π₀ (i : ι), β₁ i} {g₂ : Π₀ (i : ι), β₂ i} : (DFinsupp.zipWith f hf g₁ g₂).support ⊆ g₁.support ∪ g₂.support - DFinsupp.subtypeSupportEqEquiv 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (s : Finset ι) : { f // f.support = s } ≃ ((i : ↥s) → { x // x ≠ 0 }) - DFinsupp.coeFnAddMonoidHom_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] (v : Π₀ (i : ι), β i) : DFinsupp.coeFnAddMonoidHom v = ⇑v - DFinsupp.nsmul_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddMonoid (β i)] (b : ℕ) (v : Π₀ (i : ι), β i) (i : ι) : (b • v) i = b • v i - DFinsupp.support_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {g₁ g₂ : Π₀ (i : ι), β i} : (g₁ + g₂).support ⊆ g₁.support ∪ g₂.support - DFinsupp.coe_nsmul 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddMonoid (β i)] (b : ℕ) (v : Π₀ (i : ι), β i) : ⇑(b • v) = b • ⇑v - DFinsupp.subtypeDomain_def 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] {p : ι → Prop} [DecidablePred p] (f : Π₀ (i : ι), β i) : DFinsupp.subtypeDomain p f = DFinsupp.mk (Finset.subtype p f.support) fun i => f ↑↑i - DFinsupp.single_sub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type v} [(i : ι) → AddGroup (β i)] (i : ι) (x y : β i) : (fun₀ | i => x - y) = (fun₀ | i => x) - fun₀ | i => y - DFinsupp.subtypeDomain_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] {p : ι → Prop} [DecidablePred p] {v : Π₀ (i : ι), β i} : DFinsupp.subtypeDomain p (-v) = -DFinsupp.subtypeDomain p v - DFinsupp.zsmul_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (b : ℤ) (v : Π₀ (i : ι), β i) (i : ι) : (b • v) i = b • v i - DFinsupp.mapRange.addEquiv_trans 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β i)] [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (f : (i : ι) → β i ≃+ β₁ i) (f₂ : (i : ι) → β₁ i ≃+ β₂ i) : (DFinsupp.mapRange.addEquiv fun i => (f i).trans (f₂ i)) = (DFinsupp.mapRange.addEquiv f).trans (DFinsupp.mapRange.addEquiv f₂) - DFinsupp.add_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] (g₁ g₂ : Π₀ (i : ι), β i) (i : ι) : (g₁ + g₂) i = g₁ i + g₂ i - DFinsupp.coe_zsmul 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (b : ℤ) (v : Π₀ (i : ι), β i) : ⇑(b • v) = b • ⇑v - DFinsupp.coe_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] (g₁ g₂ : Π₀ (i : ι), β i) : ⇑(g₁ + g₂) = ⇑g₁ + ⇑g₂ - DFinsupp.equivProdDFinsupp_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → Zero (α i)] (f : Π₀ (i : Option ι), α i) : DFinsupp.equivProdDFinsupp f = (f none, DFinsupp.comapDomain some ⋯ f) - DFinsupp.erase_eq_sub_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type u_1} [(i : ι) → AddGroup (β i)] (f : Π₀ (i : ι), β i) (i : ι) : DFinsupp.erase i f = f - fun₀ | i => f i - DFinsupp.erase_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) (f₁ f₂ : Π₀ (i : ι), β i) : DFinsupp.erase i (f₁ + f₂) = DFinsupp.erase i f₁ + DFinsupp.erase i f₂ - DFinsupp.filter_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] (p : ι → Prop) [DecidablePred p] (f g : Π₀ (i : ι), β i) : DFinsupp.filter p (f + g) = DFinsupp.filter p f + DFinsupp.filter p g - DFinsupp.eraseAddHom_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] (i : ι) (x : Π₀ (i : ι), β i) : (DFinsupp.eraseAddHom β i) x = DFinsupp.erase i x - DFinsupp.filterAddMonoidHom_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [(i : ι) → AddZeroClass (β i)] (p : ι → Prop) [DecidablePred p] (x : Π₀ (i : ι), β i) : (DFinsupp.filterAddMonoidHom β p) x = DFinsupp.filter p x - DFinsupp.equivProdDFinsupp_symm_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → Zero (α i)] (f : α none × Π₀ (i : ι), α (some i)) : DFinsupp.equivProdDFinsupp.symm f = DFinsupp.extendWith f.1 f.2 - DFinsupp.induction 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] {p : (Π₀ (i : ι), β i) → Prop} (f : Π₀ (i : ι), β i) (h0 : p 0) (ha : ∀ (i : ι) (b : β i) (f : Π₀ (i : ι), β i), f i = 0 → b ≠ 0 → p f → p ((fun₀ | i => b) + f)) : p f - DFinsupp.induction₂ 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] {p : (Π₀ (i : ι), β i) → Prop} (f : Π₀ (i : ι), β i) (h0 : p 0) (ha : ∀ (i : ι) (b : β i) (f : Π₀ (i : ι), β i), f i = 0 → b ≠ 0 → p f → p (f + fun₀ | i => b)) : p f - DFinsupp.mkAddGroupHom 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddGroup (β i)] (s : Finset ι) : ((i : ↑↑s) → β ↑i) →+ Π₀ (i : ι), β i - DFinsupp.comapDomain_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → AddZeroClass (β i)] (h : κ → ι) (hh : Function.Injective h) (f g : Π₀ (i : ι), β i) : DFinsupp.comapDomain h hh (f + g) = DFinsupp.comapDomain h hh f + DFinsupp.comapDomain h hh g - DFinsupp.comapDomain'_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → AddZeroClass (β i)] (h : κ → ι) {h' : ι → κ} (hh' : Function.LeftInverse h' h) (f g : Π₀ (i : ι), β i) : DFinsupp.comapDomain' h hh' (f + g) = DFinsupp.comapDomain' h hh' f + DFinsupp.comapDomain' h hh' g - DFinsupp.mapRange.addMonoidHom_comp 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β i)] [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (f : (i : ι) → β₁ i →+ β₂ i) (f₂ : (i : ι) → β i →+ β₁ i) : (DFinsupp.mapRange.addMonoidHom fun i => (f i).comp (f₂ i)) = (DFinsupp.mapRange.addMonoidHom f).comp (DFinsupp.mapRange.addMonoidHom f₂) - DFinsupp.sub_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (g₁ g₂ : Π₀ (i : ι), β i) (i : ι) : (g₁ - g₂) i = g₁ i - g₂ i - DFinsupp.coe_sub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (g₁ g₂ : Π₀ (i : ι), β i) : ⇑(g₁ - g₂) = ⇑g₁ - ⇑g₂ - DFinsupp.mk_neg 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddGroup (β i)] {s : Finset ι} {x : (i : ↑↑s) → β ↑i} : DFinsupp.mk s (-x) = -DFinsupp.mk s x - DFinsupp.erase_sub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type v} [(i : ι) → AddGroup (β i)] (i : ι) (f g : Π₀ (i : ι), β i) : DFinsupp.erase i (f - g) = DFinsupp.erase i f - DFinsupp.erase i g - DFinsupp.filter_sub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] (p : ι → Prop) [DecidablePred p] (f g : Π₀ (i : ι), β i) : DFinsupp.filter p (f - g) = DFinsupp.filter p f - DFinsupp.filter p g - DFinsupp.mapRange.addMonoidHom_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (f : (i : ι) → β₁ i →+ β₂ i) (x : Π₀ (i : ι), β₁ i) : (DFinsupp.mapRange.addMonoidHom f) x = DFinsupp.mapRange (fun i x => (f i) x) ⋯ x - DFinsupp.zipWith_def 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [dec : DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → Zero (β₁ i)] [(i : ι) → Zero (β₂ i)] [(i : ι) → (x : β₁ i) → Decidable (x ≠ 0)] [(i : ι) → (x : β₂ i) → Decidable (x ≠ 0)] {f : (i : ι) → β₁ i → β₂ i → β i} {hf : ∀ (i : ι), f i 0 0 = 0} {g₁ : Π₀ (i : ι), β₁ i} {g₂ : Π₀ (i : ι), β₂ i} : DFinsupp.zipWith f hf g₁ g₂ = DFinsupp.mk (g₁.support ∪ g₂.support) fun i => f (↑i) (g₁ ↑i) (g₂ ↑i) - DFinsupp.subtypeDomain_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddZeroClass (β i)] {p : ι → Prop} [DecidablePred p] (v v' : Π₀ (i : ι), β i) : DFinsupp.subtypeDomain p (v + v') = DFinsupp.subtypeDomain p v + DFinsupp.subtypeDomain p v' - DFinsupp.update_eq_sub_add_single 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} [DecidableEq ι] {β : ι → Type u_1} [(i : ι) → AddGroup (β i)] (f : Π₀ (i : ι), β i) (i : ι) (b : β i) : f.update i b = (f - fun₀ | i => f i) + fun₀ | i => b - DFinsupp.mapRange_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (f : (i : ι) → β₁ i → β₂ i) (hf : ∀ (i : ι), f i 0 = 0) (hf' : ∀ (i : ι) (x y : β₁ i), f i (x + y) = f i x + f i y) (g₁ g₂ : Π₀ (i : ι), β₁ i) : DFinsupp.mapRange f hf (g₁ + g₂) = DFinsupp.mapRange f hf g₁ + DFinsupp.mapRange f hf g₂ - DFinsupp.mapRange.addEquiv_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β₁ : ι → Type v₁} {β₂ : ι → Type v₂} [(i : ι) → AddZeroClass (β₁ i)] [(i : ι) → AddZeroClass (β₂ i)] (e : (i : ι) → β₁ i ≃+ β₂ i) (x : Π₀ (i : ι), β₁ i) : (DFinsupp.mapRange.addEquiv e) x = DFinsupp.mapRange (fun i x => (e i) x) ⋯ x - DFinsupp.subtypeDomainAddMonoidHom_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} (β : ι → Type v) [(i : ι) → AddZeroClass (β i)] (p : ι → Prop) [DecidablePred p] (x : Π₀ (i : ι), β i) : (DFinsupp.subtypeDomainAddMonoidHom β p) x = DFinsupp.subtypeDomain p x - DFinsupp.equivCongrLeft_apply 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} {κ : Type u_1} [(i : ι) → Zero (β i)] (h : ι ≃ κ) (f : Π₀ (i : ι), β i) : (DFinsupp.equivCongrLeft h) f = DFinsupp.comapDomain' ⇑h.symm ⋯ f - DFinsupp.mk_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddZeroClass (β i)] {s : Finset ι} {x y : (i : ↑↑s) → β ↑i} : DFinsupp.mk s (x + y) = DFinsupp.mk s x + DFinsupp.mk s y - DFinsupp.subtypeDomain_sub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [(i : ι) → AddGroup (β i)] {p : ι → Prop} [DecidablePred p] {v v' : Π₀ (i : ι), β i} : DFinsupp.subtypeDomain p (v - v') = DFinsupp.subtypeDomain p v - DFinsupp.subtypeDomain p v' - DFinsupp.mk_sub 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → AddGroup (β i)] {s : Finset ι} {x y : (i : ↑↑s) → β ↑i} : DFinsupp.mk s (x - y) = DFinsupp.mk s x - DFinsupp.mk s y - DFinsupp.sigmaFinsetFunEquiv_apply_fst 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (a✝ : Π₀ (i : ι), β i) : (DFinsupp.sigmaFinsetFunEquiv a✝).fst = a✝.support - DFinsupp.subtypeSupportEqEquiv_apply_coe 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {β : ι → Type v} [DecidableEq ι] [(i : ι) → Zero (β i)] [(i : ι) → (x : β i) → Decidable (x ≠ 0)] (s : Finset ι) (x✝ : { f // f.support = s }) (i : ↥s) : ↑((DFinsupp.subtypeSupportEqEquiv s) x✝ i) = ↑x✝ ↑i - DFinsupp.equivProdDFinsupp_add 📋 Mathlib.Data.DFinsupp.Defs
{ι : Type u} {α : Option ι → Type v} [(i : Option ι) → AddZeroClass (α i)] (f g : Π₀ (i : Option ι), α i) : DFinsupp.equivProdDFinsupp (f + g) = DFinsupp.equivProdDFinsupp f + DFinsupp.equivProdDFinsupp g
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 69fae59