ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Finset.card_le_card_biUnion
theorem card_le_card_biUnion {s : Finset ι} {f : ι → Finset α} (hs : (s : Set ι).PairwiseDisjoint f)
    (hf : ∀ i ∈ s, (f i).Nonempty) : s.card ≤ (s.biUnion f).card 
Arguments: {ι : Type u_1} {α : Type u_2} [DecidableEq α] {s : Finset ι} {f : ι → Finset α} (hs : (↑s).PairwiseDisjoint f) (hf : ∀ i ∈ s, (f i).Nonempty)
Goal: s.card ≤ (s.biUnion f).card
-- Finset.card_le_card_biUnion_add_card_fiber
theorem card_le_card_biUnion_add_card_fiber {s : Finset ι} {f : ι → Finset α}
    (hs : (s : Set ι).PairwiseDisjoint f) :
    s.card ≤ (s.biUnion f).card + (s.filter fun i ↦ f i = ∅).card 
Arguments: {ι : Type u_1} {α : Type u_2} [DecidableEq α] {s : Finset ι} {f : ι → Finset α} (hs : (↑s).PairwiseDisjoint f)
Goal: s.card ≤ (s.biUnion f).card + (Finset.filter (fun i => f i = ∅) s).card
-- Finset.card_le_card_biUnion_add_one
theorem card_le_card_biUnion_add_one {s : Finset ι} {f : ι → Finset α} (hf : Injective f)
    (hs : (s : Set ι).PairwiseDisjoint f) : s.card ≤ (s.biUnion f).card + 1 
Arguments: {ι : Type u_1} {α : Type u_2} [DecidableEq α] {s : Finset ι} {f : ι → Finset α} (hf : Function.Injective f) (hs : (↑s).PairwiseDisjoint f)
Goal: s.card ≤ (s.biUnion f).card + 1
-- CanonicallyOrderedCommMonoid.single_le_prod
@[to_additive "In a canonically-ordered additive monoid, a sum bounds each of its terms.

See also `Finset.single_le_sum`."]
lemma _root_.CanonicallyOrderedCommMonoid.single_le_prod {i : ι} (hi : i ∈ s) :
    f i ≤ ∏ j ∈ s, f j 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedCommMonoid M] {f : ι → M} {s : Finset ι} {i : ι} (hi : i ∈ s)
Goal: f i ≤ ∏ j ∈ s, f j
-- CanonicallyOrderedAddCommMonoid.single_le_sum
@[to_additive "In a canonically-ordered additive monoid, a sum bounds each of its terms.

See also `Finset.single_le_sum`."]
lemma _root_.CanonicallyOrderedCommMonoid.single_le_prod {i : ι} (hi : i ∈ s) :
    f i ≤ ∏ j ∈ s, f j 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedAddCommMonoid M] {f : ι → M} {s : Finset ι} {i : ι} (hi : i ∈ s)
Goal: f i ≤ ∑ j ∈ s, f j
-- Finset.sum_eq_zero_iff
@[to_additive (attr := simp) sum_eq_zero_iff]
theorem prod_eq_one_iff' : ∏ x ∈ s, f x = 1 ↔ ∀ x ∈ s, f x = 1 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedAddCommMonoid M] {f : ι → M} {s : Finset ι}
Goal: ∑ x ∈ s, f x = 0 ↔ ∀ x ∈ s, f x = 0
-- Finset.prod_eq_one_iff'
@[to_additive (attr := simp) sum_eq_zero_iff]
theorem prod_eq_one_iff' : ∏ x ∈ s, f x = 1 ↔ ∀ x ∈ s, f x = 1 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedCommMonoid M] {f : ι → M} {s : Finset ι}
Goal: ∏ x ∈ s, f x = 1 ↔ ∀ x ∈ s, f x = 1
-- Finset.prod_le_prod_of_subset'
@[to_additive sum_le_sum_of_subset]
theorem prod_le_prod_of_subset' (h : s ⊆ t) : ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedCommMonoid M] {f : ι → M} {s t : Finset ι} (h : s ⊆ t)
Goal: ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x
-- Finset.sum_le_sum_of_subset
@[to_additive sum_le_sum_of_subset]
theorem prod_le_prod_of_subset' (h : s ⊆ t) : ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedAddCommMonoid M] {f : ι → M} {s t : Finset ι} (h : s ⊆ t)
Goal: ∑ x ∈ s, f x ≤ ∑ x ∈ t, f x
-- Finset.prod_mono_set'
@[to_additive sum_mono_set]
theorem prod_mono_set' (f : ι → M) : Monotone fun s ↦ ∏ x ∈ s, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedCommMonoid M] (f : ι → M)
Goal: Monotone fun s => ∏ x ∈ s, f x
-- Finset.sum_mono_set
@[to_additive sum_mono_set]
theorem prod_mono_set' (f : ι → M) : Monotone fun s ↦ ∏ x ∈ s, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedAddCommMonoid M] (f : ι → M)
Goal: Monotone fun s => ∑ x ∈ s, f x
-- Finset.prod_le_prod_of_ne_one'
@[to_additive sum_le_sum_of_ne_zero]
theorem prod_le_prod_of_ne_one' (h : ∀ x ∈ s, f x ≠ 1 → x ∈ t) :
    ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedCommMonoid M] {f : ι → M} {s t : Finset ι} (h : ∀ x ∈ s, f x ≠ 1 → x ∈ t)
Goal: ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x
-- Finset.sum_le_sum_of_ne_zero
@[to_additive sum_le_sum_of_ne_zero]
theorem prod_le_prod_of_ne_one' (h : ∀ x ∈ s, f x ≠ 1 → x ∈ t) :
    ∏ x ∈ s, f x ≤ ∏ x ∈ t, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [CanonicallyOrderedAddCommMonoid M] {f : ι → M} {s t : Finset ι} (h : ∀ x ∈ s, f x ≠ 0 → x ∈ t)
Goal: ∑ x ∈ s, f x ≤ ∑ x ∈ t, f x
-- Finset.sum_lt_sum
@[to_additive sum_lt_sum]
theorem prod_lt_prod' (hle : ∀ i ∈ s, f i ≤ g i) (hlt : ∃ i ∈ s, f i < g i) :
    ∏ i ∈ s, f i < ∏ i ∈ s, g i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f g : ι → M} {s : Finset ι} (hle : ∀ i ∈ s, f i ≤ g i) (hlt : ∃ i ∈ s, f i < g i)
Goal: ∑ i ∈ s, f i < ∑ i ∈ s, g i
-- Finset.prod_lt_prod'
@[to_additive sum_lt_sum]
theorem prod_lt_prod' (hle : ∀ i ∈ s, f i ≤ g i) (hlt : ∃ i ∈ s, f i < g i) :
    ∏ i ∈ s, f i < ∏ i ∈ s, g i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f g : ι → M} {s : Finset ι} (hle : ∀ i ∈ s, f i ≤ g i) (hlt : ∃ i ∈ s, f i < g i)
Goal: ∏ i ∈ s, f i < ∏ i ∈ s, g i
-- Finset.prod_lt_prod_of_nonempty'
@[to_additive sum_lt_sum_of_nonempty]
theorem prod_lt_prod_of_nonempty' (hs : s.Nonempty) (hlt : ∀ i ∈ s, f i < g i) :
    ∏ i ∈ s, f i < ∏ i ∈ s, g i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f g : ι → M} {s : Finset ι} (hs : s.Nonempty) (hlt : ∀ i ∈ s, f i < g i)
Goal: ∏ i ∈ s, f i < ∏ i ∈ s, g i
-- Finset.sum_lt_sum_of_nonempty
@[to_additive sum_lt_sum_of_nonempty]
theorem prod_lt_prod_of_nonempty' (hs : s.Nonempty) (hlt : ∀ i ∈ s, f i < g i) :
    ∏ i ∈ s, f i < ∏ i ∈ s, g i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f g : ι → M} {s : Finset ι} (hs : s.Nonempty) (hlt : ∀ i ∈ s, f i < g i)
Goal: ∑ i ∈ s, f i < ∑ i ∈ s, g i
-- GCongr.sum_lt_sum_of_nonempty
@[to_additive (attr := gcongr) GCongr.sum_lt_sum_of_nonempty]
theorem _root_.GCongr.prod_lt_prod_of_nonempty' (hs : s.Nonempty) (Hlt : ∀ i ∈ s, f i < g i) :
    s.prod f < s.prod g 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f g : ι → M} {s : Finset ι} (hs : s.Nonempty) (Hlt : ∀ i ∈ s, f i < g i)
Goal: s.sum f < s.sum g
-- GCongr.prod_lt_prod_of_nonempty'
@[to_additive (attr := gcongr) GCongr.sum_lt_sum_of_nonempty]
theorem _root_.GCongr.prod_lt_prod_of_nonempty' (hs : s.Nonempty) (Hlt : ∀ i ∈ s, f i < g i) :
    s.prod f < s.prod g 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f g : ι → M} {s : Finset ι} (hs : s.Nonempty) (Hlt : ∀ i ∈ s, f i < g i)
Goal: s.prod f < s.prod g
-- Finset.prod_lt_prod_of_subset'
@[to_additive sum_lt_sum_of_subset]
theorem prod_lt_prod_of_subset' (h : s ⊆ t) {i : ι} (ht : i ∈ t) (hs : i ∉ s) (hlt : 1 < f i)
    (hle : ∀ j ∈ t, j ∉ s → 1 ≤ f j) : ∏ j ∈ s, f j < ∏ j ∈ t, f j 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s t : Finset ι} (h : s ⊆ t) {i : ι} (ht : i ∈ t) (hs : i ∉ s) (hlt : 1 < f i) (hle : ∀ j ∈ t, j ∉ s → 1 ≤ f j)
Goal: ∏ j ∈ s, f j < ∏ j ∈ t, f j
-- Finset.sum_lt_sum_of_subset
@[to_additive sum_lt_sum_of_subset]
theorem prod_lt_prod_of_subset' (h : s ⊆ t) {i : ι} (ht : i ∈ t) (hs : i ∉ s) (hlt : 1 < f i)
    (hle : ∀ j ∈ t, j ∉ s → 1 ≤ f j) : ∏ j ∈ s, f j < ∏ j ∈ t, f j 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s t : Finset ι} (h : s ⊆ t) {i : ι} (ht : i ∈ t) (hs : i ∉ s) (hlt : 0 < f i) (hle : ∀ j ∈ t, j ∉ s → 0 ≤ f j)
Goal: ∑ j ∈ s, f j < ∑ j ∈ t, f j
-- Finset.single_lt_sum
@[to_additive single_lt_sum]
theorem single_lt_prod' {i j : ι} (hij : j ≠ i) (hi : i ∈ s) (hj : j ∈ s) (hlt : 1 < f j)
    (hle : ∀ k ∈ s, k ≠ i → 1 ≤ f k) : f i < ∏ k ∈ s, f k 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s : Finset ι} {i j : ι} (hij : j ≠ i) (hi : i ∈ s) (hj : j ∈ s) (hlt : 0 < f j) (hle : ∀ k ∈ s, k ≠ i → 0 ≤ f k)
Goal: f i < ∑ k ∈ s, f k
-- Finset.single_lt_prod'
@[to_additive single_lt_sum]
theorem single_lt_prod' {i j : ι} (hij : j ≠ i) (hi : i ∈ s) (hj : j ∈ s) (hlt : 1 < f j)
    (hle : ∀ k ∈ s, k ≠ i → 1 ≤ f k) : f i < ∏ k ∈ s, f k 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s : Finset ι} {i j : ι} (hij : j ≠ i) (hi : i ∈ s) (hj : j ∈ s) (hlt : 1 < f j) (hle : ∀ k ∈ s, k ≠ i → 1 ≤ f k)
Goal: f i < ∏ k ∈ s, f k
-- Finset.one_lt_prod
@[to_additive sum_pos]
theorem one_lt_prod (h : ∀ i ∈ s, 1 < f i) (hs : s.Nonempty) : 1 < ∏ i ∈ s, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, 1 < f i) (hs : s.Nonempty)
Goal: 1 < ∏ i ∈ s, f i
-- Finset.sum_pos
@[to_additive sum_pos]
theorem one_lt_prod (h : ∀ i ∈ s, 1 < f i) (hs : s.Nonempty) : 1 < ∏ i ∈ s, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, 0 < f i) (hs : s.Nonempty)
Goal: 0 < ∑ i ∈ s, f i
-- Finset.sum_neg
@[to_additive]
theorem prod_lt_one (h : ∀ i ∈ s, f i < 1) (hs : s.Nonempty) : ∏ i ∈ s, f i < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, f i < 0) (hs : s.Nonempty)
Goal: ∑ i ∈ s, f i < 0
-- Finset.prod_lt_one
@[to_additive]
theorem prod_lt_one (h : ∀ i ∈ s, f i < 1) (hs : s.Nonempty) : ∏ i ∈ s, f i < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, f i < 1) (hs : s.Nonempty)
Goal: ∏ i ∈ s, f i < 1
-- Finset.sum_pos'
@[to_additive sum_pos']
theorem one_lt_prod' (h : ∀ i ∈ s, 1 ≤ f i) (hs : ∃ i ∈ s, 1 < f i) : 1 < ∏ i ∈ s, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, 0 ≤ f i) (hs : ∃ i ∈ s, 0 < f i)
Goal: 0 < ∑ i ∈ s, f i
-- Finset.one_lt_prod'
@[to_additive sum_pos']
theorem one_lt_prod' (h : ∀ i ∈ s, 1 ≤ f i) (hs : ∃ i ∈ s, 1 < f i) : 1 < ∏ i ∈ s, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, 1 ≤ f i) (hs : ∃ i ∈ s, 1 < f i)
Goal: 1 < ∏ i ∈ s, f i
-- Finset.prod_lt_one'
@[to_additive]
theorem prod_lt_one' (h : ∀ i ∈ s, f i ≤ 1) (hs : ∃ i ∈ s, f i < 1) : ∏ i ∈ s, f i < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, f i ≤ 1) (hs : ∃ i ∈ s, f i < 1)
Goal: ∏ i ∈ s, f i < 1
-- Finset.sum_neg'
@[to_additive]
theorem prod_lt_one' (h : ∀ i ∈ s, f i ≤ 1) (hs : ∃ i ∈ s, f i < 1) : ∏ i ∈ s, f i < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s : Finset ι} (h : ∀ i ∈ s, f i ≤ 0) (hs : ∃ i ∈ s, f i < 0)
Goal: ∑ i ∈ s, f i < 0
-- Finset.sum_eq_sum_iff_of_le
@[to_additive]
theorem prod_eq_prod_iff_of_le {f g : ι → M} (h : ∀ i ∈ s, f i ≤ g i) :
    ((∏ i ∈ s, f i) = ∏ i ∈ s, g i) ↔ ∀ i ∈ s, f i = g i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {s : Finset ι} {f g : ι → M} (h : ∀ i ∈ s, f i ≤ g i)
Goal: ∑ i ∈ s, f i = ∑ i ∈ s, g i ↔ ∀ i ∈ s, f i = g i
-- Finset.prod_eq_prod_iff_of_le
@[to_additive]
theorem prod_eq_prod_iff_of_le {f g : ι → M} (h : ∀ i ∈ s, f i ≤ g i) :
    ((∏ i ∈ s, f i) = ∏ i ∈ s, g i) ↔ ∀ i ∈ s, f i = g i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {s : Finset ι} {f g : ι → M} (h : ∀ i ∈ s, f i ≤ g i)
Goal: ∏ i ∈ s, f i = ∏ i ∈ s, g i ↔ ∀ i ∈ s, f i = g i
-- Finset.sum_sdiff_le_sum_sdiff
@[to_additive] lemma prod_sdiff_le_prod_sdiff :
    ∏ i ∈ s \ t, f i ≤ ∏ i ∈ t \ s, f i ↔ ∏ i ∈ s, f i ≤ ∏ i ∈ t, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s t : Finset ι} [DecidableEq ι]
Goal: ∑ i ∈ s \ t, f i ≤ ∑ i ∈ t \ s, f i ↔ ∑ i ∈ s, f i ≤ ∑ i ∈ t, f i
-- Finset.prod_sdiff_le_prod_sdiff
@[to_additive] lemma prod_sdiff_le_prod_sdiff :
    ∏ i ∈ s \ t, f i ≤ ∏ i ∈ t \ s, f i ↔ ∏ i ∈ s, f i ≤ ∏ i ∈ t, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s t : Finset ι} [DecidableEq ι]
Goal: ∏ i ∈ s \ t, f i ≤ ∏ i ∈ t \ s, f i ↔ ∏ i ∈ s, f i ≤ ∏ i ∈ t, f i
-- Finset.prod_sdiff_lt_prod_sdiff
@[to_additive] lemma prod_sdiff_lt_prod_sdiff :
    ∏ i ∈ s \ t, f i < ∏ i ∈ t \ s, f i ↔ ∏ i ∈ s, f i < ∏ i ∈ t, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelCommMonoid M] {f : ι → M} {s t : Finset ι} [DecidableEq ι]
Goal: ∏ i ∈ s \ t, f i < ∏ i ∈ t \ s, f i ↔ ∏ i ∈ s, f i < ∏ i ∈ t, f i
-- Finset.sum_sdiff_lt_sum_sdiff
@[to_additive] lemma prod_sdiff_lt_prod_sdiff :
    ∏ i ∈ s \ t, f i < ∏ i ∈ t \ s, f i ↔ ∏ i ∈ s, f i < ∏ i ∈ t, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [OrderedCancelAddCommMonoid M] {f : ι → M} {s t : Finset ι} [DecidableEq ι]
Goal: ∑ i ∈ s \ t, f i < ∑ i ∈ t \ s, f i ↔ ∑ i ∈ s, f i < ∑ i ∈ t, f i
-- Finset.exists_lt_of_sum_lt
@[to_additive exists_lt_of_sum_lt]
theorem exists_lt_of_prod_lt' (Hlt : ∏ i ∈ s, f i < ∏ i ∈ s, g i) : ∃ i ∈ s, f i < g i 
Arguments: {ι : Type u_1} {M : Type u_4} [LinearOrderedCancelAddCommMonoid M] {f g : ι → M} {s : Finset ι} (Hlt : ∑ i ∈ s, f i < ∑ i ∈ s, g i)
Goal: ∃ i ∈ s, f i < g i
-- Finset.exists_lt_of_prod_lt'
@[to_additive exists_lt_of_sum_lt]
theorem exists_lt_of_prod_lt' (Hlt : ∏ i ∈ s, f i < ∏ i ∈ s, g i) : ∃ i ∈ s, f i < g i 
Arguments: {ι : Type u_1} {M : Type u_4} [LinearOrderedCancelCommMonoid M] {f g : ι → M} {s : Finset ι} (Hlt : ∏ i ∈ s, f i < ∏ i ∈ s, g i)
Goal: ∃ i ∈ s, f i < g i
-- Finset.exists_le_of_sum_le
@[to_additive exists_le_of_sum_le]
theorem exists_le_of_prod_le' (hs : s.Nonempty) (Hle : ∏ i ∈ s, f i ≤ ∏ i ∈ s, g i) :
    ∃ i ∈ s, f i ≤ g i 
Arguments: {ι : Type u_1} {M : Type u_4} [LinearOrderedCancelAddCommMonoid M] {f g : ι → M} {s : Finset ι} (hs : s.Nonempty) (Hle : ∑ i ∈ s, f i ≤ ∑ i ∈ s, g i)
Goal: ∃ i ∈ s, f i ≤ g i
-- Finset.exists_le_of_prod_le'
@[to_additive exists_le_of_sum_le]
theorem exists_le_of_prod_le' (hs : s.Nonempty) (Hle : ∏ i ∈ s, f i ≤ ∏ i ∈ s, g i) :
    ∃ i ∈ s, f i ≤ g i 
Arguments: {ι : Type u_1} {M : Type u_4} [LinearOrderedCancelCommMonoid M] {f g : ι → M} {s : Finset ι} (hs : s.Nonempty) (Hle : ∏ i ∈ s, f i ≤ ∏ i ∈ s, g i)
Goal: ∃ i ∈ s, f i ≤ g i
-- Finset.exists_one_lt_of_prod_one_of_exists_ne_one'
@[to_additive exists_pos_of_sum_zero_of_exists_nonzero]
theorem exists_one_lt_of_prod_one_of_exists_ne_one' (f : ι → M) (h₁ : ∏ i ∈ s, f i = 1)
    (h₂ : ∃ i ∈ s, f i ≠ 1) : ∃ i ∈ s, 1 < f i 
Arguments: {ι : Type u_1} {M : Type u_4} [LinearOrderedCancelCommMonoid M] {s : Finset ι} (f : ι → M) (h₁ : ∏ i ∈ s, f i = 1) (h₂ : ∃ i ∈ s, f i ≠ 1)
Goal: ∃ i ∈ s, 1 < f i
-- Finset.exists_pos_of_sum_zero_of_exists_nonzero
@[to_additive exists_pos_of_sum_zero_of_exists_nonzero]
theorem exists_one_lt_of_prod_one_of_exists_ne_one' (f : ι → M) (h₁ : ∏ i ∈ s, f i = 1)
    (h₂ : ∃ i ∈ s, f i ≠ 1) : ∃ i ∈ s, 1 < f i 
Arguments: {ι : Type u_1} {M : Type u_4} [LinearOrderedCancelAddCommMonoid M] {s : Finset ι} (f : ι → M) (h₁ : ∑ i ∈ s, f i = 0) (h₂ : ∃ i ∈ s, f i ≠ 0)
Goal: ∃ i ∈ s, 0 < f i
-- Fintype.sum_mono
@[to_additive (attr := mono) sum_mono]
theorem prod_mono' : Monotone fun f : ι → M ↦ ∏ i, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedAddCommMonoid M]
Goal: Monotone fun f => ∑ i : ι, f i
-- Fintype.prod_mono'
@[to_additive (attr := mono) sum_mono]
theorem prod_mono' : Monotone fun f : ι → M ↦ ∏ i, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCommMonoid M]
Goal: Monotone fun f => ∏ i : ι, f i
-- Fintype.one_le_prod
@[to_additive sum_nonneg]
lemma one_le_prod (hf : 1 ≤ f) : 1 ≤ ∏ i, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCommMonoid M] {f : ι → M} (hf : 1 ≤ f)
Goal: 1 ≤ ∏ i : ι, f i
-- Fintype.sum_nonneg
@[to_additive sum_nonneg]
lemma one_le_prod (hf : 1 ≤ f) : 1 ≤ ∏ i, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedAddCommMonoid M] {f : ι → M} (hf : 0 ≤ f)
Goal: 0 ≤ ∑ i : ι, f i
-- Fintype.sum_nonpos
@[to_additive] lemma prod_le_one (hf : f ≤ 1) : ∏ i, f i ≤ 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedAddCommMonoid M] {f : ι → M} (hf : f ≤ 0)
Goal: ∑ i : ι, f i ≤ 0
-- Fintype.prod_le_one
@[to_additive] lemma prod_le_one (hf : f ≤ 1) : ∏ i, f i ≤ 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCommMonoid M] {f : ι → M} (hf : f ≤ 1)
Goal: ∏ i : ι, f i ≤ 1
-- Fintype.sum_eq_zero_iff_of_nonneg
@[to_additive]
lemma prod_eq_one_iff_of_one_le (hf : 1 ≤ f) : ∏ i, f i = 1 ↔ f = 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedAddCommMonoid M] {f : ι → M} (hf : 0 ≤ f)
Goal: ∑ i : ι, f i = 0 ↔ f = 0
-- Fintype.prod_eq_one_iff_of_one_le
@[to_additive]
lemma prod_eq_one_iff_of_one_le (hf : 1 ≤ f) : ∏ i, f i = 1 ↔ f = 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCommMonoid M] {f : ι → M} (hf : 1 ≤ f)
Goal: ∏ i : ι, f i = 1 ↔ f = 1
-- Fintype.prod_eq_one_iff_of_le_one
@[to_additive]
lemma prod_eq_one_iff_of_le_one (hf : f ≤ 1) : ∏ i, f i = 1 ↔ f = 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCommMonoid M] {f : ι → M} (hf : f ≤ 1)
Goal: ∏ i : ι, f i = 1 ↔ f = 1
-- Fintype.sum_eq_zero_iff_of_nonpos
@[to_additive]
lemma prod_eq_one_iff_of_le_one (hf : f ≤ 1) : ∏ i, f i = 1 ↔ f = 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedAddCommMonoid M] {f : ι → M} (hf : f ≤ 0)
Goal: ∑ i : ι, f i = 0 ↔ f = 0
-- Fintype.prod_strictMono'
@[to_additive sum_strictMono]
theorem prod_strictMono' : StrictMono fun f : ι → M ↦ ∏ x, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelCommMonoid M]
Goal: StrictMono fun f => ∏ x : ι, f x
-- Fintype.sum_strictMono
@[to_additive sum_strictMono]
theorem prod_strictMono' : StrictMono fun f : ι → M ↦ ∏ x, f x 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelAddCommMonoid M]
Goal: StrictMono fun f => ∑ x : ι, f x
-- Fintype.sum_pos
@[to_additive sum_pos]
lemma one_lt_prod (hf : 1 < f) : 1 < ∏ i, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelAddCommMonoid M] {f : ι → M} (hf : 0 < f)
Goal: 0 < ∑ i : ι, f i
-- Fintype.one_lt_prod
@[to_additive sum_pos]
lemma one_lt_prod (hf : 1 < f) : 1 < ∏ i, f i 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelCommMonoid M] {f : ι → M} (hf : 1 < f)
Goal: 1 < ∏ i : ι, f i
-- Fintype.prod_lt_one
@[to_additive]
lemma prod_lt_one (hf : f < 1) : ∏ i, f i < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelCommMonoid M] {f : ι → M} (hf : f < 1)
Goal: ∏ i : ι, f i < 1
-- Fintype.sum_neg
@[to_additive]
lemma prod_lt_one (hf : f < 1) : ∏ i, f i < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelAddCommMonoid M] {f : ι → M} (hf : f < 0)
Goal: ∑ i : ι, f i < 0
-- Fintype.one_lt_prod_iff_of_one_le
@[to_additive sum_pos_iff_of_nonneg]
lemma one_lt_prod_iff_of_one_le (hf : 1 ≤ f) : 1 < ∏ i, f i ↔ 1 < f 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelCommMonoid M] {f : ι → M} (hf : 1 ≤ f)
Goal: 1 < ∏ i : ι, f i ↔ 1 < f
-- Fintype.sum_pos_iff_of_nonneg
@[to_additive sum_pos_iff_of_nonneg]
lemma one_lt_prod_iff_of_one_le (hf : 1 ≤ f) : 1 < ∏ i, f i ↔ 1 < f 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelAddCommMonoid M] {f : ι → M} (hf : 0 ≤ f)
Goal: 0 < ∑ i : ι, f i ↔ 0 < f
-- Fintype.prod_lt_one_iff_of_le_one
@[to_additive]
lemma prod_lt_one_iff_of_le_one (hf : f ≤ 1) : ∏ i, f i < 1 ↔ f < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelCommMonoid M] {f : ι → M} (hf : f ≤ 1)
Goal: ∏ i : ι, f i < 1 ↔ f < 1
-- Fintype.sum_neg_iff_of_nonpos
@[to_additive]
lemma prod_lt_one_iff_of_le_one (hf : f ≤ 1) : ∏ i, f i < 1 ↔ f < 1 
Arguments: {ι : Type u_1} {M : Type u_4} [Fintype ι] [OrderedCancelAddCommMonoid M] {f : ι → M} (hf : f ≤ 0)
Goal: ∑ i : ι, f i < 0 ↔ f < 0
-- Multiset.finset_sum_eq_sup_iff_disjoint
theorem finset_sum_eq_sup_iff_disjoint [DecidableEq α] {β : Type*} {i : Finset β}
    {f : β → Multiset α} :
    i.sum f = i.sup f ↔
      ∀ᵉ (x ∈ i) (y ∈ i), x ≠ y → Multiset.Disjoint (f x) (f y) 
Arguments: {α : Type u_2} [DecidableEq α] {β : Type u_9} {i : Finset β} {f : β → Multiset α}
Goal: i.sum f = i.sup f ↔ ∀ x ∈ i, ∀ y ∈ i, x ≠ y → (f x).Disjoint (f y)
-- Multiset.sup_powerset_len
theorem sup_powerset_len {α : Type*} [DecidableEq α] (x : Multiset α) :
    (Finset.sup (Finset.range (card x + 1)) fun k => x.powersetCard k) = x.powerset 
Arguments: {α : Type u_9} [DecidableEq α] (x : Multiset α)
Goal: ((Finset.range (Multiset.card x + 1)).sup fun k => Multiset.powersetCard k x) = x.powerset
-- LieAlgebra.HasTrivialRadical.radical_eq_bot
class HasTrivialRadical : Prop where
  radical_eq_bot : radical R L = ⊥
Arguments: {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] [self : LieAlgebra.HasTrivialRadical R L]
Goal: LieAlgebra.radical R L = ⊥
-- LieAlgebra.IsSimple.eq_bot_or_eq_top
class IsSimple : Prop where
  eq_bot_or_eq_top : ∀ I : LieIdeal R L, I = ⊥ ∨ I = ⊤
  non_abelian : ¬IsLieAbelian L
Arguments: {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] [self : LieAlgebra.IsSimple R L] (I : LieIdeal R L)
Goal: I = ⊥ ∨ I = ⊤
-- LieAlgebra.IsSimple.non_abelian
class IsSimple : Prop where
  eq_bot_or_eq_top : ∀ I : LieIdeal R L, I = ⊥ ∨ I = ⊤
  non_abelian : ¬IsLieAbelian L
Arguments: (R : Type u_1) {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] [self : LieAlgebra.IsSimple R L]
Goal: ¬IsLieAbelian L
-- LieAlgebra.IsSemisimple.setIndependent_isAtom
class IsSemisimple : Prop where
    sSup_atoms_eq_top : sSup {I : LieIdeal R L | IsAtom I} = ⊤
    setIndependent_isAtom : CompleteLattice.SetIndependent {I : LieIdeal R L | IsAtom I}
    non_abelian_of_isAtom : ∀ I : LieIdeal R L, IsAtom I → ¬ IsLieAbelian I
Arguments: {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] [self : LieAlgebra.IsSemisimple R L]
Goal: CompleteLattice.SetIndependent {I | IsAtom I}
-- LieAlgebra.IsSemisimple.sSup_atoms_eq_top
class IsSemisimple : Prop where
    sSup_atoms_eq_top : sSup {I : LieIdeal R L | IsAtom I} = ⊤
    setIndependent_isAtom : CompleteLattice.SetIndependent {I : LieIdeal R L | IsAtom I}
    non_abelian_of_isAtom : ∀ I : LieIdeal R L, IsAtom I → ¬ IsLieAbelian I
Arguments: {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] [self : LieAlgebra.IsSemisimple R L]
Goal: sSup {I | IsAtom I} = ⊤
-- LieAlgebra.IsSemisimple.non_abelian_of_isAtom
class IsSemisimple : Prop where
    sSup_atoms_eq_top : sSup {I : LieIdeal R L | IsAtom I} = ⊤
    setIndependent_isAtom : CompleteLattice.SetIndependent {I : LieIdeal R L | IsAtom I}
    non_abelian_of_isAtom : ∀ I : LieIdeal R L, IsAtom I → ¬ IsLieAbelian I
Arguments: {R : Type u_1} {L : Type u_2} [CommRing R] [LieRing L] [LieAlgebra R L] [self : LieAlgebra.IsSemisimple R L] (I : LieIdeal R L)
Goal: IsAtom I → ¬IsLieAbelian ↥↑I
-- CategoryTheory.BraidedCategory.hexagon_reverse
class BraidedCategory (C : Type u) [Category.{v} C] [MonoidalCategory.{v} C] where
    braiding : ∀ X Y : C, X ⊗ Y ≅ Y ⊗ X
  braiding_naturality_right :
    ∀ (X : C) {Y Z : C} (f : Y ⟶ Z),
      X ◁ f ≫ (braiding X Z).hom = (braiding X Y).hom ≫ f ▷ X := by
    aesop_cat
  braiding_naturality_left :
    ∀ {X Y : C} (f : X ⟶ Y) (Z : C),
      f ▷ Z ≫ (braiding Y Z).hom = (braiding X Z).hom ≫ Z ◁ f := by
    aesop_cat
    hexagon_forward :
    ∀ X Y Z : C,
      (α_ X Y Z).hom ≫ (braiding X (Y ⊗ Z)).hom ≫ (α_ Y Z X).hom =
        ((braiding X Y).hom ▷ Z) ≫ (α_ Y X Z).hom ≫ (Y ◁ (braiding X Z).hom) := by
    aesop_cat
    hexagon_reverse :
    ∀ X Y Z : C,
      (α_ X Y Z).inv ≫ (braiding (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv =
        (X ◁ (braiding Y Z).hom) ≫ (α_ X Z Y).inv ≫ ((braiding X Z).hom ▷ Y) := by
    aesop_cat
Arguments: {C : Type u} [CategoryTheory.Category.{v, u} C] [CategoryTheory.MonoidalCategory C] [self : CategoryTheory.BraidedCategory C] (X Y Z : C)
Goal: (α_ X Y Z).inv ≫ (β_ (X ⊗ Y) Z).hom ≫ (α_ Z X Y).inv = X ◁ (β_ Y Z).hom ≫ (α_ X Z Y).inv ≫ (β_ X Z).hom ▷ Y