ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- NonemptyInterval.snd_add
@[to_additive]
theorem snd_mul : (s * t).snd = s.snd * t.snd 
Arguments: {α : Type u_2} [Preorder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: (s + t).toProd.2 = s.toProd.2 + t.toProd.2
-- NonemptyInterval.snd_mul
@[to_additive]
theorem snd_mul : (s * t).snd = s.snd * t.snd 
Arguments: {α : Type u_2} [Preorder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: (s * t).toProd.2 = s.toProd.2 * t.toProd.2
-- NonemptyInterval.coe_mul_interval
@[to_additive (attr := simp)]
theorem coe_mul_interval : (↑(s * t) : Interval α) = s * t 
Arguments: {α : Type u_2} [Preorder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: ↑(s * t) = ↑s * ↑t
-- NonemptyInterval.coe_add_interval
@[to_additive (attr := simp)]
theorem coe_mul_interval : (↑(s * t) : Interval α) = s * t 
Arguments: {α : Type u_2} [Preorder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: ↑(s + t) = ↑s + ↑t
-- NonemptyInterval.pure_add_pure
@[to_additive (attr := simp)]
theorem pure_mul_pure : pure a * pure b = pure (a * b) 
Arguments: {α : Type u_2} [Preorder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b : α)
Goal: NonemptyInterval.pure a + NonemptyInterval.pure b = NonemptyInterval.pure (a + b)
-- NonemptyInterval.pure_mul_pure
@[to_additive (attr := simp)]
theorem pure_mul_pure : pure a * pure b = pure (a * b) 
Arguments: {α : Type u_2} [Preorder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a b : α)
Goal: NonemptyInterval.pure a * NonemptyInterval.pure b = NonemptyInterval.pure (a * b)
-- Interval.bot_mul
@[to_additive (attr := simp)]
theorem bot_mul : ⊥ * t = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (t : Interval α)
Goal: ⊥ * t = ⊥
-- Interval.bot_add
@[to_additive (attr := simp)]
theorem bot_mul : ⊥ * t = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (t : Interval α)
Goal: ⊥ + t = ⊥
-- Interval.add_bot
@[to_additive]
theorem mul_bot : s * ⊥ = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [Add α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s : Interval α)
Goal: s + ⊥ = ⊥
-- Interval.mul_bot
@[to_additive]
theorem mul_bot : s * ⊥ = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [Mul α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s : Interval α)
Goal: s * ⊥ = ⊥
-- NonemptyInterval.toProd_pow
@[to_additive (attr := simp) toProd_nsmul]
theorem toProd_pow : (s ^ n).toProd = s.toProd ^ n 
Arguments: {α : Type u_2} [Monoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s : NonemptyInterval α) (n : ℕ)
Goal: (s ^ n).toProd = s.toProd ^ n
-- NonemptyInterval.toProd_nsmul
@[to_additive (attr := simp) toProd_nsmul]
theorem toProd_pow : (s ^ n).toProd = s.toProd ^ n 
Arguments: {α : Type u_2} [AddMonoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s : NonemptyInterval α) (n : ℕ)
Goal: (n • s).toProd = n • s.toProd
-- NonemptyInterval.fst_pow
@[to_additive]
theorem fst_pow : (s ^ n).fst = s.fst ^ n 
Arguments: {α : Type u_2} [Monoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s : NonemptyInterval α) (n : ℕ)
Goal: (s ^ n).toProd.1 = s.toProd.1 ^ n
-- NonemptyInterval.fst_nsmul
@[to_additive]
theorem fst_pow : (s ^ n).fst = s.fst ^ n 
Arguments: {α : Type u_2} [AddMonoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s : NonemptyInterval α) (n : ℕ)
Goal: (n • s).toProd.1 = n • s.toProd.1
-- NonemptyInterval.snd_pow
@[to_additive]
theorem snd_pow : (s ^ n).snd = s.snd ^ n 
Arguments: {α : Type u_2} [Monoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s : NonemptyInterval α) (n : ℕ)
Goal: (s ^ n).toProd.2 = s.toProd.2 ^ n
-- NonemptyInterval.snd_nsmul
@[to_additive]
theorem snd_pow : (s ^ n).snd = s.snd ^ n 
Arguments: {α : Type u_2} [AddMonoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s : NonemptyInterval α) (n : ℕ)
Goal: (n • s).toProd.2 = n • s.toProd.2
-- NonemptyInterval.pure_pow
@[to_additive (attr := simp)]
theorem pure_pow : pure a ^ n = pure (a ^ n) 
Arguments: {α : Type u_2} [Monoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a : α) (n : ℕ)
Goal: NonemptyInterval.pure a ^ n = NonemptyInterval.pure (a ^ n)
-- NonemptyInterval.pure_nsmul
@[to_additive (attr := simp)]
theorem pure_pow : pure a ^ n = pure (a ^ n) 
Arguments: {α : Type u_2} [AddMonoid α] [Preorder α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] [CovariantClass α α (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a : α) (n : ℕ)
Goal: n • NonemptyInterval.pure a = NonemptyInterval.pure (n • a)
-- NonemptyInterval.coe_nsmul_interval
@[to_additive]
theorem coe_pow_interval [OrderedCommMonoid α] (s : NonemptyInterval α) (n : ℕ) :
    ↑(s ^ n) = (s : Interval α) ^ n 
Arguments: {α : Type u_2} [OrderedAddCommMonoid α] (s : NonemptyInterval α) (n : ℕ)
Goal: ↑(n • s) = n • ↑s
-- NonemptyInterval.coe_pow_interval
@[to_additive]
theorem coe_pow_interval [OrderedCommMonoid α] (s : NonemptyInterval α) (n : ℕ) :
    ↑(s ^ n) = (s : Interval α) ^ n 
Arguments: {α : Type u_2} [OrderedCommMonoid α] (s : NonemptyInterval α) (n : ℕ)
Goal: ↑(s ^ n) = ↑s ^ n
-- Interval.bot_pow
@[to_additive]
theorem bot_pow : ∀ {n : ℕ}, n ≠ 0 → (⊥ : Interval α) ^ n = ⊥
  
Arguments: {α : Type u_2} [OrderedCommMonoid α] {n : ℕ}
Goal: n ≠ 0 → ⊥ ^ n = ⊥
-- Interval.bot_nsmul
@[to_additive]
theorem bot_pow : ∀ {n : ℕ}, n ≠ 0 → (⊥ : Interval α) ^ n = ⊥
  
Arguments: {α : Type u_2} [OrderedAddCommMonoid α] {n : ℕ}
Goal: n ≠ 0 → n • ⊥ = ⊥
-- NonemptyInterval.fst_sub
@[simp]
theorem fst_sub : (s - t).fst = s.fst - t.snd 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: (s - t).toProd.1 = s.toProd.1 - t.toProd.2
-- NonemptyInterval.snd_sub
@[simp]
theorem snd_sub : (s - t).snd = s.snd - t.fst 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: (s - t).toProd.2 = s.toProd.2 - t.toProd.1
-- NonemptyInterval.coe_sub_interval
@[simp]
theorem coe_sub_interval : (↑(s - t) : Interval α) = s - t 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: ↑(s - t) = ↑s - ↑t
-- NonemptyInterval.sub_mem_sub
theorem sub_mem_sub (ha : a ∈ s) (hb : b ∈ t) : a - b ∈ s - t 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α) {a b : α} (ha : a ∈ s) (hb : b ∈ t)
Goal: a - b ∈ s - t
-- NonemptyInterval.pure_sub_pure
@[simp]
theorem pure_sub_pure (a b : α) : pure a - pure b = pure (a - b) 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (a b : α)
Goal: NonemptyInterval.pure a - NonemptyInterval.pure b = NonemptyInterval.pure (a - b)
-- Interval.bot_sub
@[simp]
theorem bot_sub : ⊥ - t = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (t : Interval α)
Goal: ⊥ - t = ⊥
-- Interval.sub_bot
@[simp]
theorem sub_bot : s - ⊥ = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [AddCommSemigroup α] [Sub α] [OrderedSub α] [CovariantClass α α (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1] (s : Interval α)
Goal: s - ⊥ = ⊥
-- NonemptyInterval.fst_div
@[to_additive existing (attr := simp)]
theorem fst_div : (s / t).fst = s.fst / t.snd 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: (s / t).toProd.1 = s.toProd.1 / t.toProd.2
-- NonemptyInterval.snd_div
@[to_additive existing (attr := simp)]
theorem snd_div : (s / t).snd = s.snd / t.fst 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: (s / t).toProd.2 = s.toProd.2 / t.toProd.1
-- NonemptyInterval.coe_div_interval
@[to_additive existing (attr := simp)]
theorem coe_div_interval : (↑(s / t) : Interval α) = s / t 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α)
Goal: ↑(s / t) = ↑s / ↑t
-- NonemptyInterval.div_mem_div
@[to_additive existing]
theorem div_mem_div (ha : a ∈ s) (hb : b ∈ t) : a / b ∈ s / t 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s t : NonemptyInterval α) (a b : α) (ha : a ∈ s) (hb : b ∈ t)
Goal: a / b ∈ s / t
-- NonemptyInterval.pure_div_pure
@[to_additive existing (attr := simp)]
theorem pure_div_pure : pure a / pure b = pure (a / b) 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (a b : α)
Goal: NonemptyInterval.pure a / NonemptyInterval.pure b = NonemptyInterval.pure (a / b)
-- Interval.bot_div
@[to_additive existing (attr := simp)]
theorem bot_div : ⊥ / t = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (t : Interval α)
Goal: ⊥ / t = ⊥
-- Interval.div_bot
@[to_additive existing (attr := simp)]
theorem div_bot : s / ⊥ = ⊥ 
Arguments: {α : Type u_2} [Preorder α] [CommGroup α] [CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1] (s : Interval α)
Goal: s / ⊥ = ⊥
-- NonemptyInterval.fst_inv
@[to_additive (attr := simp)]
theorem fst_inv : s⁻¹.fst = s.snd⁻¹ 
Arguments: {α : Type u_2} [OrderedCommGroup α] (s : NonemptyInterval α)
Goal: s⁻¹.toProd.1 = s.toProd.2⁻¹
-- NonemptyInterval.fst_neg
@[to_additive (attr := simp)]
theorem fst_inv : s⁻¹.fst = s.snd⁻¹ 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : NonemptyInterval α)
Goal: (-s).toProd.1 = -s.toProd.2
-- NonemptyInterval.snd_inv
@[to_additive (attr := simp)]
theorem snd_inv : s⁻¹.snd = s.fst⁻¹ 
Arguments: {α : Type u_2} [OrderedCommGroup α] (s : NonemptyInterval α)
Goal: s⁻¹.toProd.2 = s.toProd.1⁻¹
-- NonemptyInterval.snd_neg
@[to_additive (attr := simp)]
theorem snd_inv : s⁻¹.snd = s.fst⁻¹ 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : NonemptyInterval α)
Goal: (-s).toProd.2 = -s.toProd.1
-- NonemptyInterval.coe_neg_interval
@[to_additive (attr := simp)]
theorem coe_inv_interval : (↑(s⁻¹) : Interval α) = (↑s)⁻¹ 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : NonemptyInterval α)
Goal: ↑(-s) = -↑s
-- NonemptyInterval.coe_inv_interval
@[to_additive (attr := simp)]
theorem coe_inv_interval : (↑(s⁻¹) : Interval α) = (↑s)⁻¹ 
Arguments: {α : Type u_2} [OrderedCommGroup α] (s : NonemptyInterval α)
Goal: ↑s⁻¹ = (↑s)⁻¹
-- NonemptyInterval.inv_mem_inv
@[to_additive]
theorem inv_mem_inv (ha : a ∈ s) : a⁻¹ ∈ s⁻¹ 
Arguments: {α : Type u_2} [OrderedCommGroup α] (s : NonemptyInterval α) (a : α) (ha : a ∈ s)
Goal: a⁻¹ ∈ s⁻¹
-- NonemptyInterval.neg_mem_neg
@[to_additive]
theorem inv_mem_inv (ha : a ∈ s) : a⁻¹ ∈ s⁻¹ 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : NonemptyInterval α) (a : α) (ha : a ∈ s)
Goal: -a ∈ -s
-- NonemptyInterval.inv_pure
@[to_additive (attr := simp)]
theorem inv_pure : (pure a)⁻¹ = pure a⁻¹ 
Arguments: {α : Type u_2} [OrderedCommGroup α] (a : α)
Goal: (NonemptyInterval.pure a)⁻¹ = NonemptyInterval.pure a⁻¹
-- NonemptyInterval.neg_pure
@[to_additive (attr := simp)]
theorem inv_pure : (pure a)⁻¹ = pure a⁻¹ 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (a : α)
Goal: -NonemptyInterval.pure a = NonemptyInterval.pure (-a)
-- Interval.neg_bot
@[to_additive (attr := simp)]
theorem Interval.inv_bot : (⊥ : Interval α)⁻¹ = ⊥ 
Arguments: {α : Type u_2} [OrderedAddCommGroup α]
Goal: -⊥ = ⊥
-- Interval.inv_bot
@[to_additive (attr := simp)]
theorem Interval.inv_bot : (⊥ : Interval α)⁻¹ = ⊥ 
Arguments: {α : Type u_2} [OrderedCommGroup α]
Goal: ⊥⁻¹ = ⊥
-- NonemptyInterval.mul_eq_one_iff
@[to_additive]
protected theorem mul_eq_one_iff : s * t = 1 ↔ ∃ a b, s = pure a ∧ t = pure b ∧ a * b = 1 
Arguments: {α : Type u_2} [OrderedCommGroup α] {s t : NonemptyInterval α}
Goal: s * t = 1 ↔ ∃ a b, s = NonemptyInterval.pure a ∧ t = NonemptyInterval.pure b ∧ a * b = 1
-- NonemptyInterval.add_eq_zero_iff
@[to_additive]
protected theorem mul_eq_one_iff : s * t = 1 ↔ ∃ a b, s = pure a ∧ t = pure b ∧ a * b = 1 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] {s t : NonemptyInterval α}
Goal: s + t = 0 ↔ ∃ a b, s = NonemptyInterval.pure a ∧ t = NonemptyInterval.pure b ∧ a + b = 0
-- Interval.add_eq_zero_iff
@[to_additive]
protected theorem mul_eq_one_iff : s * t = 1 ↔ ∃ a b, s = pure a ∧ t = pure b ∧ a * b = 1 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] {s t : Interval α}
Goal: s + t = 0 ↔ ∃ a b, s = Interval.pure a ∧ t = Interval.pure b ∧ a + b = 0
-- Interval.mul_eq_one_iff
@[to_additive]
protected theorem mul_eq_one_iff : s * t = 1 ↔ ∃ a b, s = pure a ∧ t = pure b ∧ a * b = 1 
Arguments: {α : Type u_2} [OrderedCommGroup α] {s t : Interval α}
Goal: s * t = 1 ↔ ∃ a b, s = Interval.pure a ∧ t = Interval.pure b ∧ a * b = 1
-- NonemptyInterval.length_nonneg
@[simp]
theorem length_nonneg : 0 ≤ s.length 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : NonemptyInterval α)
Goal: 0 ≤ s.length
-- NonemptyInterval.length_pure
@[simp]
theorem length_pure : (pure a).length = 0 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (a : α)
Goal: (NonemptyInterval.pure a).length = 0
-- NonemptyInterval.length_zero
@[simp]
theorem length_zero : (0 : NonemptyInterval α).length = 0 
Arguments: {α : Type u_2} [OrderedAddCommGroup α]
Goal: NonemptyInterval.length 0 = 0
-- NonemptyInterval.length_neg
@[simp]
theorem length_neg : (-s).length = s.length 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : NonemptyInterval α)
Goal: (-s).length = s.length
-- NonemptyInterval.length_add
@[simp]
theorem length_add : (s + t).length = s.length + t.length 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s t : NonemptyInterval α)
Goal: (s + t).length = s.length + t.length
-- NonemptyInterval.length_sub
@[simp]
theorem length_sub : (s - t).length = s.length + t.length 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s t : NonemptyInterval α)
Goal: (s - t).length = s.length + t.length
-- NonemptyInterval.length_sum
@[simp]
theorem length_sum (f : ι → NonemptyInterval α) (s : Finset ι) :
    (∑ i ∈ s, f i).length = ∑ i ∈ s, (f i).length 
Arguments: {ι : Type u_1} {α : Type u_2} [OrderedAddCommGroup α] (f : ι → NonemptyInterval α) (s : Finset ι)
Goal: (∑ i ∈ s, f i).length = ∑ i ∈ s, (f i).length
-- Interval.length_nonneg
@[simp]
theorem length_nonneg : ∀ s : Interval α, 0 ≤ s.length
  
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : Interval α)
Goal: 0 ≤ s.length
-- Interval.length_pure
@[simp]
theorem length_pure : (pure a).length = 0 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (a : α)
Goal: (Interval.pure a).length = 0
-- Interval.length_zero
@[simp]
theorem length_zero : (0 : Interval α).length = 0 
Arguments: {α : Type u_2} [OrderedAddCommGroup α]
Goal: Interval.length 0 = 0
-- Interval.length_neg
@[simp]
theorem length_neg : ∀ s : Interval α, (-s).length = s.length
  
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s : Interval α)
Goal: (-s).length = s.length
-- Interval.length_add_le
theorem length_add_le : ∀ s t : Interval α, (s + t).length ≤ s.length + t.length
  
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s t : Interval α)
Goal: (s + t).length ≤ s.length + t.length
-- Interval.length_sub_le
theorem length_sub_le : (s - t).length ≤ s.length + t.length 
Arguments: {α : Type u_2} [OrderedAddCommGroup α] (s t : Interval α)
Goal: (s - t).length ≤ s.length + t.length
-- Interval.length_sum_le
theorem length_sum_le (f : ι → Interval α) (s : Finset ι) :
    (∑ i ∈ s, f i).length ≤ ∑ i ∈ s, (f i).length 
Arguments: {ι : Type u_1} {α : Type u_2} [OrderedAddCommGroup α] (f : ι → Interval α) (s : Finset ι)
Goal: (∑ i ∈ s, f i).length ≤ ∑ i ∈ s, (f i).length
-- MonovaryOn.sum_smul_comp_perm_le_sum_smul
theorem MonovaryOn.sum_smul_comp_perm_le_sum_smul (hfg : MonovaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) : ∑ i ∈ s, f i • g (σ i) ≤ ∑ i ∈ s, f i • g i 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : MonovaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g (σ i) ≤ ∑ i ∈ s, f i • g i
-- MonovaryOn.sum_smul_comp_perm_eq_sum_smul_iff
theorem MonovaryOn.sum_smul_comp_perm_eq_sum_smul_iff (hfg : MonovaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f i • g (σ i) = ∑ i ∈ s, f i • g i ↔ MonovaryOn f (g ∘ σ) s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : MonovaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g (σ i) = ∑ i ∈ s, f i • g i ↔ MonovaryOn f (g ∘ ⇑σ) ↑s
-- MonovaryOn.sum_smul_comp_perm_lt_sum_smul_iff
theorem MonovaryOn.sum_smul_comp_perm_lt_sum_smul_iff (hfg : MonovaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f i • g (σ i) < ∑ i ∈ s, f i • g i ↔ ¬MonovaryOn f (g ∘ σ) s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : MonovaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g (σ i) < ∑ i ∈ s, f i • g i ↔ ¬MonovaryOn f (g ∘ ⇑σ) ↑s
-- MonovaryOn.sum_comp_perm_smul_le_sum_smul
theorem MonovaryOn.sum_comp_perm_smul_le_sum_smul (hfg : MonovaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) : ∑ i ∈ s, f (σ i) • g i ≤ ∑ i ∈ s, f i • g i 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : MonovaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f (σ i) • g i ≤ ∑ i ∈ s, f i • g i
-- MonovaryOn.sum_comp_perm_smul_eq_sum_smul_iff
theorem MonovaryOn.sum_comp_perm_smul_eq_sum_smul_iff (hfg : MonovaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f (σ i) • g i = ∑ i ∈ s, f i • g i ↔ MonovaryOn (f ∘ σ) g s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : MonovaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f (σ i) • g i = ∑ i ∈ s, f i • g i ↔ MonovaryOn (f ∘ ⇑σ) g ↑s
-- MonovaryOn.sum_comp_perm_smul_lt_sum_smul_iff
theorem MonovaryOn.sum_comp_perm_smul_lt_sum_smul_iff (hfg : MonovaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f (σ i) • g i < ∑ i ∈ s, f i • g i ↔ ¬MonovaryOn (f ∘ σ) g s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : MonovaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f (σ i) • g i < ∑ i ∈ s, f i • g i ↔ ¬MonovaryOn (f ∘ ⇑σ) g ↑s
-- AntivaryOn.sum_smul_le_sum_smul_comp_perm
theorem AntivaryOn.sum_smul_le_sum_smul_comp_perm (hfg : AntivaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) : ∑ i ∈ s, f i • g i ≤ ∑ i ∈ s, f i • g (σ i) 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : AntivaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g i ≤ ∑ i ∈ s, f i • g (σ i)
-- AntivaryOn.sum_smul_comp_perm_eq_sum_smul_iff
theorem AntivaryOn.sum_smul_comp_perm_eq_sum_smul_iff (hfg : AntivaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f i • g (σ i) = ∑ i ∈ s, f i • g i ↔ AntivaryOn f (g ∘ σ) s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : AntivaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g (σ i) = ∑ i ∈ s, f i • g i ↔ AntivaryOn f (g ∘ ⇑σ) ↑s
-- AntivaryOn.sum_smul_lt_sum_smul_comp_perm_iff
theorem AntivaryOn.sum_smul_lt_sum_smul_comp_perm_iff (hfg : AntivaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f i • g i < ∑ i ∈ s, f i • g (σ i) ↔ ¬AntivaryOn f (g ∘ σ) s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : AntivaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g i < ∑ i ∈ s, f i • g (σ i) ↔ ¬AntivaryOn f (g ∘ ⇑σ) ↑s
-- AntivaryOn.sum_smul_le_sum_comp_perm_smul
theorem AntivaryOn.sum_smul_le_sum_comp_perm_smul (hfg : AntivaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) : ∑ i ∈ s, f i • g i ≤ ∑ i ∈ s, f (σ i) • g i 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : AntivaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g i ≤ ∑ i ∈ s, f (σ i) • g i
-- AntivaryOn.sum_comp_perm_smul_eq_sum_smul_iff
theorem AntivaryOn.sum_comp_perm_smul_eq_sum_smul_iff (hfg : AntivaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f (σ i) • g i = ∑ i ∈ s, f i • g i ↔ AntivaryOn (f ∘ σ) g s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : AntivaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f (σ i) • g i = ∑ i ∈ s, f i • g i ↔ AntivaryOn (f ∘ ⇑σ) g ↑s
-- AntivaryOn.sum_smul_lt_sum_comp_perm_smul_iff
theorem AntivaryOn.sum_smul_lt_sum_comp_perm_smul_iff (hfg : AntivaryOn f g s)
    (hσ : {x | σ x ≠ x} ⊆ s) :
    ∑ i ∈ s, f i • g i < ∑ i ∈ s, f (σ i) • g i ↔ ¬AntivaryOn (f ∘ σ) g s 
Arguments: {ι : Type u_1} {α : Type u_2} {β : Type u_3} [LinearOrderedRing α] [LinearOrderedAddCommGroup β] [Module α β] [OrderedSMul α β] {s : Finset ι} {σ : Equiv.Perm ι} {f : ι → α} {g : ι → β} (hfg : AntivaryOn f g ↑s) (hσ : {x | σ x ≠ x} ⊆ ↑s)
Goal: ∑ i ∈ s, f i • g i < ∑ i ∈ s, f (σ i) • g i ↔ ¬AntivaryOn (f ∘ ⇑σ) g ↑s