ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Set.mulIndicator_of_not_mem
@[to_additive (attr := simp)]
theorem mulIndicator_of_not_mem (h : a ∉ s) (f : α → M) : mulIndicator s f a = 1 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {a : α} (h : a ∉ s) (f : α → M)
Goal: s.mulIndicator f a = 1
-- Set.mulIndicator_eq_one_or_self
@[to_additive]
theorem mulIndicator_eq_one_or_self (s : Set α) (f : α → M) (a : α) :
    mulIndicator s f a = 1 ∨ mulIndicator s f a = f a 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (s : Set α) (f : α → M) (a : α)
Goal: s.mulIndicator f a = 1 ∨ s.mulIndicator f a = f a
-- Set.indicator_eq_zero_or_self
@[to_additive]
theorem mulIndicator_eq_one_or_self (s : Set α) (f : α → M) (a : α) :
    mulIndicator s f a = 1 ∨ mulIndicator s f a = f a 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (s : Set α) (f : α → M) (a : α)
Goal: s.indicator f a = 0 ∨ s.indicator f a = f a
-- Set.indicator_apply_eq_self
@[to_additive (attr := simp)]
theorem mulIndicator_apply_eq_self : s.mulIndicator f a = f a ↔ a ∉ s → f a = 1 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M} {a : α}
Goal: s.indicator f a = f a ↔ a ∉ s → f a = 0
-- Set.mulIndicator_apply_eq_self
@[to_additive (attr := simp)]
theorem mulIndicator_apply_eq_self : s.mulIndicator f a = f a ↔ a ∉ s → f a = 1 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M} {a : α}
Goal: s.mulIndicator f a = f a ↔ a ∉ s → f a = 1
-- Set.indicator_eq_self
@[to_additive (attr := simp)]
theorem mulIndicator_eq_self : s.mulIndicator f = f ↔ mulSupport f ⊆ s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M}
Goal: s.indicator f = f ↔ Function.support f ⊆ s
-- Set.mulIndicator_eq_self
@[to_additive (attr := simp)]
theorem mulIndicator_eq_self : s.mulIndicator f = f ↔ mulSupport f ⊆ s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M}
Goal: s.mulIndicator f = f ↔ Function.mulSupport f ⊆ s
-- Set.indicator_eq_self_of_superset
@[to_additive]
theorem mulIndicator_eq_self_of_superset (h1 : s.mulIndicator f = f) (h2 : s ⊆ t) :
    t.mulIndicator f = f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s t : Set α} {f : α → M} (h1 : s.indicator f = f) (h2 : s ⊆ t)
Goal: t.indicator f = f
-- Set.mulIndicator_eq_self_of_superset
@[to_additive]
theorem mulIndicator_eq_self_of_superset (h1 : s.mulIndicator f = f) (h2 : s ⊆ t) :
    t.mulIndicator f = f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s t : Set α} {f : α → M} (h1 : s.mulIndicator f = f) (h2 : s ⊆ t)
Goal: t.mulIndicator f = f
-- Set.mulIndicator_apply_eq_one
@[to_additive (attr := simp)]
theorem mulIndicator_apply_eq_one : mulIndicator s f a = 1 ↔ a ∈ s → f a = 1 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M} {a : α}
Goal: s.mulIndicator f a = 1 ↔ a ∈ s → f a = 1
-- Set.indicator_apply_eq_zero
@[to_additive (attr := simp)]
theorem mulIndicator_apply_eq_one : mulIndicator s f a = 1 ↔ a ∈ s → f a = 1 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M} {a : α}
Goal: s.indicator f a = 0 ↔ a ∈ s → f a = 0
-- Set.mulIndicator_eq_one
@[to_additive (attr := simp)]
theorem mulIndicator_eq_one : (mulIndicator s f = fun x => 1) ↔ Disjoint (mulSupport f) s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M}
Goal: (s.mulIndicator f = fun x => 1) ↔ Disjoint (Function.mulSupport f) s
-- Set.indicator_eq_zero
@[to_additive (attr := simp)]
theorem mulIndicator_eq_one : (mulIndicator s f = fun x => 1) ↔ Disjoint (mulSupport f) s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M}
Goal: (s.indicator f = fun x => 0) ↔ Disjoint (Function.support f) s
-- Set.indicator_eq_zero'
@[to_additive (attr := simp)]
theorem mulIndicator_eq_one' : mulIndicator s f = 1 ↔ Disjoint (mulSupport f) s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M}
Goal: s.indicator f = 0 ↔ Disjoint (Function.support f) s
-- Set.mulIndicator_eq_one'
@[to_additive (attr := simp)]
theorem mulIndicator_eq_one' : mulIndicator s f = 1 ↔ Disjoint (mulSupport f) s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M}
Goal: s.mulIndicator f = 1 ↔ Disjoint (Function.mulSupport f) s
-- Set.indicator_apply_ne_zero
@[to_additive]
theorem mulIndicator_apply_ne_one {a : α} : s.mulIndicator f a ≠ 1 ↔ a ∈ s ∩ mulSupport f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M} {a : α}
Goal: s.indicator f a ≠ 0 ↔ a ∈ s ∩ Function.support f
-- Set.mulIndicator_apply_ne_one
@[to_additive]
theorem mulIndicator_apply_ne_one {a : α} : s.mulIndicator f a ≠ 1 ↔ a ∈ s ∩ mulSupport f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M} {a : α}
Goal: s.mulIndicator f a ≠ 1 ↔ a ∈ s ∩ Function.mulSupport f
-- Set.mulSupport_mulIndicator
@[to_additive (attr := simp)]
theorem mulSupport_mulIndicator :
    Function.mulSupport (s.mulIndicator f) = s ∩ Function.mulSupport f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M}
Goal: Function.mulSupport (s.mulIndicator f) = s ∩ Function.mulSupport f
-- Set.support_indicator
@[to_additive (attr := simp)]
theorem mulSupport_mulIndicator :
    Function.mulSupport (s.mulIndicator f) = s ∩ Function.mulSupport f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M}
Goal: Function.support (s.indicator f) = s ∩ Function.support f
-- Set.mem_of_mulIndicator_ne_one
@[to_additive
      "If an additive indicator function is not equal to `0` at a point, then that point is
      in the set."]
theorem mem_of_mulIndicator_ne_one (h : mulIndicator s f a ≠ 1) : a ∈ s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M} {a : α} (h : s.mulIndicator f a ≠ 1)
Goal: a ∈ s
-- Set.mem_of_indicator_ne_zero
@[to_additive
      "If an additive indicator function is not equal to `0` at a point, then that point is
      in the set."]
theorem mem_of_mulIndicator_ne_one (h : mulIndicator s f a ≠ 1) : a ∈ s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M} {a : α} (h : s.indicator f a ≠ 0)
Goal: a ∈ s
-- Set.eqOn_mulIndicator
@[to_additive]
theorem eqOn_mulIndicator : EqOn (mulIndicator s f) f s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M}
Goal: Set.EqOn (s.mulIndicator f) f s
-- Set.eqOn_indicator
@[to_additive]
theorem eqOn_mulIndicator : EqOn (mulIndicator s f) f s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M}
Goal: Set.EqOn (s.indicator f) f s
-- Set.support_indicator_subset
@[to_additive]
theorem mulSupport_mulIndicator_subset : mulSupport (s.mulIndicator f) ⊆ s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f : α → M}
Goal: Function.support (s.indicator f) ⊆ s
-- Set.mulSupport_mulIndicator_subset
@[to_additive]
theorem mulSupport_mulIndicator_subset : mulSupport (s.mulIndicator f) ⊆ s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f : α → M}
Goal: Function.mulSupport (s.mulIndicator f) ⊆ s
-- Set.mulIndicator_mulSupport
@[to_additive (attr := simp)]
theorem mulIndicator_mulSupport : mulIndicator (mulSupport f) f = f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {f : α → M}
Goal: (Function.mulSupport f).mulIndicator f = f
-- Set.indicator_support
@[to_additive (attr := simp)]
theorem mulIndicator_mulSupport : mulIndicator (mulSupport f) f = f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {f : α → M}
Goal: (Function.support f).indicator f = f
-- Set.indicator_range_comp
@[to_additive (attr := simp)]
theorem mulIndicator_range_comp {ι : Sort*} (f : ι → α) (g : α → M) :
    mulIndicator (range f) g ∘ f = g ∘ f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {ι : Sort u_6} (f : ι → α) (g : α → M)
Goal: (Set.range f).indicator g ∘ f = g ∘ f
-- Set.mulIndicator_range_comp
@[to_additive (attr := simp)]
theorem mulIndicator_range_comp {ι : Sort*} (f : ι → α) (g : α → M) :
    mulIndicator (range f) g ∘ f = g ∘ f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {ι : Sort u_6} (f : ι → α) (g : α → M)
Goal: (Set.range f).mulIndicator g ∘ f = g ∘ f
-- Set.mulIndicator_congr
@[to_additive]
theorem mulIndicator_congr (h : EqOn f g s) : mulIndicator s f = mulIndicator s g 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f g : α → M} (h : Set.EqOn f g s)
Goal: s.mulIndicator f = s.mulIndicator g
-- Set.indicator_congr
@[to_additive]
theorem mulIndicator_congr (h : EqOn f g s) : mulIndicator s f = mulIndicator s g 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f g : α → M} (h : Set.EqOn f g s)
Goal: s.indicator f = s.indicator g
-- Set.mulIndicator_univ
@[to_additive (attr := simp)]
theorem mulIndicator_univ (f : α → M) : mulIndicator (univ : Set α) f = f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (f : α → M)
Goal: Set.univ.mulIndicator f = f
-- Set.indicator_univ
@[to_additive (attr := simp)]
theorem mulIndicator_univ (f : α → M) : mulIndicator (univ : Set α) f = f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (f : α → M)
Goal: Set.univ.indicator f = f
-- Set.mulIndicator_empty
@[to_additive (attr := simp)]
theorem mulIndicator_empty (f : α → M) : mulIndicator (∅ : Set α) f = fun _ => 1 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (f : α → M)
Goal: ∅.mulIndicator f = fun x => 1
-- Set.indicator_empty
@[to_additive (attr := simp)]
theorem mulIndicator_empty (f : α → M) : mulIndicator (∅ : Set α) f = fun _ => 1 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (f : α → M)
Goal: ∅.indicator f = fun x => 0
-- Set.mulIndicator_empty'
@[to_additive]
theorem mulIndicator_empty' (f : α → M) : mulIndicator (∅ : Set α) f = 1 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (f : α → M)
Goal: ∅.mulIndicator f = 1
-- Set.indicator_empty'
@[to_additive]
theorem mulIndicator_empty' (f : α → M) : mulIndicator (∅ : Set α) f = 1 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (f : α → M)
Goal: ∅.indicator f = 0
-- Set.indicator_zero
@[to_additive (attr := simp)]
theorem mulIndicator_one (s : Set α) : (mulIndicator s fun _ => (1 : M)) = fun _ => (1 : M) 
Arguments: {α : Type u_1} (M : Type u_4) [Zero M] (s : Set α)
Goal: (s.indicator fun x => 0) = fun x => 0
-- Set.mulIndicator_one
@[to_additive (attr := simp)]
theorem mulIndicator_one (s : Set α) : (mulIndicator s fun _ => (1 : M)) = fun _ => (1 : M) 
Arguments: {α : Type u_1} (M : Type u_4) [One M] (s : Set α)
Goal: (s.mulIndicator fun x => 1) = fun x => 1
-- Set.mulIndicator_one'
@[to_additive (attr := simp)]
theorem mulIndicator_one' {s : Set α} : s.mulIndicator (1 : α → M) = 1 
Arguments: {α : Type u_1} (M : Type u_4) [One M] {s : Set α}
Goal: s.mulIndicator 1 = 1
-- Set.indicator_zero'
@[to_additive (attr := simp)]
theorem mulIndicator_one' {s : Set α} : s.mulIndicator (1 : α → M) = 1 
Arguments: {α : Type u_1} (M : Type u_4) [Zero M] {s : Set α}
Goal: s.indicator 0 = 0
-- Set.indicator_indicator
@[to_additive]
theorem mulIndicator_mulIndicator (s t : Set α) (f : α → M) :
    mulIndicator s (mulIndicator t f) = mulIndicator (s ∩ t) f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (s t : Set α) (f : α → M)
Goal: s.indicator (t.indicator f) = (s ∩ t).indicator f
-- Set.mulIndicator_mulIndicator
@[to_additive]
theorem mulIndicator_mulIndicator (s t : Set α) (f : α → M) :
    mulIndicator s (mulIndicator t f) = mulIndicator (s ∩ t) f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (s t : Set α) (f : α → M)
Goal: s.mulIndicator (t.mulIndicator f) = (s ∩ t).mulIndicator f
-- Set.indicator_inter_support
@[to_additive (attr := simp)]
theorem mulIndicator_inter_mulSupport (s : Set α) (f : α → M) :
    mulIndicator (s ∩ mulSupport f) f = mulIndicator s f 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (s : Set α) (f : α → M)
Goal: (s ∩ Function.support f).indicator f = s.indicator f
-- Set.mulIndicator_inter_mulSupport
@[to_additive (attr := simp)]
theorem mulIndicator_inter_mulSupport (s : Set α) (f : α → M) :
    mulIndicator (s ∩ mulSupport f) f = mulIndicator s f 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (s : Set α) (f : α → M)
Goal: (s ∩ Function.mulSupport f).mulIndicator f = s.mulIndicator f
-- Set.comp_indicator
@[to_additive]
theorem comp_mulIndicator (h : M → β) (f : α → M) {s : Set α} {x : α} [DecidablePred (· ∈ s)] :
    h (s.mulIndicator f x) = s.piecewise (h ∘ f) (const α (h 1)) x 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_4} [Zero M] (h : M → β) (f : α → M) {s : Set α} {x : α} [DecidablePred fun x => x ∈ s]
Goal: h (s.indicator f x) = s.piecewise (h ∘ f) (Function.const α (h 0)) x
-- Set.comp_mulIndicator
@[to_additive]
theorem comp_mulIndicator (h : M → β) (f : α → M) {s : Set α} {x : α} [DecidablePred (· ∈ s)] :
    h (s.mulIndicator f x) = s.piecewise (h ∘ f) (const α (h 1)) x 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_4} [One M] (h : M → β) (f : α → M) {s : Set α} {x : α} [DecidablePred fun x => x ∈ s]
Goal: h (s.mulIndicator f x) = s.piecewise (h ∘ f) (Function.const α (h 1)) x
-- Set.indicator_comp_right
@[to_additive]
theorem mulIndicator_comp_right {s : Set α} (f : β → α) {g : α → M} {x : β} :
    mulIndicator (f ⁻¹' s) (g ∘ f) x = mulIndicator s g (f x) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_4} [Zero M] {s : Set α} (f : β → α) {g : α → M} {x : β}
Goal: (f ⁻¹' s).indicator (g ∘ f) x = s.indicator g (f x)
-- Set.mulIndicator_comp_right
@[to_additive]
theorem mulIndicator_comp_right {s : Set α} (f : β → α) {g : α → M} {x : β} :
    mulIndicator (f ⁻¹' s) (g ∘ f) x = mulIndicator s g (f x) 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_4} [One M] {s : Set α} (f : β → α) {g : α → M} {x : β}
Goal: (f ⁻¹' s).mulIndicator (g ∘ f) x = s.mulIndicator g (f x)
-- Set.indicator_image
@[to_additive]
theorem mulIndicator_image {s : Set α} {f : β → M} {g : α → β} (hg : Injective g) {x : α} :
    mulIndicator (g '' s) f (g x) = mulIndicator s (f ∘ g) x 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_4} [Zero M] {s : Set α} {f : β → M} {g : α → β} (hg : Function.Injective g) {x : α}
Goal: (g '' s).indicator f (g x) = s.indicator (f ∘ g) x
-- Set.mulIndicator_image
@[to_additive]
theorem mulIndicator_image {s : Set α} {f : β → M} {g : α → β} (hg : Injective g) {x : α} :
    mulIndicator (g '' s) f (g x) = mulIndicator s (f ∘ g) x 
Arguments: {α : Type u_1} {β : Type u_2} {M : Type u_4} [One M] {s : Set α} {f : β → M} {g : α → β} (hg : Function.Injective g) {x : α}
Goal: (g '' s).mulIndicator f (g x) = s.mulIndicator (f ∘ g) x
-- Set.indicator_comp_of_zero
@[to_additive]
theorem mulIndicator_comp_of_one {g : M → N} (hg : g 1 = 1) :
    mulIndicator s (g ∘ f) = g ∘ mulIndicator s f 
Arguments: {α : Type u_1} {M : Type u_4} {N : Type u_5} [Zero M] [Zero N] {s : Set α} {f : α → M} {g : M → N} (hg : g 0 = 0)
Goal: s.indicator (g ∘ f) = g ∘ s.indicator f
-- Set.mulIndicator_comp_of_one
@[to_additive]
theorem mulIndicator_comp_of_one {g : M → N} (hg : g 1 = 1) :
    mulIndicator s (g ∘ f) = g ∘ mulIndicator s f 
Arguments: {α : Type u_1} {M : Type u_4} {N : Type u_5} [One M] [One N] {s : Set α} {f : α → M} {g : M → N} (hg : g 1 = 1)
Goal: s.mulIndicator (g ∘ f) = g ∘ s.mulIndicator f
-- Set.comp_indicator_const
@[to_additive]
theorem comp_mulIndicator_const (c : M) (f : M → N) (hf : f 1 = 1) :
    (fun x => f (s.mulIndicator (fun _ => c) x)) = s.mulIndicator fun _ => f c 
Arguments: {α : Type u_1} {M : Type u_4} {N : Type u_5} [Zero M] [Zero N] {s : Set α} (c : M) (f : M → N) (hf : f 0 = 0)
Goal: (fun x => f (s.indicator (fun x => c) x)) = s.indicator fun x => f c
-- Set.comp_mulIndicator_const
@[to_additive]
theorem comp_mulIndicator_const (c : M) (f : M → N) (hf : f 1 = 1) :
    (fun x => f (s.mulIndicator (fun _ => c) x)) = s.mulIndicator fun _ => f c 
Arguments: {α : Type u_1} {M : Type u_4} {N : Type u_5} [One M] [One N] {s : Set α} (c : M) (f : M → N) (hf : f 1 = 1)
Goal: (fun x => f (s.mulIndicator (fun x => c) x)) = s.mulIndicator fun x => f c
-- Set.mulIndicator_preimage
@[to_additive]
theorem mulIndicator_preimage (s : Set α) (f : α → M) (B : Set M) :
    mulIndicator s f ⁻¹' B = s.ite (f ⁻¹' B) (1 ⁻¹' B) 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (s : Set α) (f : α → M) (B : Set M)
Goal: s.mulIndicator f ⁻¹' B = s.ite (f ⁻¹' B) (1 ⁻¹' B)
-- Set.indicator_preimage
@[to_additive]
theorem mulIndicator_preimage (s : Set α) (f : α → M) (B : Set M) :
    mulIndicator s f ⁻¹' B = s.ite (f ⁻¹' B) (1 ⁻¹' B) 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (s : Set α) (f : α → M) (B : Set M)
Goal: s.indicator f ⁻¹' B = s.ite (f ⁻¹' B) (0 ⁻¹' B)
-- Set.indicator_zero_preimage
@[to_additive]
theorem mulIndicator_one_preimage (s : Set M) :
    t.mulIndicator 1 ⁻¹' s ∈ ({Set.univ, ∅} : Set (Set α)) 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {t : Set α} (s : Set M)
Goal: t.indicator 0 ⁻¹' s ∈ {Set.univ, ∅}
-- Set.mulIndicator_one_preimage
@[to_additive]
theorem mulIndicator_one_preimage (s : Set M) :
    t.mulIndicator 1 ⁻¹' s ∈ ({Set.univ, ∅} : Set (Set α)) 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {t : Set α} (s : Set M)
Goal: t.mulIndicator 1 ⁻¹' s ∈ {Set.univ, ∅}
-- Set.indicator_const_preimage_eq_union
@[to_additive]
theorem mulIndicator_const_preimage_eq_union (U : Set α) (s : Set M) (a : M) [Decidable (a ∈ s)]
    [Decidable ((1 : M) ∈ s)] : (U.mulIndicator fun _ => a) ⁻¹' s =
      (if a ∈ s then U else ∅) ∪ if (1 : M) ∈ s then Uᶜ else ∅ 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (U : Set α) (s : Set M) (a : M) [Decidable (a ∈ s)] [Decidable (0 ∈ s)]
Goal: (U.indicator fun x => a) ⁻¹' s = (if a ∈ s then U else ∅) ∪ if 0 ∈ s then Uᶜ else ∅
-- Set.mulIndicator_const_preimage_eq_union
@[to_additive]
theorem mulIndicator_const_preimage_eq_union (U : Set α) (s : Set M) (a : M) [Decidable (a ∈ s)]
    [Decidable ((1 : M) ∈ s)] : (U.mulIndicator fun _ => a) ⁻¹' s =
      (if a ∈ s then U else ∅) ∪ if (1 : M) ∈ s then Uᶜ else ∅ 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (U : Set α) (s : Set M) (a : M) [Decidable (a ∈ s)] [Decidable (1 ∈ s)]
Goal: (U.mulIndicator fun x => a) ⁻¹' s = (if a ∈ s then U else ∅) ∪ if 1 ∈ s then Uᶜ else ∅
-- Set.indicator_const_preimage
@[to_additive]
theorem mulIndicator_const_preimage (U : Set α) (s : Set M) (a : M) :
    (U.mulIndicator fun _ => a) ⁻¹' s ∈ ({Set.univ, U, Uᶜ, ∅} : Set (Set α)) 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (U : Set α) (s : Set M) (a : M)
Goal: (U.indicator fun x => a) ⁻¹' s ∈ {Set.univ, U, Uᶜ, ∅}
-- Set.mulIndicator_const_preimage
@[to_additive]
theorem mulIndicator_const_preimage (U : Set α) (s : Set M) (a : M) :
    (U.mulIndicator fun _ => a) ⁻¹' s ∈ ({Set.univ, U, Uᶜ, ∅} : Set (Set α)) 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (U : Set α) (s : Set M) (a : M)
Goal: (U.mulIndicator fun x => a) ⁻¹' s ∈ {Set.univ, U, Uᶜ, ∅}
-- Set.indicator_one_preimage
theorem indicator_one_preimage [Zero M] (U : Set α) (s : Set M) :
    U.indicator 1 ⁻¹' s ∈ ({Set.univ, U, Uᶜ, ∅} : Set (Set α)) 
Arguments: {α : Type u_1} {M : Type u_4} [One M] [Zero M] (U : Set α) (s : Set M)
Goal: U.indicator 1 ⁻¹' s ∈ {Set.univ, U, Uᶜ, ∅}
-- Set.indicator_preimage_of_not_mem
@[to_additive]
theorem mulIndicator_preimage_of_not_mem (s : Set α) (f : α → M) {t : Set M} (ht : (1 : M) ∉ t) :
    mulIndicator s f ⁻¹' t = f ⁻¹' t ∩ s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] (s : Set α) (f : α → M) {t : Set M} (ht : 0 ∉ t)
Goal: s.indicator f ⁻¹' t = f ⁻¹' t ∩ s
-- Set.mulIndicator_preimage_of_not_mem
@[to_additive]
theorem mulIndicator_preimage_of_not_mem (s : Set α) (f : α → M) {t : Set M} (ht : (1 : M) ∉ t) :
    mulIndicator s f ⁻¹' t = f ⁻¹' t ∩ s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] (s : Set α) (f : α → M) {t : Set M} (ht : 1 ∉ t)
Goal: s.mulIndicator f ⁻¹' t = f ⁻¹' t ∩ s
-- Set.mem_range_mulIndicator
@[to_additive]
theorem mem_range_mulIndicator {r : M} {s : Set α} {f : α → M} :
    r ∈ range (mulIndicator s f) ↔ r = 1 ∧ s ≠ univ ∨ r ∈ f '' s 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {r : M} {s : Set α} {f : α → M}
Goal: r ∈ Set.range (s.mulIndicator f) ↔ r = 1 ∧ s ≠ Set.univ ∨ r ∈ f '' s
-- Set.mem_range_indicator
@[to_additive]
theorem mem_range_mulIndicator {r : M} {s : Set α} {f : α → M} :
    r ∈ range (mulIndicator s f) ↔ r = 1 ∧ s ≠ univ ∨ r ∈ f '' s 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {r : M} {s : Set α} {f : α → M}
Goal: r ∈ Set.range (s.indicator f) ↔ r = 0 ∧ s ≠ Set.univ ∨ r ∈ f '' s
-- Set.indicator_rel_indicator
@[to_additive]
theorem mulIndicator_rel_mulIndicator {r : M → M → Prop} (h1 : r 1 1) (ha : a ∈ s → r (f a) (g a)) :
    r (mulIndicator s f a) (mulIndicator s g a) 
Arguments: {α : Type u_1} {M : Type u_4} [Zero M] {s : Set α} {f g : α → M} {a : α} {r : M → M → Prop} (h1 : r 0 0) (ha : a ∈ s → r (f a) (g a))
Goal: r (s.indicator f a) (s.indicator g a)
-- Set.mulIndicator_rel_mulIndicator
@[to_additive]
theorem mulIndicator_rel_mulIndicator {r : M → M → Prop} (h1 : r 1 1) (ha : a ∈ s → r (f a) (g a)) :
    r (mulIndicator s f a) (mulIndicator s g a) 
Arguments: {α : Type u_1} {M : Type u_4} [One M] {s : Set α} {f g : α → M} {a : α} {r : M → M → Prop} (h1 : r 1 1) (ha : a ∈ s → r (f a) (g a))
Goal: r (s.mulIndicator f a) (s.mulIndicator g a)
-- Set.indicator_union_add_inter_apply
@[to_additive]
theorem mulIndicator_union_mul_inter_apply (f : α → M) (s t : Set α) (a : α) :
    mulIndicator (s ∪ t) f a * mulIndicator (s ∩ t) f a
      = mulIndicator s f a * mulIndicator t f a 
Arguments: {α : Type u_1} {M : Type u_4} [AddZeroClass M] (f : α → M) (s t : Set α) (a : α)
Goal: (s ∪ t).indicator f a + (s ∩ t).indicator f a = s.indicator f a + t.indicator f a
-- Set.mulIndicator_union_mul_inter_apply
@[to_additive]
theorem mulIndicator_union_mul_inter_apply (f : α → M) (s t : Set α) (a : α) :
    mulIndicator (s ∪ t) f a * mulIndicator (s ∩ t) f a
      = mulIndicator s f a * mulIndicator t f a 
Arguments: {α : Type u_1} {M : Type u_4} [MulOneClass M] (f : α → M) (s t : Set α) (a : α)
Goal: (s ∪ t).mulIndicator f a * (s ∩ t).mulIndicator f a = s.mulIndicator f a * t.mulIndicator f a
-- Set.mulIndicator_union_mul_inter
@[to_additive]
theorem mulIndicator_union_mul_inter (f : α → M) (s t : Set α) :
    mulIndicator (s ∪ t) f * mulIndicator (s ∩ t) f = mulIndicator s f * mulIndicator t f 
Arguments: {α : Type u_1} {M : Type u_4} [MulOneClass M] (f : α → M) (s t : Set α)
Goal: (s ∪ t).mulIndicator f * (s ∩ t).mulIndicator f = s.mulIndicator f * t.mulIndicator f
-- Set.indicator_union_add_inter
@[to_additive]
theorem mulIndicator_union_mul_inter (f : α → M) (s t : Set α) :
    mulIndicator (s ∪ t) f * mulIndicator (s ∩ t) f = mulIndicator s f * mulIndicator t f 
Arguments: {α : Type u_1} {M : Type u_4} [AddZeroClass M] (f : α → M) (s t : Set α)
Goal: (s ∪ t).indicator f + (s ∩ t).indicator f = s.indicator f + t.indicator f
-- Set.indicator_union_of_not_mem_inter
@[to_additive]
theorem mulIndicator_union_of_not_mem_inter (h : a ∉ s ∩ t) (f : α → M) :
    mulIndicator (s ∪ t) f a = mulIndicator s f a * mulIndicator t f a 
Arguments: {α : Type u_1} {M : Type u_4} [AddZeroClass M] {s t : Set α} {a : α} (h : a ∉ s ∩ t) (f : α → M)
Goal: (s ∪ t).indicator f a = s.indicator f a + t.indicator f a
-- Set.mulIndicator_union_of_not_mem_inter
@[to_additive]
theorem mulIndicator_union_of_not_mem_inter (h : a ∉ s ∩ t) (f : α → M) :
    mulIndicator (s ∪ t) f a = mulIndicator s f a * mulIndicator t f a 
Arguments: {α : Type u_1} {M : Type u_4} [MulOneClass M] {s t : Set α} {a : α} (h : a ∉ s ∩ t) (f : α → M)
Goal: (s ∪ t).mulIndicator f a = s.mulIndicator f a * t.mulIndicator f a
-- Set.mulIndicator_union_of_disjoint
@[to_additive]
theorem mulIndicator_union_of_disjoint (h : Disjoint s t) (f : α → M) :
    mulIndicator (s ∪ t) f = fun a => mulIndicator s f a * mulIndicator t f a 
Arguments: {α : Type u_1} {M : Type u_4} [MulOneClass M] {s t : Set α} (h : Disjoint s t) (f : α → M)
Goal: (s ∪ t).mulIndicator f = fun a => s.mulIndicator f a * t.mulIndicator f a
-- Set.indicator_union_of_disjoint
@[to_additive]
theorem mulIndicator_union_of_disjoint (h : Disjoint s t) (f : α → M) :
    mulIndicator (s ∪ t) f = fun a => mulIndicator s f a * mulIndicator t f a 
Arguments: {α : Type u_1} {M : Type u_4} [AddZeroClass M] {s t : Set α} (h : Disjoint s t) (f : α → M)
Goal: (s ∪ t).indicator f = fun a => s.indicator f a + t.indicator f a