ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- AddMonoid.End.coe_mul
@[simp, norm_cast] lemma coe_mul (f g : AddMonoid.End A) : (f * g : A → A) = f ∘ g 
Arguments: (A : Type u_10) [AddZeroClass A] (f g : AddMonoid.End A)
Goal: ⇑(f * g) = ⇑f ∘ ⇑g
-- AddMonoid.End.coe_pow
@[simp, norm_cast] lemma coe_pow (f : AddMonoid.End A) (n : ℕ) : (↑(f ^ n) : A → A) = f^[n] 
Arguments: (A : Type u_10) [AddZeroClass A] (f : AddMonoid.End A) (n : ℕ)
Goal: ⇑(f ^ n) = (⇑f)^[n]
-- ZeroHom.zero_apply
@[to_additive (attr := simp)]
theorem OneHom.one_apply [One M] [One N] (x : M) : (1 : OneHom M N) x = 1 
Arguments: {M : Type u_4} {N : Type u_5} [Zero M] [Zero N] (x : M)
Goal: 0 x = 0
-- OneHom.one_apply
@[to_additive (attr := simp)]
theorem OneHom.one_apply [One M] [One N] (x : M) : (1 : OneHom M N) x = 1 
Arguments: {M : Type u_4} {N : Type u_5} [One M] [One N] (x : M)
Goal: 1 x = 1
-- MonoidHom.one_apply
@[to_additive (attr := simp)]
theorem MonoidHom.one_apply [MulOneClass M] [MulOneClass N] (x : M) : (1 : M →* N) x = 1 
Arguments: {M : Type u_4} {N : Type u_5} [MulOneClass M] [MulOneClass N] (x : M)
Goal: 1 x = 1
-- AddMonoidHom.zero_apply
@[to_additive (attr := simp)]
theorem MonoidHom.one_apply [MulOneClass M] [MulOneClass N] (x : M) : (1 : M →* N) x = 1 
Arguments: {M : Type u_4} {N : Type u_5} [AddZeroClass M] [AddZeroClass N] (x : M)
Goal: 0 x = 0
-- OneHom.one_comp
@[to_additive (attr := simp)]
theorem OneHom.one_comp [One M] [One N] [One P] (f : OneHom M N) :
    (1 : OneHom N P).comp f = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [One M] [One N] [One P] (f : OneHom M N)
Goal: OneHom.comp 1 f = 1
-- ZeroHom.zero_comp
@[to_additive (attr := simp)]
theorem OneHom.one_comp [One M] [One N] [One P] (f : OneHom M N) :
    (1 : OneHom N P).comp f = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [Zero M] [Zero N] [Zero P] (f : ZeroHom M N)
Goal: ZeroHom.comp 0 f = 0
-- OneHom.comp_one
@[to_additive (attr := simp)]
theorem OneHom.comp_one [One M] [One N] [One P] (f : OneHom N P) : f.comp (1 : OneHom M N) = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [One M] [One N] [One P] (f : OneHom N P)
Goal: f.comp 1 = 1
-- ZeroHom.comp_zero
@[to_additive (attr := simp)]
theorem OneHom.comp_one [One M] [One N] [One P] (f : OneHom N P) : f.comp (1 : OneHom M N) = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [Zero M] [Zero N] [Zero P] (f : ZeroHom N P)
Goal: f.comp 0 = 0
-- MonoidHom.one_comp
@[to_additive (attr := simp)]
theorem one_comp [MulOneClass M] [MulOneClass N] [MulOneClass P] (f : M →* N) :
    (1 : N →* P).comp f = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [MulOneClass M] [MulOneClass N] [MulOneClass P] (f : M →* N)
Goal: MonoidHom.comp 1 f = 1
-- AddMonoidHom.zero_comp
@[to_additive (attr := simp)]
theorem one_comp [MulOneClass M] [MulOneClass N] [MulOneClass P] (f : M →* N) :
    (1 : N →* P).comp f = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [AddZeroClass M] [AddZeroClass N] [AddZeroClass P] (f : M →+ N)
Goal: AddMonoidHom.comp 0 f = 0
-- AddMonoidHom.comp_zero
@[to_additive (attr := simp)]
theorem comp_one [MulOneClass M] [MulOneClass N] [MulOneClass P] (f : N →* P) :
    f.comp (1 : M →* N) = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [AddZeroClass M] [AddZeroClass N] [AddZeroClass P] (f : N →+ P)
Goal: f.comp 0 = 0
-- MonoidHom.comp_one
@[to_additive (attr := simp)]
theorem comp_one [MulOneClass M] [MulOneClass N] [MulOneClass P] (f : N →* P) :
    f.comp (1 : M →* N) = 1 
Arguments: {M : Type u_4} {N : Type u_5} {P : Type u_6} [MulOneClass M] [MulOneClass N] [MulOneClass P] (f : N →* P)
Goal: f.comp 1 = 1
-- AddMonoidHom.map_neg
@[to_additive "Additive group homomorphisms preserve negation."]
protected theorem map_inv [Group α] [DivisionMonoid β] (f : α →* β) (a : α) : f a⁻¹ = (f a)⁻¹ 
Arguments: {α : Type u_2} {β : Type u_3} [AddGroup α] [SubtractionMonoid β] (f : α →+ β) (a : α)
Goal: f (-a) = -f a
-- MonoidHom.map_inv
@[to_additive "Additive group homomorphisms preserve negation."]
protected theorem map_inv [Group α] [DivisionMonoid β] (f : α →* β) (a : α) : f a⁻¹ = (f a)⁻¹ 
Arguments: {α : Type u_2} {β : Type u_3} [Group α] [DivisionMonoid β] (f : α →* β) (a : α)
Goal: f a⁻¹ = (f a)⁻¹
-- AddMonoidHom.map_zsmul
@[to_additive "Additive group homomorphisms preserve integer scaling."]
protected theorem map_zpow [Group α] [DivisionMonoid β] (f : α →* β) (g : α) (n : ℤ) :
    f (g ^ n) = f g ^ n 
Arguments: {α : Type u_2} {β : Type u_3} [AddGroup α] [SubtractionMonoid β] (f : α →+ β) (g : α) (n : ℤ)
Goal: f (n • g) = n • f g
-- MonoidHom.map_zpow
@[to_additive "Additive group homomorphisms preserve integer scaling."]
protected theorem map_zpow [Group α] [DivisionMonoid β] (f : α →* β) (g : α) (n : ℤ) :
    f (g ^ n) = f g ^ n 
Arguments: {α : Type u_2} {β : Type u_3} [Group α] [DivisionMonoid β] (f : α →* β) (g : α) (n : ℤ)
Goal: f (g ^ n) = f g ^ n
-- AddMonoidHom.map_sub
@[to_additive "Additive group homomorphisms preserve subtraction."]
protected theorem map_div [Group α] [DivisionMonoid β] (f : α →* β) (g h : α) :
    f (g / h) = f g / f h 
Arguments: {α : Type u_2} {β : Type u_3} [AddGroup α] [SubtractionMonoid β] (f : α →+ β) (g h : α)
Goal: f (g - h) = f g - f h
-- MonoidHom.map_div
@[to_additive "Additive group homomorphisms preserve subtraction."]
protected theorem map_div [Group α] [DivisionMonoid β] (f : α →* β) (g h : α) :
    f (g / h) = f g / f h 
Arguments: {α : Type u_2} {β : Type u_3} [Group α] [DivisionMonoid β] (f : α →* β) (g h : α)
Goal: f (g / h) = f g / f h
-- AddMonoidHom.map_add_neg
@[to_additive "Additive group homomorphisms preserve subtraction."]
protected theorem map_mul_inv [Group α] [DivisionMonoid β] (f : α →* β) (g h : α) :
    f (g * h⁻¹) = f g * (f h)⁻¹ 
Arguments: {α : Type u_2} {β : Type u_3} [AddGroup α] [SubtractionMonoid β] (f : α →+ β) (g h : α)
Goal: f (g + -h) = f g + -f h
-- MonoidHom.map_mul_inv
@[to_additive "Additive group homomorphisms preserve subtraction."]
protected theorem map_mul_inv [Group α] [DivisionMonoid β] (f : α →* β) (g h : α) :
    f (g * h⁻¹) = f g * (f h)⁻¹ 
Arguments: {α : Type u_2} {β : Type u_3} [Group α] [DivisionMonoid β] (f : α →* β) (g h : α)
Goal: f (g * h⁻¹) = f g * (f h)⁻¹
-- Function.mulSupport_eq_preimage
@[to_additive]
theorem mulSupport_eq_preimage (f : α → M) : mulSupport f = f ⁻¹' {1}ᶜ 
Arguments: {α : Type u_1} {M : Type u_5} [One M] (f : α → M)
Goal: Function.mulSupport f = f ⁻¹' {1}ᶜ
-- Function.support_eq_preimage
@[to_additive]
theorem mulSupport_eq_preimage (f : α → M) : mulSupport f = f ⁻¹' {1}ᶜ 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] (f : α → M)
Goal: Function.support f = f ⁻¹' {0}ᶜ
-- Function.nmem_mulSupport
@[to_additive]
theorem nmem_mulSupport {f : α → M} {x : α} : x ∉ mulSupport f ↔ f x = 1 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {x : α}
Goal: x ∉ Function.mulSupport f ↔ f x = 1
-- Function.nmem_support
@[to_additive]
theorem nmem_mulSupport {f : α → M} {x : α} : x ∉ mulSupport f ↔ f x = 1 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {x : α}
Goal: x ∉ Function.support f ↔ f x = 0
-- Function.compl_mulSupport
@[to_additive]
theorem compl_mulSupport {f : α → M} : (mulSupport f)ᶜ = { x | f x = 1 } 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M}
Goal: (Function.mulSupport f)ᶜ = {x | f x = 1}
-- Function.compl_support
@[to_additive]
theorem compl_mulSupport {f : α → M} : (mulSupport f)ᶜ = { x | f x = 1 } 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M}
Goal: (Function.support f)ᶜ = {x | f x = 0}
-- Function.mem_mulSupport
@[to_additive (attr := simp)]
theorem mem_mulSupport {f : α → M} {x : α} : x ∈ mulSupport f ↔ f x ≠ 1 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {x : α}
Goal: x ∈ Function.mulSupport f ↔ f x ≠ 1
-- Function.mem_support
@[to_additive (attr := simp)]
theorem mem_mulSupport {f : α → M} {x : α} : x ∈ mulSupport f ↔ f x ≠ 1 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {x : α}
Goal: x ∈ Function.support f ↔ f x ≠ 0
-- Function.mulSupport_subset_iff
@[to_additive (attr := simp)]
theorem mulSupport_subset_iff {f : α → M} {s : Set α} : mulSupport f ⊆ s ↔ ∀ x, f x ≠ 1 → x ∈ s 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {s : Set α}
Goal: Function.mulSupport f ⊆ s ↔ ∀ (x : α), f x ≠ 1 → x ∈ s
-- Function.support_subset_iff
@[to_additive (attr := simp)]
theorem mulSupport_subset_iff {f : α → M} {s : Set α} : mulSupport f ⊆ s ↔ ∀ x, f x ≠ 1 → x ∈ s 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {s : Set α}
Goal: Function.support f ⊆ s ↔ ∀ (x : α), f x ≠ 0 → x ∈ s
-- Function.support_subset_iff'
@[to_additive]
theorem mulSupport_subset_iff' {f : α → M} {s : Set α} :
    mulSupport f ⊆ s ↔ ∀ x ∉ s, f x = 1 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {s : Set α}
Goal: Function.support f ⊆ s ↔ ∀ x ∉ s, f x = 0
-- Function.mulSupport_subset_iff'
@[to_additive]
theorem mulSupport_subset_iff' {f : α → M} {s : Set α} :
    mulSupport f ⊆ s ↔ ∀ x ∉ s, f x = 1 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {s : Set α}
Goal: Function.mulSupport f ⊆ s ↔ ∀ x ∉ s, f x = 1
-- Function.mulSupport_eq_iff
@[to_additive]
theorem mulSupport_eq_iff {f : α → M} {s : Set α} :
    mulSupport f = s ↔ (∀ x, x ∈ s → f x ≠ 1) ∧ ∀ x, x ∉ s → f x = 1 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {s : Set α}
Goal: Function.mulSupport f = s ↔ (∀ x ∈ s, f x ≠ 1) ∧ ∀ x ∉ s, f x = 1
-- Function.support_eq_iff
@[to_additive]
theorem mulSupport_eq_iff {f : α → M} {s : Set α} :
    mulSupport f = s ↔ (∀ x, x ∈ s → f x ≠ 1) ∧ ∀ x, x ∉ s → f x = 1 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {s : Set α}
Goal: Function.support f = s ↔ (∀ x ∈ s, f x ≠ 0) ∧ ∀ x ∉ s, f x = 0
-- Function.ext_iff_mulSupport
@[to_additive]
theorem ext_iff_mulSupport {f g : α → M} :
    f = g ↔ f.mulSupport = g.mulSupport ∧ ∀ x ∈ f.mulSupport, f x = g x 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f g : α → M}
Goal: f = g ↔ Function.mulSupport f = Function.mulSupport g ∧ ∀ x ∈ Function.mulSupport f, f x = g x
-- Function.ext_iff_support
@[to_additive]
theorem ext_iff_mulSupport {f g : α → M} :
    f = g ↔ f.mulSupport = g.mulSupport ∧ ∀ x ∈ f.mulSupport, f x = g x 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f g : α → M}
Goal: f = g ↔ Function.support f = Function.support g ∧ ∀ x ∈ Function.support f, f x = g x
-- Function.mulSupport_update_of_ne_one
@[to_additive]
theorem mulSupport_update_of_ne_one [DecidableEq α] (f : α → M) (x : α) {y : M} (hy : y ≠ 1) :
    mulSupport (update f x y) = insert x (mulSupport f) 
Arguments: {α : Type u_1} {M : Type u_5} [One M] [DecidableEq α] (f : α → M) (x : α) {y : M} (hy : y ≠ 1)
Goal: Function.mulSupport (Function.update f x y) = insert x (Function.mulSupport f)
-- Function.support_update_of_ne_zero
@[to_additive]
theorem mulSupport_update_of_ne_one [DecidableEq α] (f : α → M) (x : α) {y : M} (hy : y ≠ 1) :
    mulSupport (update f x y) = insert x (mulSupport f) 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] [DecidableEq α] (f : α → M) (x : α) {y : M} (hy : y ≠ 0)
Goal: Function.support (Function.update f x y) = insert x (Function.support f)
-- Function.support_update_zero
@[to_additive]
theorem mulSupport_update_one [DecidableEq α] (f : α → M) (x : α) :
    mulSupport (update f x 1) = mulSupport f \ {x} 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] [DecidableEq α] (f : α → M) (x : α)
Goal: Function.support (Function.update f x 0) = Function.support f \ {x}
-- Function.mulSupport_update_one
@[to_additive]
theorem mulSupport_update_one [DecidableEq α] (f : α → M) (x : α) :
    mulSupport (update f x 1) = mulSupport f \ {x} 
Arguments: {α : Type u_1} {M : Type u_5} [One M] [DecidableEq α] (f : α → M) (x : α)
Goal: Function.mulSupport (Function.update f x 1) = Function.mulSupport f \ {x}
-- Function.mulSupport_update_eq_ite
@[to_additive]
theorem mulSupport_update_eq_ite [DecidableEq α] [DecidableEq M] (f : α → M) (x : α) (y : M) :
    mulSupport (update f x y) = if y = 1 then mulSupport f \ {x} else insert x (mulSupport f) 
Arguments: {α : Type u_1} {M : Type u_5} [One M] [DecidableEq α] [DecidableEq M] (f : α → M) (x : α) (y : M)
Goal: Function.mulSupport (Function.update f x y) =
  if y = 1 then Function.mulSupport f \ {x} else insert x (Function.mulSupport f)
-- Function.support_update_eq_ite
@[to_additive]
theorem mulSupport_update_eq_ite [DecidableEq α] [DecidableEq M] (f : α → M) (x : α) (y : M) :
    mulSupport (update f x y) = if y = 1 then mulSupport f \ {x} else insert x (mulSupport f) 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] [DecidableEq α] [DecidableEq M] (f : α → M) (x : α) (y : M)
Goal: Function.support (Function.update f x y) = if y = 0 then Function.support f \ {x} else insert x (Function.support f)
-- Function.support_extend_zero_subset
@[to_additive]
theorem mulSupport_extend_one_subset {f : α → M'} {g : α → N} :
    mulSupport (f.extend g 1) ⊆ f '' mulSupport g 
Arguments: {α : Type u_1} {M' : Type u_6} {N : Type u_7} [Zero N] {f : α → M'} {g : α → N}
Goal: Function.support (Function.extend f g 0) ⊆ f '' Function.support g
-- Function.mulSupport_extend_one_subset
@[to_additive]
theorem mulSupport_extend_one_subset {f : α → M'} {g : α → N} :
    mulSupport (f.extend g 1) ⊆ f '' mulSupport g 
Arguments: {α : Type u_1} {M' : Type u_6} {N : Type u_7} [One N] {f : α → M'} {g : α → N}
Goal: Function.mulSupport (Function.extend f g 1) ⊆ f '' Function.mulSupport g
-- Function.mulSupport_extend_one
@[to_additive]
theorem mulSupport_extend_one {f : α → M'} {g : α → N} (hf : f.Injective) :
    mulSupport (f.extend g 1) = f '' mulSupport g 
Arguments: {α : Type u_1} {M' : Type u_6} {N : Type u_7} [One N] {f : α → M'} {g : α → N} (hf : Function.Injective f)
Goal: Function.mulSupport (Function.extend f g 1) = f '' Function.mulSupport g
-- Function.support_extend_zero
@[to_additive]
theorem mulSupport_extend_one {f : α → M'} {g : α → N} (hf : f.Injective) :
    mulSupport (f.extend g 1) = f '' mulSupport g 
Arguments: {α : Type u_1} {M' : Type u_6} {N : Type u_7} [Zero N] {f : α → M'} {g : α → N} (hf : Function.Injective f)
Goal: Function.support (Function.extend f g 0) = f '' Function.support g
-- Function.support_disjoint_iff
@[to_additive]
theorem mulSupport_disjoint_iff {f : α → M} {s : Set α} :
    Disjoint (mulSupport f) s ↔ EqOn f 1 s 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {s : Set α}
Goal: Disjoint (Function.support f) s ↔ Set.EqOn f 0 s
-- Function.mulSupport_disjoint_iff
@[to_additive]
theorem mulSupport_disjoint_iff {f : α → M} {s : Set α} :
    Disjoint (mulSupport f) s ↔ EqOn f 1 s 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {s : Set α}
Goal: Disjoint (Function.mulSupport f) s ↔ Set.EqOn f 1 s
-- Function.disjoint_support_iff
@[to_additive]
theorem disjoint_mulSupport_iff {f : α → M} {s : Set α} :
    Disjoint s (mulSupport f) ↔ EqOn f 1 s 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {s : Set α}
Goal: Disjoint s (Function.support f) ↔ Set.EqOn f 0 s
-- Function.disjoint_mulSupport_iff
@[to_additive]
theorem disjoint_mulSupport_iff {f : α → M} {s : Set α} :
    Disjoint s (mulSupport f) ↔ EqOn f 1 s 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {s : Set α}
Goal: Disjoint s (Function.mulSupport f) ↔ Set.EqOn f 1 s
-- Function.support_eq_empty_iff
@[to_additive (attr := simp)]
theorem mulSupport_eq_empty_iff {f : α → M} : mulSupport f = ∅ ↔ f = 1 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M}
Goal: Function.support f = ∅ ↔ f = 0
-- Function.mulSupport_eq_empty_iff
@[to_additive (attr := simp)]
theorem mulSupport_eq_empty_iff {f : α → M} : mulSupport f = ∅ ↔ f = 1 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M}
Goal: Function.mulSupport f = ∅ ↔ f = 1
-- Function.support_nonempty_iff
@[to_additive (attr := simp)]
theorem mulSupport_nonempty_iff {f : α → M} : (mulSupport f).Nonempty ↔ f ≠ 1 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M}
Goal: (Function.support f).Nonempty ↔ f ≠ 0
-- Function.mulSupport_nonempty_iff
@[to_additive (attr := simp)]
theorem mulSupport_nonempty_iff {f : α → M} : (mulSupport f).Nonempty ↔ f ≠ 1 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M}
Goal: (Function.mulSupport f).Nonempty ↔ f ≠ 1
-- Function.range_subset_insert_image_mulSupport
@[to_additive]
theorem range_subset_insert_image_mulSupport (f : α → M) :
    range f ⊆ insert 1 (f '' mulSupport f) 
Arguments: {α : Type u_1} {M : Type u_5} [One M] (f : α → M)
Goal: Set.range f ⊆ insert 1 (f '' Function.mulSupport f)
-- Function.range_subset_insert_image_support
@[to_additive]
theorem range_subset_insert_image_mulSupport (f : α → M) :
    range f ⊆ insert 1 (f '' mulSupport f) 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] (f : α → M)
Goal: Set.range f ⊆ insert 0 (f '' Function.support f)
-- Function.range_eq_image_or_of_mulSupport_subset
@[to_additive]
lemma range_eq_image_or_of_mulSupport_subset {f : α → M} {k : Set α} (h : mulSupport f ⊆ k) :
    range f = f '' k ∨ range f = insert 1 (f '' k) 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {f : α → M} {k : Set α} (h : Function.mulSupport f ⊆ k)
Goal: Set.range f = f '' k ∨ Set.range f = insert 1 (f '' k)
-- Function.range_eq_image_or_of_support_subset
@[to_additive]
lemma range_eq_image_or_of_mulSupport_subset {f : α → M} {k : Set α} (h : mulSupport f ⊆ k) :
    range f = f '' k ∨ range f = insert 1 (f '' k) 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {f : α → M} {k : Set α} (h : Function.support f ⊆ k)
Goal: Set.range f = f '' k ∨ Set.range f = insert 0 (f '' k)
-- Function.mulSupport_one'
@[to_additive (attr := simp)]
theorem mulSupport_one' : mulSupport (1 : α → M) = ∅ 
Arguments: {α : Type u_1} {M : Type u_5} [One M]
Goal: Function.mulSupport 1 = ∅
-- Function.support_zero'
@[to_additive (attr := simp)]
theorem mulSupport_one' : mulSupport (1 : α → M) = ∅ 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M]
Goal: Function.support 0 = ∅
-- Function.mulSupport_one
@[to_additive (attr := simp)]
theorem mulSupport_one : (mulSupport fun _ : α => (1 : M)) = ∅ 
Arguments: {α : Type u_1} {M : Type u_5} [One M]
Goal: (Function.mulSupport fun x => 1) = ∅
-- Function.support_zero
@[to_additive (attr := simp)]
theorem mulSupport_one : (mulSupport fun _ : α => (1 : M)) = ∅ 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M]
Goal: (Function.support fun x => 0) = ∅
-- Function.support_const
@[to_additive]
theorem mulSupport_const {c : M} (hc : c ≠ 1) : (mulSupport fun _ : α => c) = Set.univ 
Arguments: {α : Type u_1} {M : Type u_5} [Zero M] {c : M} (hc : c ≠ 0)
Goal: (Function.support fun x => c) = Set.univ
-- Function.mulSupport_const
@[to_additive]
theorem mulSupport_const {c : M} (hc : c ≠ 1) : (mulSupport fun _ : α => c) = Set.univ 
Arguments: {α : Type u_1} {M : Type u_5} [One M] {c : M} (hc : c ≠ 1)
Goal: (Function.mulSupport fun x => c) = Set.univ
-- Function.support_binop_subset
@[to_additive]
theorem mulSupport_binop_subset (op : M → N → P) (op1 : op 1 1 = 1) (f : α → M) (g : α → N) :
    (mulSupport fun x => op (f x) (g x)) ⊆ mulSupport f ∪ mulSupport g 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} {P : Type u_8} [Zero M] [Zero N] [Zero P] (op : M → N → P) (op1 : op 0 0 = 0) (f : α → M) (g : α → N)
Goal: (Function.support fun x => op (f x) (g x)) ⊆ Function.support f ∪ Function.support g
-- Function.mulSupport_binop_subset
@[to_additive]
theorem mulSupport_binop_subset (op : M → N → P) (op1 : op 1 1 = 1) (f : α → M) (g : α → N) :
    (mulSupport fun x => op (f x) (g x)) ⊆ mulSupport f ∪ mulSupport g 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} {P : Type u_8} [One M] [One N] [One P] (op : M → N → P) (op1 : op 1 1 = 1) (f : α → M) (g : α → N)
Goal: (Function.mulSupport fun x => op (f x) (g x)) ⊆ Function.mulSupport f ∪ Function.mulSupport g
-- Function.mulSupport_comp_subset
@[to_additive]
theorem mulSupport_comp_subset {g : M → N} (hg : g 1 = 1) (f : α → M) :
    mulSupport (g ∘ f) ⊆ mulSupport f 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [One M] [One N] {g : M → N} (hg : g 1 = 1) (f : α → M)
Goal: Function.mulSupport (g ∘ f) ⊆ Function.mulSupport f
-- Function.support_comp_subset
@[to_additive]
theorem mulSupport_comp_subset {g : M → N} (hg : g 1 = 1) (f : α → M) :
    mulSupport (g ∘ f) ⊆ mulSupport f 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [Zero M] [Zero N] {g : M → N} (hg : g 0 = 0) (f : α → M)
Goal: Function.support (g ∘ f) ⊆ Function.support f
-- Function.support_subset_comp
@[to_additive]
theorem mulSupport_subset_comp {g : M → N} (hg : ∀ {x}, g x = 1 → x = 1) (f : α → M) :
    mulSupport f ⊆ mulSupport (g ∘ f) 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [Zero M] [Zero N] {g : M → N} (hg : ∀ {x : M}, g x = 0 → x = 0) (f : α → M)
Goal: Function.support f ⊆ Function.support (g ∘ f)
-- Function.mulSupport_subset_comp
@[to_additive]
theorem mulSupport_subset_comp {g : M → N} (hg : ∀ {x}, g x = 1 → x = 1) (f : α → M) :
    mulSupport f ⊆ mulSupport (g ∘ f) 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [One M] [One N] {g : M → N} (hg : ∀ {x : M}, g x = 1 → x = 1) (f : α → M)
Goal: Function.mulSupport f ⊆ Function.mulSupport (g ∘ f)
-- Function.mulSupport_comp_eq
@[to_additive]
theorem mulSupport_comp_eq (g : M → N) (hg : ∀ {x}, g x = 1 ↔ x = 1) (f : α → M) :
    mulSupport (g ∘ f) = mulSupport f 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [One M] [One N] (g : M → N) (hg : ∀ {x : M}, g x = 1 ↔ x = 1) (f : α → M)
Goal: Function.mulSupport (g ∘ f) = Function.mulSupport f
-- Function.support_comp_eq
@[to_additive]
theorem mulSupport_comp_eq (g : M → N) (hg : ∀ {x}, g x = 1 ↔ x = 1) (f : α → M) :
    mulSupport (g ∘ f) = mulSupport f 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [Zero M] [Zero N] (g : M → N) (hg : ∀ {x : M}, g x = 0 ↔ x = 0) (f : α → M)
Goal: Function.support (g ∘ f) = Function.support f
-- Function.mulSupport_comp_eq_of_range_subset
@[to_additive]
theorem mulSupport_comp_eq_of_range_subset {g : M → N} {f : α → M}
    (hg : ∀ {x}, x ∈ range f → (g x = 1 ↔ x = 1)) :
    mulSupport (g ∘ f) = mulSupport f 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [One M] [One N] {g : M → N} {f : α → M} (hg : ∀ {x : M}, x ∈ Set.range f → (g x = 1 ↔ x = 1))
Goal: Function.mulSupport (g ∘ f) = Function.mulSupport f
-- Function.support_comp_eq_of_range_subset
@[to_additive]
theorem mulSupport_comp_eq_of_range_subset {g : M → N} {f : α → M}
    (hg : ∀ {x}, x ∈ range f → (g x = 1 ↔ x = 1)) :
    mulSupport (g ∘ f) = mulSupport f 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [Zero M] [Zero N] {g : M → N} {f : α → M} (hg : ∀ {x : M}, x ∈ Set.range f → (g x = 0 ↔ x = 0))
Goal: Function.support (g ∘ f) = Function.support f
-- Function.mulSupport_comp_eq_preimage
@[to_additive]
theorem mulSupport_comp_eq_preimage (g : β → M) (f : α → β) :
    mulSupport (g ∘ f) = f ⁻¹' mulSupport g 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_5} [One M] (g : β → M) (f : α → β)
Goal: Function.mulSupport (g ∘ f) = f ⁻¹' Function.mulSupport g
-- Function.support_comp_eq_preimage
@[to_additive]
theorem mulSupport_comp_eq_preimage (g : β → M) (f : α → β) :
    mulSupport (g ∘ f) = f ⁻¹' mulSupport g 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_5} [Zero M] (g : β → M) (f : α → β)
Goal: Function.support (g ∘ f) = f ⁻¹' Function.support g
-- Function.support_prod_mk
@[to_additive support_prod_mk]
theorem mulSupport_prod_mk (f : α → M) (g : α → N) :
    (mulSupport fun x => (f x, g x)) = mulSupport f ∪ mulSupport g 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [Zero M] [Zero N] (f : α → M) (g : α → N)
Goal: (Function.support fun x => (f x, g x)) = Function.support f ∪ Function.support g
-- Function.mulSupport_prod_mk
@[to_additive support_prod_mk]
theorem mulSupport_prod_mk (f : α → M) (g : α → N) :
    (mulSupport fun x => (f x, g x)) = mulSupport f ∪ mulSupport g 
Arguments: {α : Type u_1} {M : Type u_5} {N : Type u_7} [One M] [One N] (f : α → M) (g : α → N)
Goal: (Function.mulSupport fun x => (f x, g x)) = Function.mulSupport f ∪ Function.mulSupport g