ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Rel.preimage_eq_codom_of_domain_subset
theorem preimage_eq_codom_of_domain_subset {s : Set α} (h : r.dom ⊆ s) : r.image s = r.codom 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) {s : Set α} (h : r.dom ⊆ s)
Goal: r.image s = r.codom
-- Rel.image_inter_dom_eq
theorem image_inter_dom_eq (s : Set α) : r.image (s ∩ r.dom) = r.image s 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s : Set α)
Goal: r.image (s ∩ r.dom) = r.image s
-- Rel.preimage_inter_codom_eq
@[simp]
theorem preimage_inter_codom_eq (s : Set β) : r.preimage (s ∩ r.codom) = r.preimage s 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s : Set β)
Goal: r.preimage (s ∩ r.codom) = r.preimage s
-- Rel.inter_dom_subset_preimage_image
theorem inter_dom_subset_preimage_image (s : Set α) : s ∩ r.dom ⊆ r.preimage (r.image s) 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s : Set α)
Goal: s ∩ r.dom ⊆ r.preimage (r.image s)
-- Rel.image_preimage_subset_inter_codom
theorem image_preimage_subset_inter_codom (s : Set β) : s ∩ r.codom ⊆ r.image (r.preimage s) 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s : Set β)
Goal: s ∩ r.codom ⊆ r.image (r.preimage s)
-- Rel.mem_core
theorem mem_core (x : α) (s : Set β) : x ∈ r.core s ↔ ∀ y, r x y → y ∈ s 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (x : α) (s : Set β)
Goal: x ∈ r.core s ↔ ∀ (y : β), r x y → y ∈ s
-- Rel.core_subset
theorem core_subset : ((· ⊆ ·) ⇒ (· ⊆ ·)) r.core r.core 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β)
Goal: ((fun x x_1 => x ⊆ x_1) ⇒ fun x x_1 => x ⊆ x_1) r.core r.core
-- Rel.core_mono
theorem core_mono : Monotone r.core 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β)
Goal: Monotone r.core
-- Rel.core_inter
theorem core_inter (s t : Set β) : r.core (s ∩ t) = r.core s ∩ r.core t 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s t : Set β)
Goal: r.core (s ∩ t) = r.core s ∩ r.core t
-- Rel.core_union
theorem core_union (s t : Set β) : r.core s ∪ r.core t ⊆ r.core (s ∪ t) 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s t : Set β)
Goal: r.core s ∪ r.core t ⊆ r.core (s ∪ t)
-- Rel.core_univ
@[simp]
theorem core_univ : r.core Set.univ = Set.univ 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β)
Goal: r.core Set.univ = Set.univ
-- Rel.core_id
theorem core_id (s : Set α) : core (@Eq α) s = s 
Arguments: {α : Type u_1} (s : Set α)
Goal: Rel.core Eq s = s
-- Rel.core_comp
theorem core_comp (s : Rel β γ) (t : Set γ) : core (r • s) t = core r (core s t) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} (r : Rel α β) (s : Rel β γ) (t : Set γ)
Goal: (r.comp s).core t = r.core (s.core t)
-- Rel.image_subset_iff
theorem image_subset_iff (s : Set α) (t : Set β) : image r s ⊆ t ↔ s ⊆ core r t 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β) (s : Set α) (t : Set β)
Goal: r.image s ⊆ t ↔ s ⊆ r.core t
-- Rel.image_core_gc
theorem image_core_gc : GaloisConnection r.image r.core 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β)
Goal: GaloisConnection r.image r.core
-- Function.graph_def
@[simp] lemma graph_def (f : α → β) (x y) : f.graph x y ↔ (f x = y) 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β) (x : α) (y : β)
Goal: Function.graph f x y ↔ f x = y
-- Function.graph_injective
theorem graph_injective : Injective (graph : (α → β) → Rel α β) 
Arguments: {α : Type u_1} {β : Type u_2}
Goal: Function.Injective Function.graph
-- Function.graph_inj
@[simp] lemma graph_inj {f g : α → β} : f.graph = g.graph ↔ f = g 
Arguments: {α : Type u_1} {β : Type u_2} {f g : α → β}
Goal: Function.graph f = Function.graph g ↔ f = g
-- Function.graph_id
theorem graph_id : graph id = @Eq α 
Arguments: {α : Type u_1}
Goal: Function.graph id = Eq
-- Function.graph_comp
theorem graph_comp {f : β → γ} {g : α → β} : graph (f ∘ g) = Rel.comp (graph g) (graph f) 
Arguments: {α : Type u_1} {β : Type u_2} {γ : Type u_3} {f : β → γ} {g : α → β}
Goal: Function.graph (f ∘ g) = (Function.graph g).comp (Function.graph f)
-- Equiv.graph_inv
theorem Equiv.graph_inv (f : α ≃ β) : (f.symm : β → α).graph = Rel.inv (f : α → β).graph 
Arguments: {α : Type u_1} {β : Type u_2} (f : α ≃ β)
Goal: Function.graph ⇑f.symm = (Function.graph ⇑f).inv
-- Relation.is_graph_iff
theorem Relation.is_graph_iff (r : Rel α β) : (∃! f, Function.graph f = r) ↔ ∀ x, ∃! y, r x y 
Arguments: {α : Type u_1} {β : Type u_2} (r : Rel α β)
Goal: (∃! f, Function.graph f = r) ↔ ∀ (x : α), ∃! y, r x y
-- Set.image_eq
theorem image_eq (f : α → β) (s : Set α) : f '' s = (Function.graph f).image s 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β) (s : Set α)
Goal: f '' s = (Function.graph f).image s
-- Set.preimage_eq
theorem preimage_eq (f : α → β) (s : Set β) : f ⁻¹' s = (Function.graph f).preimage s 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β) (s : Set β)
Goal: f ⁻¹' s = (Function.graph f).preimage s
-- Set.preimage_eq_core
theorem preimage_eq_core (f : α → β) (s : Set β) : f ⁻¹' s = (Function.graph f).core s 
Arguments: {α : Type u_1} {β : Type u_2} (f : α → β) (s : Set β)
Goal: f ⁻¹' s = (Function.graph f).core s
-- Finset.card_dfinsupp
@[simp]
theorem card_dfinsupp (s : Finset ι) (t : ∀ i, Finset (α i)) :
    (s.dfinsupp t).card = ∏ i ∈ s, (t i).card 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] (s : Finset ι) (t : (i : ι) → Finset (α i))
Goal: (s.dfinsupp t).card = ∏ i ∈ s, (t i).card
-- Finset.mem_dfinsupp_iff
theorem mem_dfinsupp_iff : f ∈ s.dfinsupp t ↔ f.support ⊆ s ∧ ∀ i ∈ s, f i ∈ t i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] {s : Finset ι} {f : Π₀ (i : ι), α i} {t : (i : ι) → Finset (α i)} [(i : ι) → DecidableEq (α i)]
Goal: f ∈ s.dfinsupp t ↔ f.support ⊆ s ∧ ∀ i ∈ s, f i ∈ t i
-- Finset.mem_dfinsupp_iff_of_support_subset
@[simp]
theorem mem_dfinsupp_iff_of_support_subset {t : Π₀ i, Finset (α i)} (ht : t.support ⊆ s) :
    f ∈ s.dfinsupp t ↔ ∀ i, f i ∈ t i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → Zero (α i)] {s : Finset ι} {f : Π₀ (i : ι), α i} [(i : ι) → DecidableEq (α i)] {t : Π₀ (i : ι), Finset (α i)} (ht : t.support ⊆ s)
Goal: f ∈ s.dfinsupp ⇑t ↔ ∀ (i : ι), f i ∈ t i
-- DFinsupp.mem_singleton_apply_iff
theorem mem_singleton_apply_iff : a ∈ f.singleton i ↔ a = f i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] {f : Π₀ (i : ι), α i} {i : ι} {a : α i}
Goal: a ∈ f.singleton i ↔ a = f i
-- DFinsupp.rangeIcc_apply
@[simp]
theorem rangeIcc_apply (f g : Π₀ i, α i) (i : ι) : f.rangeIcc g i = Icc (f i) (g i) 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i) (i : ι)
Goal: (f.rangeIcc g) i = Finset.Icc (f i) (g i)
-- DFinsupp.mem_rangeIcc_apply_iff
theorem mem_rangeIcc_apply_iff : a ∈ f.rangeIcc g i ↔ f i ≤ a ∧ a ≤ g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] {f g : Π₀ (i : ι), α i} {i : ι} {a : α i}
Goal: a ∈ (f.rangeIcc g) i ↔ f i ≤ a ∧ a ≤ g i
-- DFinsupp.support_rangeIcc_subset
theorem support_rangeIcc_subset [DecidableEq ι] [∀ i, DecidableEq (α i)] :
    (f.rangeIcc g).support ⊆ f.support ∪ g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → LocallyFiniteOrder (α i)] {f g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → DecidableEq (α i)]
Goal: (f.rangeIcc g).support ⊆ f.support ∪ g.support
-- DFinsupp.mem_pi
@[simp]
theorem mem_pi {f : Π₀ i, Finset (α i)} {g : Π₀ i, α i} : g ∈ f.pi ↔ ∀ i, g i ∈ f i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [DecidableEq ι] [(i : ι) → DecidableEq (α i)] {f : Π₀ (i : ι), Finset (α i)} {g : Π₀ (i : ι), α i}
Goal: g ∈ f.pi ↔ ∀ (i : ι), g i ∈ f i
-- DFinsupp.card_pi
@[simp]
theorem card_pi (f : Π₀ i, Finset (α i)) : f.pi.card = f.prod fun i => (f i).card 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [DecidableEq ι] [(i : ι) → DecidableEq (α i)] (f : Π₀ (i : ι), Finset (α i))
Goal: f.pi.card = f.prod fun i => ↑(f i).card
-- DFinsupp.Icc_eq
theorem Icc_eq : Icc f g = (f.support ∪ g.support).dfinsupp (f.rangeIcc g) 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i)
Goal: Finset.Icc f g = (f.support ∪ g.support).dfinsupp ⇑(f.rangeIcc g)
-- DFinsupp.card_Icc
theorem card_Icc : (Icc f g).card = ∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i)
Goal: (Finset.Icc f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card
-- DFinsupp.card_Ico
theorem card_Ico : (Ico f g).card = (∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card) - 1 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i)
Goal: (Finset.Ico f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card - 1
-- DFinsupp.card_Ioc
theorem card_Ioc : (Ioc f g).card = (∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card) - 1 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i)
Goal: (Finset.Ioc f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card - 1
-- DFinsupp.card_Ioo
theorem card_Ioo : (Ioo f g).card = (∏ i ∈ f.support ∪ g.support, (Icc (f i) (g i)).card) - 2 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → PartialOrder (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i)
Goal: (Finset.Ioo f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.Icc (f i) (g i)).card - 2
-- DFinsupp.card_uIcc
theorem card_uIcc : (uIcc f g).card = ∏ i ∈ f.support ∪ g.support, (uIcc (f i) (g i)).card 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → Lattice (α i)] [(i : ι) → Zero (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f g : Π₀ (i : ι), α i)
Goal: (Finset.uIcc f g).card = ∏ i ∈ f.support ∪ g.support, (Finset.uIcc (f i) (g i)).card
-- DFinsupp.card_Iic
theorem card_Iic : (Iic f).card = ∏ i ∈ f.support, (Iic (f i)).card 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i)
Goal: (Finset.Iic f).card = ∏ i ∈ f.support, (Finset.Iic (f i)).card
-- DFinsupp.card_Iio
theorem card_Iio : (Iio f).card = (∏ i ∈ f.support, (Iic (f i)).card) - 1 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [DecidableEq ι] [(i : ι) → DecidableEq (α i)] [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → LocallyFiniteOrder (α i)] (f : Π₀ (i : ι), α i)
Goal: (Finset.Iio f).card = ∏ i ∈ f.support, (Finset.Iic (f i)).card - 1
-- DFinsupp.le_def
lemma le_def : f ≤ g ↔ ∀ i, f i ≤ g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f g : Π₀ (i : ι), α i}
Goal: f ≤ g ↔ ∀ (i : ι), f i ≤ g i
-- DFinsupp.coe_le_coe
@[simp, norm_cast] lemma coe_le_coe : ⇑f ≤ g ↔ f ≤ g 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f g : Π₀ (i : ι), α i}
Goal: ⇑f ≤ ⇑g ↔ f ≤ g
-- DFinsupp.coe_orderEmbeddingToFun
@[simp, norm_cast]
lemma coe_orderEmbeddingToFun : ⇑(orderEmbeddingToFun (α := α)) = DFunLike.coe 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)]
Goal: ⇑DFinsupp.orderEmbeddingToFun = DFunLike.coe
-- DFinsupp.orderEmbeddingToFun_apply
theorem orderEmbeddingToFun_apply {f : Π₀ i, α i} {i : ι} :
    (@orderEmbeddingToFun ι α _ _ f) i = f i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → LE (α i)] {f : Π₀ (i : ι), α i} {i : ι}
Goal: DFinsupp.orderEmbeddingToFun f i = f i
-- DFinsupp.lt_def
lemma lt_def : f < g ↔ f ≤ g ∧ ∃ i, f i < g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {f g : Π₀ (i : ι), α i}
Goal: f < g ↔ f ≤ g ∧ ∃ i, f i < g i
-- DFinsupp.coe_lt_coe
@[simp, norm_cast] lemma coe_lt_coe : ⇑f < g ↔ f < g 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)] {f g : Π₀ (i : ι), α i}
Goal: ⇑f < ⇑g ↔ f < g
-- DFinsupp.coe_mono
lemma coe_mono : Monotone ((⇑) : (Π₀ i, α i) → ∀ i, α i) 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)]
Goal: Monotone DFunLike.coe
-- DFinsupp.coe_strictMono
lemma coe_strictMono : Monotone ((⇑) : (Π₀ i, α i) → ∀ i, α i) 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Preorder (α i)]
Goal: Monotone DFunLike.coe
-- DFinsupp.coe_inf
@[simp, norm_cast]
lemma coe_inf [∀ i, SemilatticeInf (α i)] (f g : Π₀ i, α i) : f ⊓ g = ⇑f ⊓ g 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f g : Π₀ (i : ι), α i)
Goal: ⇑(f ⊓ g) = ⇑f ⊓ ⇑g
-- DFinsupp.inf_apply
theorem inf_apply [∀ i, SemilatticeInf (α i)] (f g : Π₀ i, α i) (i : ι) : (f ⊓ g) i = f i ⊓ g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeInf (α i)] (f g : Π₀ (i : ι), α i) (i : ι)
Goal: (f ⊓ g) i = f i ⊓ g i
-- DFinsupp.coe_sup
@[simp, norm_cast]
lemma coe_sup [∀ i, SemilatticeSup (α i)] (f g : Π₀ i, α i) : f ⊔ g = ⇑f ⊔ g 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f g : Π₀ (i : ι), α i)
Goal: ⇑(f ⊔ g) = ⇑f ⊔ ⇑g
-- DFinsupp.sup_apply
theorem sup_apply [∀ i, SemilatticeSup (α i)] (f g : Π₀ i, α i) (i : ι) : (f ⊔ g) i = f i ⊔ g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → SemilatticeSup (α i)] (f g : Π₀ (i : ι), α i) (i : ι)
Goal: (f ⊔ g) i = f i ⊔ g i
-- DFinsupp.support_inf_union_support_sup
theorem support_inf_union_support_sup : (f ⊓ g).support ∪ (f ⊔ g).support = f.support ∪ g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] (f g : Π₀ (i : ι), α i) [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)]
Goal: (f ⊓ g).support ∪ (f ⊔ g).support = f.support ∪ g.support
-- DFinsupp.support_sup_union_support_inf
theorem support_sup_union_support_inf : (f ⊔ g).support ∪ (f ⊓ g).support = f.support ∪ g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → Zero (α i)] [(i : ι) → Lattice (α i)] (f g : Π₀ (i : ι), α i) [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)]
Goal: (f ⊔ g).support ∪ (f ⊓ g).support = f.support ∪ g.support
-- DFinsupp.bot_eq_zero
protected theorem bot_eq_zero : (⊥ : Π₀ i, α i) = 0 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)]
Goal: ⊥ = 0
-- DFinsupp.add_eq_zero_iff
@[simp]
theorem add_eq_zero_iff (f g : Π₀ i, α i) : f + g = 0 ↔ f = 0 ∧ g = 0 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] (f g : Π₀ (i : ι), α i)
Goal: f + g = 0 ↔ f = 0 ∧ g = 0
-- DFinsupp.le_iff'
theorem le_iff' (hf : f.support ⊆ s) : f ≤ g ↔ ∀ i ∈ s, f i ≤ g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)] {f g : Π₀ (i : ι), α i} {s : Finset ι} (hf : f.support ⊆ s)
Goal: f ≤ g ↔ ∀ i ∈ s, f i ≤ g i
-- DFinsupp.le_iff
theorem le_iff : f ≤ g ↔ ∀ i ∈ f.support, f i ≤ g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)] {f g : Π₀ (i : ι), α i}
Goal: f ≤ g ↔ ∀ i ∈ f.support, f i ≤ g i
-- DFinsupp.support_monotone
lemma support_monotone : Monotone (support (ι := ι) (β := α)) 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)]
Goal: Monotone DFinsupp.support
-- DFinsupp.support_mono
lemma support_mono (hfg : f ≤ g) : f.support ⊆ g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)] {f g : Π₀ (i : ι), α i} (hfg : f ≤ g)
Goal: f.support ⊆ g.support
-- DFinsupp.single_le_iff
@[simp]
theorem single_le_iff {f : Π₀ i, α i} {i : ι} {a : α i} : single i a ≤ f ↔ a ≤ f i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [DecidableEq ι] {f : Π₀ (i : ι), α i} {i : ι} {a : α i}
Goal: DFinsupp.single i a ≤ f ↔ a ≤ f i
-- DFinsupp.tsub_apply
theorem tsub_apply (f g : Π₀ i, α i) (i : ι) : (f - g) i = f i - g i 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] (f g : Π₀ (i : ι), α i) (i : ι)
Goal: (f - g) i = f i - g i
-- DFinsupp.coe_tsub
@[simp, norm_cast]
theorem coe_tsub (f g : Π₀ i, α i) : ⇑(f - g) = f - g 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] (f g : Π₀ (i : ι), α i)
Goal: ⇑(f - g) = ⇑f - ⇑g
-- DFinsupp.single_tsub
@[simp]
theorem single_tsub : single i (a - b) = single i a - single i b 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {i : ι} {a b : α i} [DecidableEq ι]
Goal: DFinsupp.single i (a - b) = DFinsupp.single i a - DFinsupp.single i b
-- DFinsupp.support_tsub
theorem support_tsub : (f - g).support ⊆ f.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {f g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)]
Goal: (f - g).support ⊆ f.support
-- DFinsupp.subset_support_tsub
theorem subset_support_tsub : f.support \ g.support ⊆ (f - g).support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyOrderedAddCommMonoid (α i)] [(i : ι) → Sub (α i)] [∀ (i : ι), OrderedSub (α i)] {f g : Π₀ (i : ι), α i} [DecidableEq ι] [(i : ι) → (x : α i) → Decidable (x ≠ 0)]
Goal: f.support \ g.support ⊆ (f - g).support
-- DFinsupp.support_inf
@[simp]
theorem support_inf : (f ⊓ g).support = f.support ∩ g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyLinearOrderedAddCommMonoid (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i}
Goal: (f ⊓ g).support = f.support ∩ g.support
-- DFinsupp.support_sup
@[simp]
theorem support_sup : (f ⊔ g).support = f.support ∪ g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyLinearOrderedAddCommMonoid (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i}
Goal: (f ⊔ g).support = f.support ∪ g.support
-- DFinsupp.disjoint_iff
nonrec theorem disjoint_iff : Disjoint f g ↔ Disjoint f.support g.support 
Arguments: {ι : Type u_1} {α : ι → Type u_2} [(i : ι) → CanonicallyLinearOrderedAddCommMonoid (α i)] [DecidableEq ι] {f g : Π₀ (i : ι), α i}
Goal: Disjoint f g ↔ Disjoint f.support g.support
-- Finsupp.antidiagonal_zero
@[simp]
theorem antidiagonal_zero : antidiagonal (0 : α →₀ ℕ) = singleton (0, 0) 
Arguments: {α : Type u} [DecidableEq α]
Goal: Finset.antidiagonal 0 = {(0, 0)}
-- Finsupp.prod_antidiagonal_swap
@[to_additive]
theorem prod_antidiagonal_swap {M : Type*} [CommMonoid M] (n : α →₀ ℕ)
    (f : (α →₀ ℕ) → (α →₀ ℕ) → M) :
    ∏ p ∈ antidiagonal n, f p.1 p.2 = ∏ p ∈ antidiagonal n, f p.2 p.1 
Arguments: {α : Type u} [DecidableEq α] {M : Type u_1} [CommMonoid M] (n : α →₀ ℕ) (f : (α →₀ ℕ) → (α →₀ ℕ) → M)
Goal: ∏ p ∈ Finset.antidiagonal n, f p.1 p.2 = ∏ p ∈ Finset.antidiagonal n, f p.2 p.1
-- Finsupp.sum_antidiagonal_swap
@[to_additive]
theorem prod_antidiagonal_swap {M : Type*} [CommMonoid M] (n : α →₀ ℕ)
    (f : (α →₀ ℕ) → (α →₀ ℕ) → M) :
    ∏ p ∈ antidiagonal n, f p.1 p.2 = ∏ p ∈ antidiagonal n, f p.2 p.1 
Arguments: {α : Type u} [DecidableEq α] {M : Type u_1} [AddCommMonoid M] (n : α →₀ ℕ) (f : (α →₀ ℕ) → (α →₀ ℕ) → M)
Goal: ∑ p ∈ Finset.antidiagonal n, f p.1 p.2 = ∑ p ∈ Finset.antidiagonal n, f p.2 p.1
-- Finsupp.antidiagonal_single
@[simp]
theorem antidiagonal_single (a : α) (n : ℕ) :
    antidiagonal (single a n) = (antidiagonal n).map
      (Function.Embedding.prodMap ⟨_, single_injective a⟩ ⟨_, single_injective a⟩) 
Arguments: {α : Type u} [DecidableEq α] (a : α) (n : ℕ)
Goal: Finset.antidiagonal (Finsupp.single a n) =
  Finset.map ({ toFun := Finsupp.single a, inj' := ⋯ }.prodMap { toFun := Finsupp.single a, inj' := ⋯ })
    (Finset.antidiagonal n)
-- Finsupp.isPWO
theorem Finsupp.isPWO {α σ : Type*} [Zero α] [LinearOrder α] [IsWellOrder α (· < ·)] [Finite σ]
    (S : Set (σ →₀ α)) : S.IsPWO 
Arguments: {α : Type u_1} {σ : Type u_2} [Zero α] [LinearOrder α] [IsWellOrder α fun x x_1 => x < x_1] [Finite σ] (S : Set (σ →₀ α))
Goal: S.IsPWO
-- Finsupp.tail_apply
theorem tail_apply : tail t i = t i.succ 
Arguments: {n : ℕ} (i : Fin n) {M : Type u_1} [Zero M] (t : Fin (n + 1) →₀ M)
Goal: t.tail i = t i.succ
-- Finsupp.cons_zero
@[simp]
theorem cons_zero : cons y s 0 = y 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] (y : M) (s : Fin n →₀ M)
Goal: (Finsupp.cons y s) 0 = y
-- Finsupp.cons_succ
@[simp]
theorem cons_succ : cons y s i.succ = s i 
Arguments: {n : ℕ} (i : Fin n) {M : Type u_1} [Zero M] (y : M) (s : Fin n →₀ M)
Goal: (Finsupp.cons y s) i.succ = s i
-- Finsupp.tail_cons
@[simp]
theorem tail_cons : tail (cons y s) = s 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] (y : M) (s : Fin n →₀ M)
Goal: (Finsupp.cons y s).tail = s
-- Finsupp.cons_tail
@[simp]
theorem cons_tail : cons (t 0) (tail t) = t 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] (t : Fin (n + 1) →₀ M)
Goal: Finsupp.cons (t 0) t.tail = t
-- Finsupp.cons_zero_zero
@[simp]
theorem cons_zero_zero : cons 0 (0 : Fin n →₀ M) = 0 
Arguments: {n : ℕ} {M : Type u_1} [Zero M]
Goal: Finsupp.cons 0 0 = 0
-- Finsupp.cons_ne_zero_of_left
theorem cons_ne_zero_of_left (h : y ≠ 0) : cons y s ≠ 0 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] {y : M} {s : Fin n →₀ M} (h : y ≠ 0)
Goal: Finsupp.cons y s ≠ 0
-- Finsupp.cons_ne_zero_of_right
theorem cons_ne_zero_of_right (h : s ≠ 0) : cons y s ≠ 0 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] {y : M} {s : Fin n →₀ M} (h : s ≠ 0)
Goal: Finsupp.cons y s ≠ 0
-- Finsupp.cons_ne_zero_iff
theorem cons_ne_zero_iff : cons y s ≠ 0 ↔ y ≠ 0 ∨ s ≠ 0 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] {y : M} {s : Fin n →₀ M}
Goal: Finsupp.cons y s ≠ 0 ↔ y ≠ 0 ∨ s ≠ 0
-- Finsupp.cons_support
lemma cons_support : (s.cons y).support ⊆ insert 0 (s.support.map (Fin.succEmb n)) 
Arguments: {n : ℕ} {M : Type u_1} [Zero M] {y : M} {s : Fin n →₀ M}
Goal: (Finsupp.cons y s).support ⊆ insert 0 (Finset.map (Fin.succEmb n) s.support)
-- Finsupp.toAList_entries
@[simps]
noncomputable def toAList (f : α →₀ M) : AList fun _x : α => M 
Arguments: {α : Type u_1} {M : Type u_2} [Zero M] (f : α →₀ M)
Goal: f.toAList.entries = List.map Prod.toSigma f.graph.toList
-- Finsupp.toAList_keys_toFinset
@[simp]
theorem toAList_keys_toFinset [DecidableEq α] (f : α →₀ M) :
    f.toAList.keys.toFinset = f.support 
Arguments: {α : Type u_1} {M : Type u_2} [Zero M] [DecidableEq α] (f : α →₀ M)
Goal: f.toAList.keys.toFinset = f.support
-- Finsupp.mem_toAlist
@[simp]
theorem mem_toAlist {f : α →₀ M} {x : α} : x ∈ f.toAList ↔ f x ≠ 0 
Arguments: {α : Type u_1} {M : Type u_2} [Zero M] {f : α →₀ M} {x : α}
Goal: x ∈ f.toAList ↔ f x ≠ 0
-- AList.lookupFinsupp_apply
@[simp]
theorem lookupFinsupp_apply [DecidableEq α] (l : AList fun _x : α => M) (a : α) :
    l.lookupFinsupp a = (l.lookup a).getD 0 
Arguments: {α : Type u_1} {M : Type u_2} [Zero M] [DecidableEq α] (l : AList fun _x => M) (a : α)
Goal: l.lookupFinsupp a = (AList.lookup a l).getD 0