ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- Polynomial.eval_neg
@[simp]
theorem eval_neg (p : R[X]) (x : R) : (-p).eval x = -p.eval x 
Arguments: {R : Type u} [Ring R] (p : R[X]) (x : R)
Goal: Polynomial.eval x (-p) = -Polynomial.eval x p
-- Polynomial.eval_sub
@[simp]
theorem eval_sub (p q : R[X]) (x : R) : (p - q).eval x = p.eval x - q.eval x 
Arguments: {R : Type u} [Ring R] (p q : R[X]) (x : R)
Goal: Polynomial.eval x (p - q) = Polynomial.eval x p - Polynomial.eval x q
-- Polynomial.root_X_sub_C
theorem root_X_sub_C : IsRoot (X - C a) b ↔ a = b 
Arguments: {R : Type u} {a b : R} [Ring R]
Goal: (Polynomial.X - Polynomial.C a).IsRoot b ↔ a = b
-- Polynomial.neg_comp
@[simp]
theorem neg_comp : (-p).comp q = -p.comp q 
Arguments: {R : Type u} [Ring R] {p q : R[X]}
Goal: (-p).comp q = -p.comp q
-- Polynomial.sub_comp
@[simp]
theorem sub_comp : (p - q).comp r = p.comp r - q.comp r 
Arguments: {R : Type u} [Ring R] {p q r : R[X]}
Goal: (p - q).comp r = p.comp r - q.comp r
-- Polynomial.intCast_comp
@[simp]
theorem intCast_comp (i : ℤ) : comp (i : R[X]) p = i 
Arguments: {R : Type u} [Ring R] {p : R[X]} (i : ℤ)
Goal: (↑i).comp p = ↑i
-- Polynomial.eval₂_at_intCast
@[simp]
theorem eval₂_at_intCast {S : Type*} [Ring S] (f : R →+* S) (n : ℤ) :
    p.eval₂ f n = f (p.eval n) 
Arguments: {R : Type u} [Ring R] {p : R[X]} {S : Type u_1} [Ring S] (f : R →+* S) (n : ℤ)
Goal: Polynomial.eval₂ f (↑n) p = f (Polynomial.eval (↑n) p)
-- Polynomial.mul_X_sub_intCast_comp
theorem mul_X_sub_intCast_comp {n : ℕ} :
    (p * (X - (n : R[X]))).comp q = p.comp q * (q - n) 
Arguments: {R : Type u} [Ring R] {p q : R[X]} {n : ℕ}
Goal: (p * (Polynomial.X - ↑n)).comp q = p.comp q * (q - ↑n)
-- IsUpperSet.smul_subset
@[to_additive]
theorem IsUpperSet.smul_subset (hs : IsUpperSet s) (hx : 1 ≤ x) : x • s ⊆ s 
Arguments: {α : Type u_1} [OrderedCommMonoid α] {s : Set α} {x : α} (hs : IsUpperSet s) (hx : 1 ≤ x)
Goal: x • s ⊆ s
-- IsUpperSet.vadd_subset
@[to_additive]
theorem IsUpperSet.smul_subset (hs : IsUpperSet s) (hx : 1 ≤ x) : x • s ⊆ s 
Arguments: {α : Type u_1} [OrderedAddCommMonoid α] {s : Set α} {x : α} (hs : IsUpperSet s) (hx : 0 ≤ x)
Goal: x +ᵥ s ⊆ s
-- IsLowerSet.smul_subset
@[to_additive]
theorem IsLowerSet.smul_subset (hs : IsLowerSet s) (hx : x ≤ 1) : x • s ⊆ s 
Arguments: {α : Type u_1} [OrderedCommMonoid α] {s : Set α} {x : α} (hs : IsLowerSet s) (hx : x ≤ 1)
Goal: x • s ⊆ s
-- IsLowerSet.vadd_subset
@[to_additive]
theorem IsLowerSet.smul_subset (hs : IsLowerSet s) (hx : x ≤ 1) : x • s ⊆ s 
Arguments: {α : Type u_1} [OrderedAddCommMonoid α] {s : Set α} {x : α} (hs : IsLowerSet s) (hx : x ≤ 0)
Goal: x +ᵥ s ⊆ s
-- IsUpperSet.vadd
@[to_additive]
theorem IsUpperSet.smul (hs : IsUpperSet s) : IsUpperSet (a • s) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s : Set α} {a : α} (hs : IsUpperSet s)
Goal: IsUpperSet (a +ᵥ s)
-- IsUpperSet.smul
@[to_additive]
theorem IsUpperSet.smul (hs : IsUpperSet s) : IsUpperSet (a • s) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s : Set α} {a : α} (hs : IsUpperSet s)
Goal: IsUpperSet (a • s)
-- IsLowerSet.smul
@[to_additive]
theorem IsLowerSet.smul (hs : IsLowerSet s) : IsLowerSet (a • s) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s : Set α} {a : α} (hs : IsLowerSet s)
Goal: IsLowerSet (a • s)
-- IsLowerSet.vadd
@[to_additive]
theorem IsLowerSet.smul (hs : IsLowerSet s) : IsLowerSet (a • s) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s : Set α} {a : α} (hs : IsLowerSet s)
Goal: IsLowerSet (a +ᵥ s)
-- Set.OrdConnected.vadd
@[to_additive]
theorem Set.OrdConnected.smul (hs : s.OrdConnected) : (a • s).OrdConnected 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s : Set α} {a : α} (hs : s.OrdConnected)
Goal: (a +ᵥ s).OrdConnected
-- Set.OrdConnected.smul
@[to_additive]
theorem Set.OrdConnected.smul (hs : s.OrdConnected) : (a • s).OrdConnected 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s : Set α} {a : α} (hs : s.OrdConnected)
Goal: (a • s).OrdConnected
-- IsUpperSet.add_left
@[to_additive]
theorem IsUpperSet.mul_left (ht : IsUpperSet t) : IsUpperSet (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (ht : IsUpperSet t)
Goal: IsUpperSet (s + t)
-- IsUpperSet.mul_left
@[to_additive]
theorem IsUpperSet.mul_left (ht : IsUpperSet t) : IsUpperSet (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (ht : IsUpperSet t)
Goal: IsUpperSet (s * t)
-- IsUpperSet.add_right
@[to_additive]
theorem IsUpperSet.mul_right (hs : IsUpperSet s) : IsUpperSet (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (hs : IsUpperSet s)
Goal: IsUpperSet (s + t)
-- IsUpperSet.mul_right
@[to_additive]
theorem IsUpperSet.mul_right (hs : IsUpperSet s) : IsUpperSet (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (hs : IsUpperSet s)
Goal: IsUpperSet (s * t)
-- IsLowerSet.add_left
@[to_additive]
theorem IsLowerSet.mul_left (ht : IsLowerSet t) : IsLowerSet (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (ht : IsLowerSet t)
Goal: IsLowerSet (s + t)
-- IsLowerSet.mul_left
@[to_additive]
theorem IsLowerSet.mul_left (ht : IsLowerSet t) : IsLowerSet (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (ht : IsLowerSet t)
Goal: IsLowerSet (s * t)
-- IsLowerSet.mul_right
@[to_additive]
theorem IsLowerSet.mul_right (hs : IsLowerSet s) : IsLowerSet (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (hs : IsLowerSet s)
Goal: IsLowerSet (s * t)
-- IsLowerSet.add_right
@[to_additive]
theorem IsLowerSet.mul_right (hs : IsLowerSet s) : IsLowerSet (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (hs : IsLowerSet s)
Goal: IsLowerSet (s + t)
-- IsUpperSet.inv
@[to_additive]
theorem IsUpperSet.inv (hs : IsUpperSet s) : IsLowerSet s⁻¹ 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s : Set α} (hs : IsUpperSet s)
Goal: IsLowerSet s⁻¹
-- IsUpperSet.neg
@[to_additive]
theorem IsUpperSet.inv (hs : IsUpperSet s) : IsLowerSet s⁻¹ 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s : Set α} (hs : IsUpperSet s)
Goal: IsLowerSet (-s)
-- IsLowerSet.neg
@[to_additive]
theorem IsLowerSet.inv (hs : IsLowerSet s) : IsUpperSet s⁻¹ 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s : Set α} (hs : IsLowerSet s)
Goal: IsUpperSet (-s)
-- IsLowerSet.inv
@[to_additive]
theorem IsLowerSet.inv (hs : IsLowerSet s) : IsUpperSet s⁻¹ 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s : Set α} (hs : IsLowerSet s)
Goal: IsUpperSet s⁻¹
-- IsUpperSet.div_left
@[to_additive]
theorem IsUpperSet.div_left (ht : IsUpperSet t) : IsLowerSet (s / t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (ht : IsUpperSet t)
Goal: IsLowerSet (s / t)
-- IsUpperSet.sub_left
@[to_additive]
theorem IsUpperSet.div_left (ht : IsUpperSet t) : IsLowerSet (s / t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (ht : IsUpperSet t)
Goal: IsLowerSet (s - t)
-- IsUpperSet.div_right
@[to_additive]
theorem IsUpperSet.div_right (hs : IsUpperSet s) : IsUpperSet (s / t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (hs : IsUpperSet s)
Goal: IsUpperSet (s / t)
-- IsUpperSet.sub_right
@[to_additive]
theorem IsUpperSet.div_right (hs : IsUpperSet s) : IsUpperSet (s / t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (hs : IsUpperSet s)
Goal: IsUpperSet (s - t)
-- IsLowerSet.div_left
@[to_additive]
theorem IsLowerSet.div_left (ht : IsLowerSet t) : IsUpperSet (s / t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (ht : IsLowerSet t)
Goal: IsUpperSet (s / t)
-- IsLowerSet.sub_left
@[to_additive]
theorem IsLowerSet.div_left (ht : IsLowerSet t) : IsUpperSet (s / t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (ht : IsLowerSet t)
Goal: IsUpperSet (s - t)
-- IsLowerSet.sub_right
@[to_additive]
theorem IsLowerSet.div_right (hs : IsLowerSet s) : IsLowerSet (s / t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] {s t : Set α} (hs : IsLowerSet s)
Goal: IsLowerSet (s - t)
-- IsLowerSet.div_right
@[to_additive]
theorem IsLowerSet.div_right (hs : IsLowerSet s) : IsLowerSet (s / t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] {s t : Set α} (hs : IsLowerSet s)
Goal: IsLowerSet (s / t)
-- UpperSet.coe_one
@[to_additive (attr := simp,norm_cast)]
theorem coe_one : ((1 : UpperSet α) : Set α) = Set.Ici 1 
Arguments: {α : Type u_1} [OrderedCommGroup α]
Goal: ↑1 = Set.Ici 1
-- UpperSet.coe_zero
@[to_additive (attr := simp,norm_cast)]
theorem coe_one : ((1 : UpperSet α) : Set α) = Set.Ici 1 
Arguments: {α : Type u_1} [OrderedAddCommGroup α]
Goal: ↑0 = Set.Ici 0
-- UpperSet.coe_mul
@[to_additive (attr := simp,norm_cast)]
theorem coe_mul (s t : UpperSet α) : (↑(s * t) : Set α) = s * t 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : UpperSet α)
Goal: ↑(s * t) = ↑s * ↑t
-- UpperSet.coe_add
@[to_additive (attr := simp,norm_cast)]
theorem coe_mul (s t : UpperSet α) : (↑(s * t) : Set α) = s * t 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : UpperSet α)
Goal: ↑(s + t) = ↑s + ↑t
-- UpperSet.coe_div
@[to_additive (attr := simp,norm_cast)]
theorem coe_div (s t : UpperSet α) : (↑(s / t) : Set α) = s / t 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : UpperSet α)
Goal: ↑(s / t) = ↑s / ↑t
-- UpperSet.coe_sub
@[to_additive (attr := simp,norm_cast)]
theorem coe_div (s t : UpperSet α) : (↑(s / t) : Set α) = s / t 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : UpperSet α)
Goal: ↑(s - t) = ↑s - ↑t
-- UpperSet.Ici_one
@[to_additive (attr := simp)]
theorem Ici_one : Ici (1 : α) = 1 
Arguments: {α : Type u_1} [OrderedCommGroup α]
Goal: UpperSet.Ici 1 = 1
-- UpperSet.Ici_zero
@[to_additive (attr := simp)]
theorem Ici_one : Ici (1 : α) = 1 
Arguments: {α : Type u_1} [OrderedAddCommGroup α]
Goal: UpperSet.Ici 0 = 0
-- _private.Mathlib.Algebra.Order.UpperLower.0.UpperSet.zero_add
@[to_additive]
private theorem one_mul (s : UpperSet α) : 1 * s = s 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s : UpperSet α)
Goal: 0 + s = s
-- _private.Mathlib.Algebra.Order.UpperLower.0.UpperSet.one_mul
@[to_additive]
private theorem one_mul (s : UpperSet α) : 1 * s = s 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s : UpperSet α)
Goal: 1 * s = s
-- LowerSet.coe_mul
@[to_additive (attr := simp,norm_cast)]
theorem coe_mul (s t : LowerSet α) : (↑(s * t) : Set α) = s * t 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : LowerSet α)
Goal: ↑(s * t) = ↑s * ↑t
-- LowerSet.coe_add
@[to_additive (attr := simp,norm_cast)]
theorem coe_mul (s t : LowerSet α) : (↑(s * t) : Set α) = s * t 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : LowerSet α)
Goal: ↑(s + t) = ↑s + ↑t
-- LowerSet.coe_sub
@[to_additive (attr := simp,norm_cast)]
theorem coe_div (s t : LowerSet α) : (↑(s / t) : Set α) = s / t 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : LowerSet α)
Goal: ↑(s - t) = ↑s - ↑t
-- LowerSet.coe_div
@[to_additive (attr := simp,norm_cast)]
theorem coe_div (s t : LowerSet α) : (↑(s / t) : Set α) = s / t 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : LowerSet α)
Goal: ↑(s / t) = ↑s / ↑t
-- LowerSet.Iic_zero
@[to_additive (attr := simp)]
theorem Iic_one : Iic (1 : α) = 1 
Arguments: {α : Type u_1} [OrderedAddCommGroup α]
Goal: LowerSet.Iic 0 = 0
-- LowerSet.Iic_one
@[to_additive (attr := simp)]
theorem Iic_one : Iic (1 : α) = 1 
Arguments: {α : Type u_1} [OrderedCommGroup α]
Goal: LowerSet.Iic 1 = 1
-- _private.Mathlib.Algebra.Order.UpperLower.0.LowerSet.one_mul
@[to_additive]
private theorem one_mul (s : LowerSet α) : 1 * s = s 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s : LowerSet α)
Goal: 1 * s = s
-- _private.Mathlib.Algebra.Order.UpperLower.0.LowerSet.zero_add
@[to_additive]
private theorem one_mul (s : LowerSet α) : 1 * s = s 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s : LowerSet α)
Goal: 0 + s = s
-- upperClosure_one
@[to_additive (attr := simp)]
theorem upperClosure_one : upperClosure (1 : Set α) = 1 
Arguments: {α : Type u_1} [OrderedCommGroup α]
Goal: upperClosure 1 = 1
-- upperClosure_zero
@[to_additive (attr := simp)]
theorem upperClosure_one : upperClosure (1 : Set α) = 1 
Arguments: {α : Type u_1} [OrderedAddCommGroup α]
Goal: upperClosure 0 = 0
-- lowerClosure_one
@[to_additive (attr := simp)]
theorem lowerClosure_one : lowerClosure (1 : Set α) = 1 
Arguments: {α : Type u_1} [OrderedCommGroup α]
Goal: lowerClosure 1 = 1
-- lowerClosure_zero
@[to_additive (attr := simp)]
theorem lowerClosure_one : lowerClosure (1 : Set α) = 1 
Arguments: {α : Type u_1} [OrderedAddCommGroup α]
Goal: lowerClosure 0 = 0
-- upperClosure_vadd
@[to_additive (attr := simp)]
theorem upperClosure_smul : upperClosure (a • s) = a • upperClosure s 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s : Set α) (a : α)
Goal: upperClosure (a +ᵥ s) = a +ᵥ upperClosure s
-- upperClosure_smul
@[to_additive (attr := simp)]
theorem upperClosure_smul : upperClosure (a • s) = a • upperClosure s 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s : Set α) (a : α)
Goal: upperClosure (a • s) = a • upperClosure s
-- lowerClosure_smul
@[to_additive (attr := simp)]
theorem lowerClosure_smul : lowerClosure (a • s) = a • lowerClosure s 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s : Set α) (a : α)
Goal: lowerClosure (a • s) = a • lowerClosure s
-- lowerClosure_vadd
@[to_additive (attr := simp)]
theorem lowerClosure_smul : lowerClosure (a • s) = a • lowerClosure s 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s : Set α) (a : α)
Goal: lowerClosure (a +ᵥ s) = a +ᵥ lowerClosure s
-- mul_upperClosure
@[to_additive]
theorem mul_upperClosure : s * upperClosure t = upperClosure (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : Set α)
Goal: s * ↑(upperClosure t) = ↑(upperClosure (s * t))
-- add_upperClosure
@[to_additive]
theorem mul_upperClosure : s * upperClosure t = upperClosure (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : Set α)
Goal: s + ↑(upperClosure t) = ↑(upperClosure (s + t))
-- add_lowerClosure
@[to_additive]
theorem mul_lowerClosure : s * lowerClosure t = lowerClosure (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : Set α)
Goal: s + ↑(lowerClosure t) = ↑(lowerClosure (s + t))
-- mul_lowerClosure
@[to_additive]
theorem mul_lowerClosure : s * lowerClosure t = lowerClosure (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : Set α)
Goal: s * ↑(lowerClosure t) = ↑(lowerClosure (s * t))
-- upperClosure_add
@[to_additive]
theorem upperClosure_mul : ↑(upperClosure s) * t = upperClosure (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : Set α)
Goal: ↑(upperClosure s) + t = ↑(upperClosure (s + t))
-- upperClosure_mul
@[to_additive]
theorem upperClosure_mul : ↑(upperClosure s) * t = upperClosure (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : Set α)
Goal: ↑(upperClosure s) * t = ↑(upperClosure (s * t))
-- lowerClosure_add
@[to_additive]
theorem lowerClosure_mul : ↑(lowerClosure s) * t = lowerClosure (s * t) 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : Set α)
Goal: ↑(lowerClosure s) + t = ↑(lowerClosure (s + t))
-- lowerClosure_mul
@[to_additive]
theorem lowerClosure_mul : ↑(lowerClosure s) * t = lowerClosure (s * t) 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : Set α)
Goal: ↑(lowerClosure s) * t = ↑(lowerClosure (s * t))
-- upperClosure_mul_distrib
@[to_additive (attr := simp)]
theorem upperClosure_mul_distrib : upperClosure (s * t) = upperClosure s * upperClosure t 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : Set α)
Goal: upperClosure (s * t) = upperClosure s * upperClosure t
-- upperClosure_add_distrib
@[to_additive (attr := simp)]
theorem upperClosure_mul_distrib : upperClosure (s * t) = upperClosure s * upperClosure t 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : Set α)
Goal: upperClosure (s + t) = upperClosure s + upperClosure t
-- lowerClosure_mul_distrib
@[to_additive (attr := simp)]
theorem lowerClosure_mul_distrib : lowerClosure (s * t) = lowerClosure s * lowerClosure t 
Arguments: {α : Type u_1} [OrderedCommGroup α] (s t : Set α)
Goal: lowerClosure (s * t) = lowerClosure s * lowerClosure t
-- lowerClosure_add_distrib
@[to_additive (attr := simp)]
theorem lowerClosure_mul_distrib : lowerClosure (s * t) = lowerClosure s * lowerClosure t 
Arguments: {α : Type u_1} [OrderedAddCommGroup α] (s t : Set α)
Goal: lowerClosure (s + t) = lowerClosure s + lowerClosure t
-- FloorDiv.floorDiv_gc
class FloorDiv where
    floorDiv : β → α → β
    protected floorDiv_gc ⦃a⦄ : 0 < a → GaloisConnection (a • ·) (floorDiv · a)
    protected floorDiv_nonpos ⦃a⦄ : a ≤ 0 → ∀ b, floorDiv b a = 0
    protected zero_floorDiv (a) : floorDiv 0 a = 0
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [self : FloorDiv α β] ⦃a : α⦄
Goal: 0 < a → GaloisConnection (fun x => a • x) fun x => x ⌊/⌋ a
-- FloorDiv.floorDiv_nonpos
class FloorDiv where
    floorDiv : β → α → β
    protected floorDiv_gc ⦃a⦄ : 0 < a → GaloisConnection (a • ·) (floorDiv · a)
    protected floorDiv_nonpos ⦃a⦄ : a ≤ 0 → ∀ b, floorDiv b a = 0
    protected zero_floorDiv (a) : floorDiv 0 a = 0
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [self : FloorDiv α β] ⦃a : α⦄
Goal: a ≤ 0 → ∀ (b : β), b ⌊/⌋ a = 0
-- FloorDiv.zero_floorDiv
class FloorDiv where
    floorDiv : β → α → β
    protected floorDiv_gc ⦃a⦄ : 0 < a → GaloisConnection (a • ·) (floorDiv · a)
    protected floorDiv_nonpos ⦃a⦄ : a ≤ 0 → ∀ b, floorDiv b a = 0
    protected zero_floorDiv (a) : floorDiv 0 a = 0
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [self : FloorDiv α β] (a : α)
Goal: 0 ⌊/⌋ a = 0
-- CeilDiv.ceilDiv_nonpos
class CeilDiv where
    ceilDiv : β → α → β
    protected ceilDiv_gc ⦃a⦄ : 0 < a → GaloisConnection (ceilDiv · a) (a • ·)
    protected ceilDiv_nonpos ⦃a⦄ : a ≤ 0 → ∀ b, ceilDiv b a = 0
    protected zero_ceilDiv (a) : ceilDiv 0 a = 0
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [self : CeilDiv α β] ⦃a : α⦄
Goal: a ≤ 0 → ∀ (b : β), b ⌈/⌉ a = 0
-- CeilDiv.ceilDiv_gc
class CeilDiv where
    ceilDiv : β → α → β
    protected ceilDiv_gc ⦃a⦄ : 0 < a → GaloisConnection (ceilDiv · a) (a • ·)
    protected ceilDiv_nonpos ⦃a⦄ : a ≤ 0 → ∀ b, ceilDiv b a = 0
    protected zero_ceilDiv (a) : ceilDiv 0 a = 0
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [self : CeilDiv α β] ⦃a : α⦄
Goal: 0 < a → GaloisConnection (fun x => x ⌈/⌉ a) fun x => a • x
-- CeilDiv.zero_ceilDiv
class CeilDiv where
    ceilDiv : β → α → β
    protected ceilDiv_gc ⦃a⦄ : 0 < a → GaloisConnection (ceilDiv · a) (a • ·)
    protected ceilDiv_nonpos ⦃a⦄ : a ≤ 0 → ∀ b, ceilDiv b a = 0
    protected zero_ceilDiv (a) : ceilDiv 0 a = 0
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [self : CeilDiv α β] (a : α)
Goal: 0 ⌈/⌉ a = 0
-- gc_floorDiv_smul
lemma gc_floorDiv_smul (ha : 0 < a) : GaloisConnection (a • · : β → β) (· ⌊/⌋ a) 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [FloorDiv α β] {a : α} (ha : 0 < a)
Goal: GaloisConnection (fun x => a • x) fun x => x ⌊/⌋ a
-- le_floorDiv_iff_smul_le
@[simp] lemma le_floorDiv_iff_smul_le (ha : 0 < a) : c ≤ b ⌊/⌋ a ↔ a • c ≤ b 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [FloorDiv α β] {a : α} {b c : β} (ha : 0 < a)
Goal: c ≤ b ⌊/⌋ a ↔ a • c ≤ b
-- floorDiv_of_nonpos
@[simp] lemma floorDiv_of_nonpos (ha : a ≤ 0) (b : β) : b ⌊/⌋ a = 0 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [FloorDiv α β] {a : α} (ha : a ≤ 0) (b : β)
Goal: b ⌊/⌋ a = 0
-- floorDiv_zero
lemma floorDiv_zero (b : β) : b ⌊/⌋ (0 : α) = 0 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [FloorDiv α β] (b : β)
Goal: b ⌊/⌋ 0 = 0
-- zero_floorDiv
@[simp] lemma zero_floorDiv (a : α) : (0 : β) ⌊/⌋ a = 0 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [FloorDiv α β] (a : α)
Goal: 0 ⌊/⌋ a = 0
-- smul_floorDiv_le
lemma smul_floorDiv_le (ha : 0 < a) : a • (b ⌊/⌋ a) ≤ b 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [FloorDiv α β] {a : α} {b : β} (ha : 0 < a)
Goal: a • (b ⌊/⌋ a) ≤ b
-- gc_smul_ceilDiv
lemma gc_smul_ceilDiv (ha : 0 < a) : GaloisConnection (· ⌈/⌉ a) (a • · : β → β) 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [CeilDiv α β] {a : α} (ha : 0 < a)
Goal: GaloisConnection (fun x => x ⌈/⌉ a) fun x => a • x
-- ceilDiv_le_iff_le_smul
@[simp]
lemma ceilDiv_le_iff_le_smul (ha : 0 < a) : b ⌈/⌉ a ≤ c ↔ b ≤ a • c 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [CeilDiv α β] {a : α} {b c : β} (ha : 0 < a)
Goal: b ⌈/⌉ a ≤ c ↔ b ≤ a • c
-- ceilDiv_of_nonpos
@[simp] lemma ceilDiv_of_nonpos (ha : a ≤ 0) (b : β) : b ⌈/⌉ a = 0 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [CeilDiv α β] {a : α} (ha : a ≤ 0) (b : β)
Goal: b ⌈/⌉ a = 0
-- ceilDiv_zero
lemma ceilDiv_zero (b : β) : b ⌈/⌉ (0 : α) = 0 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [CeilDiv α β] (b : β)
Goal: b ⌈/⌉ 0 = 0
-- zero_ceilDiv
@[simp] lemma zero_ceilDiv (a : α) : (0 : β) ⌈/⌉ a = 0 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [CeilDiv α β] (a : α)
Goal: 0 ⌈/⌉ a = 0
-- le_smul_ceilDiv
lemma le_smul_ceilDiv (ha : 0 < a) : b ≤ a • (b ⌈/⌉ a) 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [CeilDiv α β] {a : α} {b : β} (ha : 0 < a)
Goal: b ≤ a • (b ⌈/⌉ a)
-- floorDiv_le_ceilDiv
lemma floorDiv_le_ceilDiv : b ⌊/⌋ a ≤ b ⌈/⌉ a 
Arguments: {α : Type u_2} {β : Type u_3} [LinearOrderedAddCommMonoid α] [OrderedAddCommMonoid β] [SMulZeroClass α β] [PosSMulReflectLE α β] [FloorDiv α β] [CeilDiv α β] {a : α} {b : β}
Goal: b ⌊/⌋ a ≤ b ⌈/⌉ a
-- floorDiv_one
@[simp] lemma floorDiv_one [Nontrivial α] (b : β) : b ⌊/⌋ (1 : α) = b 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedSemiring α] [OrderedAddCommMonoid β] [MulActionWithZero α β] [FloorDiv α β] [Nontrivial α] (b : β)
Goal: b ⌊/⌋ 1 = b
-- smul_floorDiv
@[simp] lemma smul_floorDiv [PosSMulMono α β] [PosSMulReflectLE α β] (ha : 0 < a) (b : β) :
    a • b ⌊/⌋ a = b 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedSemiring α] [OrderedAddCommMonoid β] [MulActionWithZero α β] [FloorDiv α β] {a : α} [PosSMulMono α β] [PosSMulReflectLE α β] (ha : 0 < a) (b : β)
Goal: a • b ⌊/⌋ a = b
-- ceilDiv_one
@[simp] lemma ceilDiv_one [Nontrivial α] (b : β) : b ⌈/⌉ (1 : α) = b 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedSemiring α] [OrderedAddCommMonoid β] [MulActionWithZero α β] [CeilDiv α β] [Nontrivial α] (b : β)
Goal: b ⌈/⌉ 1 = b
-- smul_ceilDiv
@[simp] lemma smul_ceilDiv [PosSMulMono α β] [PosSMulReflectLE α β] (ha : 0 < a) (b : β) :
    a • b ⌈/⌉ a = b 
Arguments: {α : Type u_2} {β : Type u_3} [OrderedSemiring α] [OrderedAddCommMonoid β] [MulActionWithZero α β] [CeilDiv α β] {a : α} [PosSMulMono α β] [PosSMulReflectLE α β] (ha : 0 < a) (b : β)
Goal: a • b ⌈/⌉ a = b
-- gc_floorDiv_mul
lemma gc_floorDiv_mul (ha : 0 < a) : GaloisConnection (a * ·) (· ⌊/⌋ a) 
Arguments: {α : Type u_2} [OrderedSemiring α] [FloorDiv α α] {a : α} (ha : 0 < a)
Goal: GaloisConnection (fun x => a * x) fun x => x ⌊/⌋ a
-- le_floorDiv_iff_mul_le
lemma le_floorDiv_iff_mul_le (ha : 0 < a) : c ≤ b ⌊/⌋ a ↔ a • c ≤ b 
Arguments: {α : Type u_2} [OrderedSemiring α] [FloorDiv α α] {a b c : α} (ha : 0 < a)
Goal: c ≤ b ⌊/⌋ a ↔ a • c ≤ b
-- gc_mul_ceilDiv
lemma gc_mul_ceilDiv (ha : 0 < a) : GaloisConnection (· ⌈/⌉ a) (a * ·) 
Arguments: {α : Type u_2} [OrderedSemiring α] [CeilDiv α α] {a : α} (ha : 0 < a)
Goal: GaloisConnection (fun x => x ⌈/⌉ a) fun x => a * x
-- ceilDiv_le_iff_le_mul
lemma ceilDiv_le_iff_le_mul (ha : 0 < a) : b ⌈/⌉ a ≤ c ↔ b ≤ a * c 
Arguments: {α : Type u_2} [OrderedSemiring α] [CeilDiv α α] {a b c : α} (ha : 0 < a)
Goal: b ⌈/⌉ a ≤ c ↔ b ≤ a * c