ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- CategoryTheory.Functor.isRightKanExtension_iff_precomp
lemma isRightKanExtension_iff_precomp (α : L ⋙ F' ⟶ F) :
    F'.IsRightKanExtension α ↔
      F'.IsRightKanExtension ((Functor.associator _ _ _).hom ≫ whiskerLeft G α) 
Arguments: {C : Type u_1} {C' : Type u_2} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_8, u_1} C] [CategoryTheory.Category.{u_10, u_2} C'] [CategoryTheory.Category.{u_7, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] {L : CategoryTheory.Functor C D} {F : CategoryTheory.Functor C H} (F' : CategoryTheory.Functor D H) (G : CategoryTheory.Functor C' C) [G.IsEquivalence] (α : L.comp F' ⟶ F)
Goal: F'.IsRightKanExtension α ↔
  F'.IsRightKanExtension (CategoryTheory.CategoryStruct.comp (G.associator L F').hom (CategoryTheory.whiskerLeft G α))
-- CategoryTheory.Functor.hasRightExtension_iff_of_iso₁
lemma hasRightExtension_iff_of_iso₁ : HasRightKanExtension L F ↔ HasRightKanExtension L' F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] {L L' : CategoryTheory.Functor C D} (iso₁ : L ≅ L') (F : CategoryTheory.Functor C H)
Goal: L.HasRightKanExtension F ↔ L'.HasRightKanExtension F
-- CategoryTheory.Functor.hasLeftExtension_iff_of_iso₁
lemma hasLeftExtension_iff_of_iso₁ : HasLeftKanExtension L F ↔ HasLeftKanExtension L' F 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] {L L' : CategoryTheory.Functor C D} (iso₁ : L ≅ L') (F : CategoryTheory.Functor C H)
Goal: L.HasLeftKanExtension F ↔ L'.HasLeftKanExtension F
-- CategoryTheory.Functor.hasRightExtension_iff_of_iso₂
lemma hasRightExtension_iff_of_iso₂ : HasRightKanExtension L F ↔ HasRightKanExtension L F' 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] (L : CategoryTheory.Functor C D) {F F' : CategoryTheory.Functor C H} (iso₂ : F ≅ F')
Goal: L.HasRightKanExtension F ↔ L.HasRightKanExtension F'
-- CategoryTheory.Functor.hasLeftExtension_iff_of_iso₂
lemma hasLeftExtension_iff_of_iso₂ : HasLeftKanExtension L F ↔ HasLeftKanExtension L F' 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_7, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_9, u_5} D] (L : CategoryTheory.Functor C D) {F F' : CategoryTheory.Functor C H} (iso₂ : F ≅ F')
Goal: L.HasLeftKanExtension F ↔ L.HasLeftKanExtension F'
-- CategoryTheory.Functor.isLeftKanExtension_iff_of_iso₂
lemma isLeftKanExtension_iff_of_iso₂ {F₁' F₂' : D ⥤ H} (α₁ : F₁ ⟶ L ⋙ F₁') (α₂ : F₂ ⟶ L ⋙ F₂')
    (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') (h : α₁ ≫ whiskerLeft L e'.hom = e.hom ≫ α₂) :
    F₁'.IsLeftKanExtension α₁ ↔ F₂'.IsLeftKanExtension α₂ 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} {F₁' F₂' : CategoryTheory.Functor D H} (α₁ : F₁ ⟶ L.comp F₁') (α₂ : F₂ ⟶ L.comp F₂') (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') (h :
  CategoryTheory.CategoryStruct.comp α₁ (CategoryTheory.whiskerLeft L e'.hom) =
    CategoryTheory.CategoryStruct.comp e.hom α₂)
Goal: F₁'.IsLeftKanExtension α₁ ↔ F₂'.IsLeftKanExtension α₂
-- CategoryTheory.Functor.isRightKanExtension_iff_of_iso₂
lemma isRightKanExtension_iff_of_iso₂ {F₁' F₂' : D ⥤ H} (α₁ : L ⋙ F₁' ⟶ F₁) (α₂ : L ⋙ F₂' ⟶ F₂)
    (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') (h : whiskerLeft L e'.hom ≫ α₂ = α₁ ≫ e.hom) :
    F₁'.IsRightKanExtension α₁ ↔ F₂'.IsRightKanExtension α₂ 
Arguments: {C : Type u_1} {H : Type u_3} {D : Type u_5} [CategoryTheory.Category.{u_9, u_1} C] [CategoryTheory.Category.{u_8, u_3} H] [CategoryTheory.Category.{u_7, u_5} D] {L : CategoryTheory.Functor C D} {F₁ F₂ : CategoryTheory.Functor C H} {F₁' F₂' : CategoryTheory.Functor D H} (α₁ : L.comp F₁' ⟶ F₁) (α₂ : L.comp F₂' ⟶ F₂) (e : F₁ ≅ F₂) (e' : F₁' ≅ F₂') (h :
  CategoryTheory.CategoryStruct.comp (CategoryTheory.whiskerLeft L e'.hom) α₂ =
    CategoryTheory.CategoryStruct.comp α₁ e.hom)
Goal: F₁'.IsRightKanExtension α₁ ↔ F₂'.IsRightKanExtension α₂
-- NonnegHomClass.apply_nonneg
class NonnegHomClass (F α β : Type*) [Zero β] [LE β] [FunLike F α β] : Prop where
    apply_nonneg (f : F) : ∀ a, 0 ≤ f a
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Zero β] [LE β] [FunLike F α β] [self : NonnegHomClass F α β] (f : F) (a : α)
Goal: 0 ≤ f a
-- SubadditiveHomClass.map_add_le_add
class SubadditiveHomClass (F α β : Type*) [Add α] [Add β] [LE β] [FunLike F α β] : Prop where
    map_add_le_add (f : F) : ∀ a b, f (a + b) ≤ f a + f b
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Add α] [Add β] [LE β] [FunLike F α β] [self : SubadditiveHomClass F α β] (f : F) (a b : α)
Goal: f (a + b) ≤ f a + f b
-- SubmultiplicativeHomClass.map_mul_le_mul
@[to_additive SubadditiveHomClass]
class SubmultiplicativeHomClass (F α β : Type*) [Mul α] [Mul β] [LE β] [FunLike F α β] : Prop where
    map_mul_le_mul (f : F) : ∀ a b, f (a * b) ≤ f a * f b
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Mul α] [Mul β] [LE β] [FunLike F α β] [self : SubmultiplicativeHomClass F α β] (f : F) (a b : α)
Goal: f (a * b) ≤ f a * f b
-- MulLEAddHomClass.map_mul_le_add
@[to_additive SubadditiveHomClass]
class MulLEAddHomClass (F α β : Type*) [Mul α] [Add β] [LE β] [FunLike F α β] : Prop where
    map_mul_le_add (f : F) : ∀ a b, f (a * b) ≤ f a + f b
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Mul α] [Add β] [LE β] [FunLike F α β] [self : MulLEAddHomClass F α β] (f : F) (a b : α)
Goal: f (a * b) ≤ f a + f b
-- NonarchimedeanHomClass.map_add_le_max
class NonarchimedeanHomClass (F α β : Type*) [Add α] [LinearOrder β] [FunLike F α β] : Prop where
    map_add_le_max (f : F) : ∀ a b, f (a + b) ≤ max (f a) (f b)
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Add α] [LinearOrder β] [FunLike F α β] [self : NonarchimedeanHomClass F α β] (f : F) (a b : α)
Goal: f (a + b) ≤ max (f a) (f b)
-- le_map_mul_map_div
@[to_additive]
theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
    (f : F) (a b : α) : f a ≤ f b * f (a / b) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β] (f : F) (a b : α)
Goal: f a ≤ f b * f (a / b)
-- le_map_add_map_sub
@[to_additive]
theorem le_map_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
    (f : F) (a b : α) : f a ≤ f b * f (a / b) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [AddCommSemigroup β] [LE β] [SubadditiveHomClass F α β] (f : F) (a b : α)
Goal: f a ≤ f b + f (a - b)
-- le_map_add_map_div
@[to_additive existing]
theorem le_map_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F)
    (a b : α) : f a ≤ f b + f (a / b) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F) (a b : α)
Goal: f a ≤ f b + f (a / b)
-- le_map_div_mul_map_div
@[to_additive]
theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
    (f : F) (a b c : α) : f (a / c) ≤ f (a / b) * f (b / c) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β] (f : F) (a b c : α)
Goal: f (a / c) ≤ f (a / b) * f (b / c)
-- le_map_sub_add_map_sub
@[to_additive]
theorem le_map_div_mul_map_div [Group α] [CommSemigroup β] [LE β] [SubmultiplicativeHomClass F α β]
    (f : F) (a b c : α) : f (a / c) ≤ f (a / b) * f (b / c) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [AddCommSemigroup β] [LE β] [SubadditiveHomClass F α β] (f : F) (a b c : α)
Goal: f (a - c) ≤ f (a - b) + f (b - c)
-- le_map_div_add_map_div
@[to_additive existing]
theorem le_map_div_add_map_div [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β]
    (f : F) (a b c : α) : f (a / c) ≤ f (a / b) + f (b / c) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [AddCommSemigroup β] [LE β] [MulLEAddHomClass F α β] (f : F) (a b c : α)
Goal: f (a / c) ≤ f (a / b) + f (b / c)
-- AddGroupSeminormClass.map_zero
class AddGroupSeminormClass (F α β : Type*) [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β]
  extends SubadditiveHomClass F α β : Prop where
    map_zero (f : F) : f 0 = 0
    map_neg_eq_map (f : F) (a : α) : f (-a) = f a
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β] [self : AddGroupSeminormClass F α β] (f : F)
Goal: f 0 = 0
-- AddGroupSeminormClass.map_neg_eq_map
class AddGroupSeminormClass (F α β : Type*) [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β]
  extends SubadditiveHomClass F α β : Prop where
    map_zero (f : F) : f 0 = 0
    map_neg_eq_map (f : F) (a : α) : f (-a) = f a
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β] [self : AddGroupSeminormClass F α β] (f : F) (a : α)
Goal: f (-a) = f a
-- GroupSeminormClass.map_one_eq_zero
@[to_additive]
class GroupSeminormClass (F α β : Type*) [Group α] [OrderedAddCommMonoid β] [FunLike F α β]
  extends MulLEAddHomClass F α β : Prop where
    map_one_eq_zero (f : F) : f 1 = 0
    map_inv_eq_map (f : F) (a : α) : f a⁻¹ = f a
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Group α] [OrderedAddCommMonoid β] [FunLike F α β] [self : GroupSeminormClass F α β] (f : F)
Goal: f 1 = 0
-- GroupSeminormClass.map_inv_eq_map
@[to_additive]
class GroupSeminormClass (F α β : Type*) [Group α] [OrderedAddCommMonoid β] [FunLike F α β]
  extends MulLEAddHomClass F α β : Prop where
    map_one_eq_zero (f : F) : f 1 = 0
    map_inv_eq_map (f : F) (a : α) : f a⁻¹ = f a
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Group α] [OrderedAddCommMonoid β] [FunLike F α β] [self : GroupSeminormClass F α β] (f : F) (a : α)
Goal: f a⁻¹ = f a
-- AddGroupNormClass.eq_zero_of_map_eq_zero
class AddGroupNormClass (F α β : Type*) [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β]
  extends AddGroupSeminormClass F α β : Prop where
    eq_zero_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 0
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [AddGroup α] [OrderedAddCommMonoid β] [FunLike F α β] [self : AddGroupNormClass F α β] (f : F) {a : α}
Goal: f a = 0 → a = 0
-- GroupNormClass.eq_one_of_map_eq_zero
@[to_additive]
class GroupNormClass (F α β : Type*) [Group α] [OrderedAddCommMonoid β] [FunLike F α β]
  extends GroupSeminormClass F α β : Prop where
    eq_one_of_map_eq_zero (f : F) {a : α} : f a = 0 → a = 1
Arguments: {F : Type u_7} {α : Type u_8} {β : Type u_9} [Group α] [OrderedAddCommMonoid β] [FunLike F α β] [self : GroupNormClass F α β] (f : F) {a : α}
Goal: f a = 0 → a = 1
-- map_div_le_add
@[to_additive]
theorem map_div_le_add : f (x / y) ≤ f x + f y 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f : F) (x y : α)
Goal: f (x / y) ≤ f x + f y
-- map_sub_le_add
@[to_additive]
theorem map_div_le_add : f (x / y) ≤ f x + f y 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] (f : F) (x y : α)
Goal: f (x - y) ≤ f x + f y
-- map_div_rev
@[to_additive]
theorem map_div_rev : f (x / y) = f (y / x) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f : F) (x y : α)
Goal: f (x / y) = f (y / x)
-- map_sub_rev
@[to_additive]
theorem map_div_rev : f (x / y) = f (y / x) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] (f : F) (x y : α)
Goal: f (x - y) = f (y - x)
-- le_map_add_map_div'
@[to_additive]
theorem le_map_add_map_div' : f x ≤ f y + f (y / x) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [OrderedAddCommMonoid β] [GroupSeminormClass F α β] (f : F) (x y : α)
Goal: f x ≤ f y + f (y / x)
-- le_map_add_map_sub'
@[to_additive]
theorem le_map_add_map_div' : f x ≤ f y + f (y / x) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [OrderedAddCommMonoid β] [AddGroupSeminormClass F α β] (f : F) (x y : α)
Goal: f x ≤ f y + f (y - x)
-- abs_sub_map_le_div
@[to_additive]
theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
    (f : F) (x y : α) : |f x - f y| ≤ f (x / y) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β] (f : F) (x y : α)
Goal: |f x - f y| ≤ f (x / y)
-- abs_sub_map_le_sub
@[to_additive]
theorem abs_sub_map_le_div [Group α] [LinearOrderedAddCommGroup β] [GroupSeminormClass F α β]
    (f : F) (x y : α) : |f x - f y| ≤ f (x / y) 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [LinearOrderedAddCommGroup β] [AddGroupSeminormClass F α β] (f : F) (x y : α)
Goal: |f x - f y| ≤ f (x - y)
-- map_eq_zero_iff_eq_zero
@[to_additive (attr := simp)]
theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [OrderedAddCommMonoid β] [AddGroupNormClass F α β] (f : F) {x : α}
Goal: f x = 0 ↔ x = 0
-- map_eq_zero_iff_eq_one
@[to_additive (attr := simp)]
theorem map_eq_zero_iff_eq_one : f x = 0 ↔ x = 1 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [OrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {x : α}
Goal: f x = 0 ↔ x = 1
-- map_ne_zero_iff_ne_zero
@[to_additive]
theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [OrderedAddCommMonoid β] [AddGroupNormClass F α β] (f : F) {x : α}
Goal: f x ≠ 0 ↔ x ≠ 0
-- map_ne_zero_iff_ne_one
@[to_additive]
theorem map_ne_zero_iff_ne_one : f x ≠ 0 ↔ x ≠ 1 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [OrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {x : α}
Goal: f x ≠ 0 ↔ x ≠ 1
-- map_pos_of_ne_zero
@[to_additive]
theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
    {x : α} (hx : x ≠ 1) : 0 < f x 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [AddGroup α] [LinearOrderedAddCommMonoid β] [AddGroupNormClass F α β] (f : F) {x : α} (hx : x ≠ 0)
Goal: 0 < f x
-- map_pos_of_ne_one
@[to_additive]
theorem map_pos_of_ne_one [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F)
    {x : α} (hx : x ≠ 1) : 0 < f x 
Arguments: {F : Type u_2} {α : Type u_3} {β : Type u_4} [FunLike F α β] [Group α] [LinearOrderedAddCommMonoid β] [GroupNormClass F α β] (f : F) {x : α} (hx : x ≠ 1)
Goal: 0 < f x
-- Sum.one_le_elim_iff
@[to_additive]
lemma one_le_elim_iff : 1 ≤ Sum.elim v₁ v₂ ↔ 1 ≤ v₁ ∧ 1 ≤ v₂ 
Arguments: {α₁ : Type u_1} {α₂ : Type u_2} {β : Type u_3} [LE β] [One β] {v₁ : α₁ → β} {v₂ : α₂ → β}
Goal: 1 ≤ Sum.elim v₁ v₂ ↔ 1 ≤ v₁ ∧ 1 ≤ v₂
-- Sum.nonneg_elim_iff
@[to_additive]
lemma one_le_elim_iff : 1 ≤ Sum.elim v₁ v₂ ↔ 1 ≤ v₁ ∧ 1 ≤ v₂ 
Arguments: {α₁ : Type u_1} {α₂ : Type u_2} {β : Type u_3} [LE β] [Zero β] {v₁ : α₁ → β} {v₂ : α₂ → β}
Goal: 0 ≤ Sum.elim v₁ v₂ ↔ 0 ≤ v₁ ∧ 0 ≤ v₂
-- Sum.elim_le_one_iff
@[to_additive]
lemma elim_le_one_iff : Sum.elim v₁ v₂ ≤ 1 ↔ v₁ ≤ 1 ∧ v₂ ≤ 1 
Arguments: {α₁ : Type u_1} {α₂ : Type u_2} {β : Type u_3} [LE β] [One β] {v₁ : α₁ → β} {v₂ : α₂ → β}
Goal: Sum.elim v₁ v₂ ≤ 1 ↔ v₁ ≤ 1 ∧ v₂ ≤ 1
-- Sum.elim_nonpos_iff
@[to_additive]
lemma elim_le_one_iff : Sum.elim v₁ v₂ ≤ 1 ↔ v₁ ≤ 1 ∧ v₂ ≤ 1 
Arguments: {α₁ : Type u_1} {α₂ : Type u_2} {β : Type u_3} [LE β] [Zero β] {v₁ : α₁ → β} {v₂ : α₂ → β}
Goal: Sum.elim v₁ v₂ ≤ 0 ↔ v₁ ≤ 0 ∧ v₂ ≤ 0
-- ZeroLEOneClass.zero_le_one
class ZeroLEOneClass (α : Type*) [Zero α] [One α] [LE α] : Prop where
    zero_le_one : (0 : α) ≤ 1
Arguments: {α : Type u_2} [Zero α] [One α] [LE α] [self : ZeroLEOneClass α]
Goal: 0 ≤ 1
-- zero_le_one
@[simp] lemma zero_le_one [Zero α] [One α] [LE α] [ZeroLEOneClass α] : (0 : α) ≤ 1 
Arguments: {α : Type u_1} [Zero α] [One α] [LE α] [ZeroLEOneClass α]
Goal: 0 ≤ 1
-- zero_le_one'
lemma zero_le_one' (α) [Zero α] [One α] [LE α] [ZeroLEOneClass α] : (0 : α) ≤ 1 
Arguments: (α : Type u_2) [Zero α] [One α] [LE α] [ZeroLEOneClass α]
Goal: 0 ≤ 1
-- zero_lt_one
@[simp] lemma zero_lt_one : (0 : α) < 1 
Arguments: {α : Type u_1} [Zero α] [One α] [PartialOrder α] [ZeroLEOneClass α] [NeZero 1]
Goal: 0 < 1
-- zero_lt_one'
lemma zero_lt_one' : (0 : α) < 1 
Arguments: (α : Type u_1) [Zero α] [One α] [PartialOrder α] [ZeroLEOneClass α] [NeZero 1]
Goal: 0 < 1
-- Polynomial.hasseDeriv_apply
theorem hasseDeriv_apply :
    hasseDeriv k f = f.sum fun i r => monomial (i - k) (↑(i.choose k) * r) 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ) (f : Polynomial R)
Goal: (Polynomial.hasseDeriv k) f = f.sum fun i r => (Polynomial.monomial (i - k)) (↑(i.choose k) * r)
-- Polynomial.hasseDeriv_coeff
theorem hasseDeriv_coeff (n : ℕ) :
    (hasseDeriv k f).coeff n = (n + k).choose k * f.coeff (n + k) 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ) (f : Polynomial R) (n : ℕ)
Goal: ((Polynomial.hasseDeriv k) f).coeff n = ↑((n + k).choose k) * f.coeff (n + k)
-- Polynomial.hasseDeriv_zero'
theorem hasseDeriv_zero' : hasseDeriv 0 f = f 
Arguments: {R : Type u_1} [Semiring R] (f : Polynomial R)
Goal: (Polynomial.hasseDeriv 0) f = f
-- Polynomial.hasseDeriv_zero
@[simp]
theorem hasseDeriv_zero : @hasseDeriv R _ 0 = LinearMap.id 
Arguments: {R : Type u_1} [Semiring R]
Goal: Polynomial.hasseDeriv 0 = LinearMap.id
-- Polynomial.hasseDeriv_eq_zero_of_lt_natDegree
theorem hasseDeriv_eq_zero_of_lt_natDegree (p : R[X]) (n : ℕ) (h : p.natDegree < n) :
    hasseDeriv n p = 0 
Arguments: {R : Type u_1} [Semiring R] (p : Polynomial R) (n : ℕ) (h : p.natDegree < n)
Goal: (Polynomial.hasseDeriv n) p = 0
-- Polynomial.hasseDeriv_one'
theorem hasseDeriv_one' : hasseDeriv 1 f = derivative f 
Arguments: {R : Type u_1} [Semiring R] (f : Polynomial R)
Goal: (Polynomial.hasseDeriv 1) f = Polynomial.derivative f
-- Polynomial.hasseDeriv_one
@[simp]
theorem hasseDeriv_one : @hasseDeriv R _ 1 = derivative 
Arguments: {R : Type u_1} [Semiring R]
Goal: Polynomial.hasseDeriv 1 = Polynomial.derivative
-- Polynomial.hasseDeriv_monomial
@[simp]
theorem hasseDeriv_monomial (n : ℕ) (r : R) :
    hasseDeriv k (monomial n r) = monomial (n - k) (↑(n.choose k) * r) 
Arguments: {R : Type u_1} [Semiring R] (k n : ℕ) (r : R)
Goal: (Polynomial.hasseDeriv k) ((Polynomial.monomial n) r) = (Polynomial.monomial (n - k)) (↑(n.choose k) * r)
-- Polynomial.hasseDeriv_C
theorem hasseDeriv_C (r : R) (hk : 0 < k) : hasseDeriv k (C r) = 0 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ) (r : R) (hk : 0 < k)
Goal: (Polynomial.hasseDeriv k) (Polynomial.C r) = 0
-- Polynomial.hasseDeriv_apply_one
theorem hasseDeriv_apply_one (hk : 0 < k) : hasseDeriv k (1 : R[X]) = 0 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ) (hk : 0 < k)
Goal: (Polynomial.hasseDeriv k) 1 = 0
-- Polynomial.hasseDeriv_X
theorem hasseDeriv_X (hk : 1 < k) : hasseDeriv k (X : R[X]) = 0 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ) (hk : 1 < k)
Goal: (Polynomial.hasseDeriv k) Polynomial.X = 0
-- Polynomial.factorial_smul_hasseDeriv
theorem factorial_smul_hasseDeriv : ⇑(k ! • @hasseDeriv R _ k) = (@derivative R _)^[k] 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ)
Goal: ⇑(k.factorial • Polynomial.hasseDeriv k) = (⇑Polynomial.derivative)^[k]
-- Polynomial.hasseDeriv_comp
theorem hasseDeriv_comp (k l : ℕ) :
    (@hasseDeriv R _ k).comp (hasseDeriv l) = (k + l).choose k • hasseDeriv (k + l) 
Arguments: {R : Type u_1} [Semiring R] (k l : ℕ)
Goal: Polynomial.hasseDeriv k ∘ₗ Polynomial.hasseDeriv l = (k + l).choose k • Polynomial.hasseDeriv (k + l)
-- Polynomial.natDegree_hasseDeriv_le
theorem natDegree_hasseDeriv_le (p : R[X]) (n : ℕ) :
    natDegree (hasseDeriv n p) ≤ natDegree p - n 
Arguments: {R : Type u_1} [Semiring R] (p : Polynomial R) (n : ℕ)
Goal: ((Polynomial.hasseDeriv n) p).natDegree ≤ p.natDegree - n
-- Polynomial.natDegree_hasseDeriv
theorem natDegree_hasseDeriv [NoZeroSMulDivisors ℕ R] (p : R[X]) (n : ℕ) :
    natDegree (hasseDeriv n p) = natDegree p - n 
Arguments: {R : Type u_1} [Semiring R] [NoZeroSMulDivisors ℕ R] (p : Polynomial R) (n : ℕ)
Goal: ((Polynomial.hasseDeriv n) p).natDegree = p.natDegree - n
-- Polynomial.hasseDeriv_mul
theorem hasseDeriv_mul (f g : R[X]) :
    hasseDeriv k (f * g) = ∑ ij ∈ antidiagonal k, hasseDeriv ij.1 f * hasseDeriv ij.2 g 
Arguments: {R : Type u_1} [Semiring R] (k : ℕ) (f g : Polynomial R)
Goal: (Polynomial.hasseDeriv k) (f * g) =
  ∑ ij ∈ Finset.antidiagonal k, (Polynomial.hasseDeriv ij.1) f * (Polynomial.hasseDeriv ij.2) g
-- Polynomial.monic_zero_iff_subsingleton
theorem monic_zero_iff_subsingleton : Monic (0 : R[X]) ↔ Subsingleton R 
Arguments: {R : Type u} [Semiring R]
Goal: Polynomial.Monic 0 ↔ Subsingleton R
-- Polynomial.not_monic_zero_iff
theorem not_monic_zero_iff : ¬Monic (0 : R[X]) ↔ (0 : R) ≠ 1 
Arguments: {R : Type u} [Semiring R]
Goal: ¬Polynomial.Monic 0 ↔ 0 ≠ 1
-- Polynomial.monic_zero_iff_subsingleton'
theorem monic_zero_iff_subsingleton' :
    Monic (0 : R[X]) ↔ (∀ f g : R[X], f = g) ∧ ∀ a b : R, a = b 
Arguments: {R : Type u} [Semiring R]
Goal: Polynomial.Monic 0 ↔ (∀ (f g : R[X]), f = g) ∧ ∀ (a b : R), a = b
-- Polynomial.Monic.as_sum
theorem Monic.as_sum (hp : p.Monic) :
    p = X ^ p.natDegree + ∑ i ∈ range p.natDegree, C (p.coeff i) * X ^ i 
Arguments: {R : Type u} [Semiring R] {p : R[X]} (hp : p.Monic)
Goal: p = Polynomial.X ^ p.natDegree + ∑ i ∈ Finset.range p.natDegree, Polynomial.C (p.coeff i) * Polynomial.X ^ i
-- Polynomial.ne_zero_of_ne_zero_of_monic
theorem ne_zero_of_ne_zero_of_monic (hp : p ≠ 0) (hq : Monic q) : q ≠ 0 
Arguments: {R : Type u} [Semiring R] {p q : R[X]} (hp : p ≠ 0) (hq : q.Monic)
Goal: q ≠ 0
-- Polynomial.Monic.map
theorem Monic.map [Semiring S] (f : R →+* S) (hp : Monic p) : Monic (p.map f) 
Arguments: {R : Type u} {S : Type v} [Semiring R] {p : R[X]} [Semiring S] (f : R →+* S) (hp : p.Monic)
Goal: (Polynomial.map f p).Monic
-- Polynomial.monic_C_mul_of_mul_leadingCoeff_eq_one
theorem monic_C_mul_of_mul_leadingCoeff_eq_one {b : R} (hp : b * p.leadingCoeff = 1) :
    Monic (C b * p) 
Arguments: {R : Type u} [Semiring R] {p : R[X]} {b : R} (hp : b * p.leadingCoeff = 1)
Goal: (Polynomial.C b * p).Monic
-- Polynomial.monic_mul_C_of_leadingCoeff_mul_eq_one
theorem monic_mul_C_of_leadingCoeff_mul_eq_one {b : R} (hp : p.leadingCoeff * b = 1) :
    Monic (p * C b) 
Arguments: {R : Type u} [Semiring R] {p : R[X]} {b : R} (hp : p.leadingCoeff * b = 1)
Goal: (p * Polynomial.C b).Monic
-- Polynomial.monic_of_degree_le
theorem monic_of_degree_le (n : ℕ) (H1 : degree p ≤ n) (H2 : coeff p n = 1) : Monic p 
Arguments: {R : Type u} [Semiring R] {p : R[X]} (n : ℕ) (H1 : p.degree ≤ ↑n) (H2 : p.coeff n = 1)
Goal: p.Monic
-- Polynomial.monic_X_pow_add
theorem monic_X_pow_add {n : ℕ} (H : degree p ≤ n) : Monic (X ^ (n + 1) + p) 
Arguments: {R : Type u} [Semiring R] {p : R[X]} {n : ℕ} (H : p.degree ≤ ↑n)
Goal: (Polynomial.X ^ (n + 1) + p).Monic
-- Polynomial.monic_X_pow_add_C
theorem monic_X_pow_add_C {n : ℕ} (h : n ≠ 0) : (X ^ n + C a).Monic 
Arguments: {R : Type u} (a : R) [Semiring R] {n : ℕ} (h : n ≠ 0)
Goal: (Polynomial.X ^ n + Polynomial.C a).Monic
-- Polynomial.monic_X_add_C
theorem monic_X_add_C (x : R) : Monic (X + C x) 
Arguments: {R : Type u} [Semiring R] (x : R)
Goal: (Polynomial.X + Polynomial.C x).Monic
-- Polynomial.Monic.mul
theorem Monic.mul (hp : Monic p) (hq : Monic q) : Monic (p * q) 
Arguments: {R : Type u} [Semiring R] {p q : R[X]} (hp : p.Monic) (hq : q.Monic)
Goal: (p * q).Monic
-- Polynomial.Monic.pow
theorem Monic.pow (hp : Monic p) : ∀ n : ℕ, Monic (p ^ n)
  
Arguments: {R : Type u} [Semiring R] {p : R[X]} (hp : p.Monic) (n : ℕ)
Goal: (p ^ n).Monic