ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- SheafOfModules.toSheaf_map_val
@[simps]
def toSheaf : SheafOfModules.{v} R ⥤ Sheaf J AddCommGrp.{v} 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat)
Goal: ∀ {X Y : SheafOfModules R} (f : X ⟶ Y), ((SheafOfModules.toSheaf R).map f).val = f.val.hom
-- SheafOfModules.toSheaf_obj_val
@[simps]
def toSheaf : SheafOfModules.{v} R ⥤ Sheaf J AddCommGrp.{v} 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat) (M : SheafOfModules R)
Goal: ((SheafOfModules.toSheaf R).obj M).val = M.val.presheaf
-- SheafOfModules.forgetToSheafModuleCat_map_val
@[simps]
noncomputable def forgetToSheafModuleCat
      (X : Cᵒᵖ) (hX : Limits.IsInitial X)  :
    SheafOfModules.{w} R ⥤ Sheaf J (ModuleCat.{w} (R.1.obj X)) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat) (X : Cᵒᵖ) (hX : CategoryTheory.Limits.IsInitial X)
Goal: ∀ {X_1 Y : SheafOfModules R} (f : X_1 ⟶ Y),
  ((SheafOfModules.forgetToSheafModuleCat R X hX).map f).val =
    (PresheafOfModules.forgetToPresheafModuleCat X hX).map f.val
-- SheafOfModules.forgetToSheafModuleCat_obj_val
@[simps]
noncomputable def forgetToSheafModuleCat
      (X : Cᵒᵖ) (hX : Limits.IsInitial X)  :
    SheafOfModules.{w} R ⥤ Sheaf J (ModuleCat.{w} (R.1.obj X)) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat) (X : Cᵒᵖ) (hX : CategoryTheory.Limits.IsInitial X) (M : SheafOfModules R)
Goal: ((SheafOfModules.forgetToSheafModuleCat R X hX).obj M).val =
  (PresheafOfModules.forgetToPresheafModuleCat X hX).obj M.val
-- SheafOfModules.add_val
@[simp]
lemma add_val {M N : SheafOfModules.{v} R} (f g : M ⟶ N) :
    (f + g).val = f.val + g.val 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat) {M N : SheafOfModules R} (f g : M ⟶ N)
Goal: (f + g).val = f.val + g.val
-- SheafOfModules.sectionsMap_comp
@[simp]
lemma sectionsMap_comp {M N P : SheafOfModules.{v} R} (f : M ⟶ N) (g : N ⟶ P) (s : M.sections) :
    sectionsMap (f ≫ g) s = sectionsMap g (sectionsMap f s) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : CategoryTheory.Sheaf J RingCat} {M N P : SheafOfModules R} (f : M ⟶ N) (g : N ⟶ P) (s : M.sections)
Goal: SheafOfModules.sectionsMap (f ≫ g) s = SheafOfModules.sectionsMap g (SheafOfModules.sectionsMap f s)
-- SheafOfModules.sectionsMap_id
@[simp]
lemma sectionsMap_id {M : SheafOfModules.{v} R} (s : M.sections) :
    sectionsMap (𝟙 M) s = s 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : CategoryTheory.Sheaf J RingCat} {M : SheafOfModules R} (s : M.sections)
Goal: SheafOfModules.sectionsMap (𝟙 M) s = s
-- SheafOfModules.sectionsFunctor_map
@[simps]
def sectionsFunctor : SheafOfModules.{v} R ⥤ Type _ 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat)
Goal: ∀ {X Y : SheafOfModules R} (f : X ⟶ Y) (s : X.sections),
  (SheafOfModules.sectionsFunctor R).map f s = SheafOfModules.sectionsMap f s
-- SheafOfModules.sectionsFunctor_obj
@[simps]
def sectionsFunctor : SheafOfModules.{v} R ⥤ Type _ 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat) (M : SheafOfModules R)
Goal: (SheafOfModules.sectionsFunctor R).obj M = M.sections
-- SheafOfModules.unit_val
@[simps]
def unit : SheafOfModules R 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} (R : CategoryTheory.Sheaf J RingCat) [J.HasSheafCompose (CategoryTheory.forget₂ RingCat AddCommGrp)]
Goal: (SheafOfModules.unit R).val = PresheafOfModules.unit R.val
-- SheafOfModules.unitHomEquiv_apply_coe
@[simp]
lemma unitHomEquiv_apply_coe (M : SheafOfModules R) (f : unit R ⟶ M) (X : Cᵒᵖ) :
    (M.unitHomEquiv f).val X = f.val.app X (1 : R.val.obj X) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : CategoryTheory.Sheaf J RingCat} [J.HasSheafCompose (CategoryTheory.forget₂ RingCat AddCommGrp)] (M : SheafOfModules R) (f : SheafOfModules.unit R ⟶ M) (X : Cᵒᵖ)
Goal: ↑(M.unitHomEquiv f) X = (PresheafOfModules.Hom.app f.val X) 1
-- SheafOfModules.unitHomEquiv_comp_apply
lemma unitHomEquiv_comp_apply {M N : SheafOfModules.{u} R}
    (f : unit R ⟶ M) (p : M ⟶ N) :
    N.unitHomEquiv (f ≫ p) = sectionsMap p (M.unitHomEquiv f) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : CategoryTheory.Sheaf J RingCat} [J.HasSheafCompose (CategoryTheory.forget₂ RingCat AddCommGrp)] {M N : SheafOfModules R} (f : SheafOfModules.unit R ⟶ M) (p : M ⟶ N)
Goal: N.unitHomEquiv (f ≫ p) = SheafOfModules.sectionsMap p (M.unitHomEquiv f)
-- SheafOfModules.unitHomEquiv_symm_comp
lemma unitHomEquiv_symm_comp {M N : SheafOfModules.{u} R} (s : M.sections) (p : M ⟶ N) :
    M.unitHomEquiv.symm s ≫ p = N.unitHomEquiv.symm (sectionsMap p s) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : CategoryTheory.Sheaf J RingCat} [J.HasSheafCompose (CategoryTheory.forget₂ RingCat AddCommGrp)] {M N : SheafOfModules R} (s : M.sections) (p : M ⟶ N)
Goal: M.unitHomEquiv.symm s ≫ p = N.unitHomEquiv.symm (SheafOfModules.sectionsMap p s)
-- PresheafOfModules.homEquivOfIsLocallyBijective_apply
@[simps]
noncomputable def homEquivOfIsLocallyBijective : (M₂ ⟶ N) ≃ (M₁ ⟶ N) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : Cᵒᵖ ⥤ RingCat} {M₁ M₂ : PresheafOfModules R} (f : M₁ ⟶ M₂) {N : PresheafOfModules R} (hN : CategoryTheory.Presheaf.IsSheaf J N.presheaf) [J.WEqualsLocallyBijective AddCommGrp] [CategoryTheory.Presheaf.IsLocallySurjective J f.hom] [CategoryTheory.Presheaf.IsLocallyInjective J f.hom] (φ : M₂ ⟶ N)
Goal: (PresheafOfModules.homEquivOfIsLocallyBijective f hN) φ = f ≫ φ
-- PresheafOfModules.homEquivOfIsLocallyBijective_symm_apply_hom
@[simps]
noncomputable def homEquivOfIsLocallyBijective : (M₂ ⟶ N) ≃ (M₁ ⟶ N) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {J : CategoryTheory.GrothendieckTopology C} {R : Cᵒᵖ ⥤ RingCat} {M₁ M₂ : PresheafOfModules R} (f : M₁ ⟶ M₂) {N : PresheafOfModules R} (hN : CategoryTheory.Presheaf.IsSheaf J N.presheaf) [J.WEqualsLocallyBijective AddCommGrp] [CategoryTheory.Presheaf.IsLocallySurjective J f.hom] [CategoryTheory.Presheaf.IsLocallyInjective J f.hom] (ψ : M₁ ⟶ N)
Goal: ((PresheafOfModules.homEquivOfIsLocallyBijective f hN).symm ψ).hom =
  (CategoryTheory.Localization.LeftBousfield.W.homEquiv ⋯ N.presheaf hN).symm ψ.hom
-- PresheafOfModules.restrictScalarsBundledCore_map_apply
@[simps]
noncomputable def restrictScalarsBundledCore (M' : PresheafOfModules R') (α : R ⟶ R') :
    BundledCorePresheafOfModules R 
Arguments: {C : Type u'} [CategoryTheory.Category.{v', u'} C] {R R' : Cᵒᵖ ⥤ RingCat} (M' : PresheafOfModules R') (α : R ⟶ R') {X Y : Cᵒᵖ} (f : X ⟶ Y) (a : ↑(M'.obj X))
Goal: ((M'.restrictScalarsBundledCore α).map f) a = (M'.map f) a
-- PresheafOfModules.restrictScalarsBundledCore_obj
@[simps]
noncomputable def restrictScalarsBundledCore (M' : PresheafOfModules R') (α : R ⟶ R') :
    BundledCorePresheafOfModules R 
Arguments: {C : Type u'} [CategoryTheory.Category.{v', u'} C] {R R' : Cᵒᵖ ⥤ RingCat} (M' : PresheafOfModules R') (α : R ⟶ R') (X : Cᵒᵖ)
Goal: (M'.restrictScalarsBundledCore α).obj X = (ModuleCat.restrictScalars (α.app X)).obj (M'.obj X)
-- PresheafOfModules.restrictScalars_obj
@[simps]
noncomputable def restrictScalars (α : R ⟶ R') :
    PresheafOfModules.{v} R' ⥤ PresheafOfModules.{v} R 
Arguments: {C : Type u'} [CategoryTheory.Category.{v', u'} C] {R R' : Cᵒᵖ ⥤ RingCat} (α : R ⟶ R') (M' : PresheafOfModules R')
Goal: (PresheafOfModules.restrictScalars α).obj M' = (M'.restrictScalarsBundledCore α).toPresheafOfModules
-- PresheafOfModules.restrictScalars_map_hom
@[simps]
noncomputable def restrictScalars (α : R ⟶ R') :
    PresheafOfModules.{v} R' ⥤ PresheafOfModules.{v} R 
Arguments: {C : Type u'} [CategoryTheory.Category.{v', u'} C] {R R' : Cᵒᵖ ⥤ RingCat} (α : R ⟶ R') {M₁' M₂' : PresheafOfModules R'} (φ : M₁' ⟶ M₂')
Goal: ((PresheafOfModules.restrictScalars α).map φ).hom = φ.hom
-- PresheafOfModules.pushforward_obj_obj
lemma pushforward_obj_obj (M : PresheafOfModules.{v} R) (X : Cᵒᵖ) :
    ((pushforward φ).obj M).obj X =
      (ModuleCat.restrictScalars (φ.app X)).obj (M.obj (Opposite.op (F.obj X.unop))) 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : C ⥤ D} {R : Dᵒᵖ ⥤ RingCat} {S : Cᵒᵖ ⥤ RingCat} (φ : S ⟶ F.op ⋙ R) (M : PresheafOfModules R) (X : Cᵒᵖ)
Goal: ((PresheafOfModules.pushforward φ).obj M).obj X =
  (ModuleCat.restrictScalars (φ.app X)).obj (M.obj (Opposite.op (F.obj (Opposite.unop X))))
-- PresheafOfModules.pushforward_obj_map_apply
@[simp]
lemma pushforward_obj_map_apply (M : PresheafOfModules.{v} R) {X Y : Cᵒᵖ} (f : X ⟶ Y)
    (m : (ModuleCat.restrictScalars (φ.app X)).obj (M.obj (Opposite.op (F.obj X.unop)))) :
      ((pushforward φ).obj M).map f m = M.map (F.map f.unop).op m 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : C ⥤ D} {R : Dᵒᵖ ⥤ RingCat} {S : Cᵒᵖ ⥤ RingCat} (φ : S ⟶ F.op ⋙ R) (M : PresheafOfModules R) {X Y : Cᵒᵖ} (f : X ⟶ Y) (m : ↑((ModuleCat.restrictScalars (φ.app X)).obj (M.obj (Opposite.op (F.obj (Opposite.unop X))))))
Goal: (((PresheafOfModules.pushforward φ).obj M).map f) m = (M.map (F.map f.unop).op) m
-- PresheafOfModules.pushforward_map_app_apply
@[simp]
lemma pushforward_map_app_apply {M N : PresheafOfModules.{v} R} (α : M ⟶ N) (X : Cᵒᵖ)
    (m : (ModuleCat.restrictScalars (φ.app X)).obj (M.obj (Opposite.op (F.obj X.unop)))) :
    ((pushforward φ).map α).app X m = α.app (Opposite.op (F.obj X.unop)) m 
Arguments: {C : Type u₁} [CategoryTheory.Category.{v₁, u₁} C] {D : Type u₂} [CategoryTheory.Category.{v₂, u₂} D] {F : C ⥤ D} {R : Dᵒᵖ ⥤ RingCat} {S : Cᵒᵖ ⥤ RingCat} (φ : S ⟶ F.op ⋙ R) {M N : PresheafOfModules R} (α : M ⟶ N) (X : Cᵒᵖ) (m : ↑((ModuleCat.restrictScalars (φ.app X)).obj (M.obj (Opposite.op (F.obj (Opposite.unop X))))))
Goal: (PresheafOfModules.Hom.app ((PresheafOfModules.pushforward φ).map α) X) m =
  (PresheafOfModules.Hom.app α (Opposite.op (F.obj (Opposite.unop X)))) m
-- ModuleCat.isScalarTower_of_algebra_moduleCat
theorem isScalarTower_of_algebra_moduleCat (M : ModuleCat.{v} A) : IsScalarTower k A M 
Arguments: {k : Type u} [Field k] {A : Type w} [Ring A] [Algebra k A] (M : ModuleCat A)
Goal: IsScalarTower k A ↑M
-- geom_sum_succ
theorem geom_sum_succ {x : α} {n : ℕ} :
    ∑ i ∈ range (n + 1), x ^ i = (x * ∑ i ∈ range n, x ^ i) + 1 
Arguments: {α : Type u} [Semiring α] {x : α} {n : ℕ}
Goal: ∑ i ∈ Finset.range (n + 1), x ^ i = x * ∑ i ∈ Finset.range n, x ^ i + 1
-- geom_sum_succ'
theorem geom_sum_succ' {x : α} {n : ℕ} :
    ∑ i ∈ range (n + 1), x ^ i = x ^ n + ∑ i ∈ range n, x ^ i 
Arguments: {α : Type u} [Semiring α] {x : α} {n : ℕ}
Goal: ∑ i ∈ Finset.range (n + 1), x ^ i = x ^ n + ∑ i ∈ Finset.range n, x ^ i
-- geom_sum_zero
theorem geom_sum_zero (x : α) : ∑ i ∈ range 0, x ^ i = 0 
Arguments: {α : Type u} [Semiring α] (x : α)
Goal: ∑ i ∈ Finset.range 0, x ^ i = 0
-- geom_sum_one
theorem geom_sum_one (x : α) : ∑ i ∈ range 1, x ^ i = 1 
Arguments: {α : Type u} [Semiring α] (x : α)
Goal: ∑ i ∈ Finset.range 1, x ^ i = 1
-- geom_sum_two
@[simp]
theorem geom_sum_two {x : α} : ∑ i ∈ range 2, x ^ i = x + 1 
Arguments: {α : Type u} [Semiring α] {x : α}
Goal: ∑ i ∈ Finset.range 2, x ^ i = x + 1
-- zero_geom_sum
@[simp]
theorem zero_geom_sum : ∀ {n}, ∑ i ∈ range n, (0 : α) ^ i = if n = 0 then 0 else 1
  
Arguments: {α : Type u} [Semiring α] {n : ℕ}
Goal: ∑ i ∈ Finset.range n, 0 ^ i = if n = 0 then 0 else 1
-- one_geom_sum
theorem one_geom_sum (n : ℕ) : ∑ i ∈ range n, (1 : α) ^ i = n 
Arguments: {α : Type u} [Semiring α] (n : ℕ)
Goal: ∑ i ∈ Finset.range n, 1 ^ i = ↑n
-- op_geom_sum
theorem op_geom_sum (x : α) (n : ℕ) : op (∑ i ∈ range n, x ^ i) = ∑ i ∈ range n, op x ^ i 
Arguments: {α : Type u} [Semiring α] (x : α) (n : ℕ)
Goal: MulOpposite.op (∑ i ∈ Finset.range n, x ^ i) = ∑ i ∈ Finset.range n, MulOpposite.op x ^ i
-- op_geom_sum₂
@[simp]
theorem op_geom_sum₂ (x y : α) (n : ℕ) : ∑ i ∈ range n, op y ^ (n - 1 - i) * op x ^ i =
    ∑ i ∈ range n, op y ^ i * op x ^ (n - 1 - i) 
Arguments: {α : Type u} [Semiring α] (x y : α) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, MulOpposite.op y ^ (n - 1 - i) * MulOpposite.op x ^ i =
  ∑ i ∈ Finset.range n, MulOpposite.op y ^ i * MulOpposite.op x ^ (n - 1 - i)
-- geom_sum₂_with_one
theorem geom_sum₂_with_one (x : α) (n : ℕ) :
    ∑ i ∈ range n, x ^ i * 1 ^ (n - 1 - i) = ∑ i ∈ range n, x ^ i 
Arguments: {α : Type u} [Semiring α] (x : α) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x ^ i * 1 ^ (n - 1 - i) = ∑ i ∈ Finset.range n, x ^ i
-- Commute.geom_sum₂_mul_add
protected theorem Commute.geom_sum₂_mul_add {x y : α} (h : Commute x y) (n : ℕ) :
    (∑ i ∈ range n, (x + y) ^ i * y ^ (n - 1 - i)) * x + y ^ n = (x + y) ^ n 
Arguments: {α : Type u} [Semiring α] {x y : α} (h : Commute x y) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, (x + y) ^ i * y ^ (n - 1 - i)) * x + y ^ n = (x + y) ^ n
-- neg_one_geom_sum
@[simp]
theorem neg_one_geom_sum [Ring α] {n : ℕ} :
    ∑ i ∈ range n, (-1 : α) ^ i = if Even n then 0 else 1 
Arguments: {α : Type u} [Ring α] {n : ℕ}
Goal: ∑ i ∈ Finset.range n, (-1) ^ i = if Even n then 0 else 1
-- geom_sum₂_self
theorem geom_sum₂_self {α : Type*} [CommRing α] (x : α) (n : ℕ) :
    ∑ i ∈ range n, x ^ i * x ^ (n - 1 - i) = n * x ^ (n - 1) 
Arguments: {α : Type u_1} [CommRing α] (x : α) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x ^ i * x ^ (n - 1 - i) = ↑n * x ^ (n - 1)
-- geom_sum₂_mul_add
theorem geom_sum₂_mul_add [CommSemiring α] (x y : α) (n : ℕ) :
    (∑ i ∈ range n, (x + y) ^ i * y ^ (n - 1 - i)) * x + y ^ n = (x + y) ^ n 
Arguments: {α : Type u} [CommSemiring α] (x y : α) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, (x + y) ^ i * y ^ (n - 1 - i)) * x + y ^ n = (x + y) ^ n
-- geom_sum_mul_add
theorem geom_sum_mul_add [Semiring α] (x : α) (n : ℕ) :
    (∑ i ∈ range n, (x + 1) ^ i) * x + 1 = (x + 1) ^ n 
Arguments: {α : Type u} [Semiring α] (x : α) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, (x + 1) ^ i) * x + 1 = (x + 1) ^ n
-- Commute.geom_sum₂_mul
protected theorem Commute.geom_sum₂_mul [Ring α] {x y : α} (h : Commute x y) (n : ℕ) :
    (∑ i ∈ range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n
-- Commute.mul_neg_geom_sum₂
theorem Commute.mul_neg_geom_sum₂ [Ring α] {x y : α} (h : Commute x y) (n : ℕ) :
    ((y - x) * ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i)) = y ^ n - x ^ n 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) (n : ℕ)
Goal: (y - x) * ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) = y ^ n - x ^ n
-- Commute.mul_geom_sum₂
theorem Commute.mul_geom_sum₂ [Ring α] {x y : α} (h : Commute x y) (n : ℕ) :
    ((x - y) * ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i)) = x ^ n - y ^ n 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) (n : ℕ)
Goal: (x - y) * ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) = x ^ n - y ^ n
-- geom_sum₂_mul
theorem geom_sum₂_mul [CommRing α] (x y : α) (n : ℕ) :
    (∑ i ∈ range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n 
Arguments: {α : Type u} [CommRing α] (x y : α) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ n
-- Commute.sub_dvd_pow_sub_pow
theorem Commute.sub_dvd_pow_sub_pow [Ring α] {x y : α} (h : Commute x y) (n : ℕ) :
    x - y ∣ x ^ n - y ^ n 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) (n : ℕ)
Goal: x - y ∣ x ^ n - y ^ n
-- sub_dvd_pow_sub_pow
theorem sub_dvd_pow_sub_pow [CommRing α] (x y : α) (n : ℕ) : x - y ∣ x ^ n - y ^ n 
Arguments: {α : Type u} [CommRing α] (x y : α) (n : ℕ)
Goal: x - y ∣ x ^ n - y ^ n
-- one_sub_dvd_one_sub_pow
theorem one_sub_dvd_one_sub_pow [Ring α] (x : α) (n : ℕ) :
    1 - x ∣ 1 - x ^ n 
Arguments: {α : Type u} [Ring α] (x : α) (n : ℕ)
Goal: 1 - x ∣ 1 - x ^ n
-- sub_one_dvd_pow_sub_one
theorem sub_one_dvd_pow_sub_one [Ring α] (x : α) (n : ℕ) :
    x - 1 ∣ x ^ n - 1 
Arguments: {α : Type u} [Ring α] (x : α) (n : ℕ)
Goal: x - 1 ∣ x ^ n - 1
-- nat_sub_dvd_pow_sub_pow
theorem nat_sub_dvd_pow_sub_pow (x y n : ℕ) : x - y ∣ x ^ n - y ^ n 
Arguments: (x y n : ℕ)
Goal: x - y ∣ x ^ n - y ^ n
-- Odd.add_dvd_pow_add_pow
theorem Odd.add_dvd_pow_add_pow [CommRing α] (x y : α) {n : ℕ} (h : Odd n) :
    x + y ∣ x ^ n + y ^ n 
Arguments: {α : Type u} [CommRing α] (x y : α) {n : ℕ} (h : Odd n)
Goal: x + y ∣ x ^ n + y ^ n
-- Odd.nat_add_dvd_pow_add_pow
theorem Odd.nat_add_dvd_pow_add_pow (x y : ℕ) {n : ℕ} (h : Odd n) : x + y ∣ x ^ n + y ^ n 
Arguments: (x y : ℕ) {n : ℕ} (h : Odd n)
Goal: x + y ∣ x ^ n + y ^ n
-- geom_sum_mul
theorem geom_sum_mul [Ring α] (x : α) (n : ℕ) : (∑ i ∈ range n, x ^ i) * (x - 1) = x ^ n - 1 
Arguments: {α : Type u} [Ring α] (x : α) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, x ^ i) * (x - 1) = x ^ n - 1
-- mul_geom_sum
theorem mul_geom_sum [Ring α] (x : α) (n : ℕ) : ((x - 1) * ∑ i ∈ range n, x ^ i) = x ^ n - 1 
Arguments: {α : Type u} [Ring α] (x : α) (n : ℕ)
Goal: (x - 1) * ∑ i ∈ Finset.range n, x ^ i = x ^ n - 1
-- geom_sum_mul_neg
theorem geom_sum_mul_neg [Ring α] (x : α) (n : ℕ) :
    (∑ i ∈ range n, x ^ i) * (1 - x) = 1 - x ^ n 
Arguments: {α : Type u} [Ring α] (x : α) (n : ℕ)
Goal: (∑ i ∈ Finset.range n, x ^ i) * (1 - x) = 1 - x ^ n
-- mul_neg_geom_sum
theorem mul_neg_geom_sum [Ring α] (x : α) (n : ℕ) : ((1 - x) * ∑ i ∈ range n, x ^ i) = 1 - x ^ n 
Arguments: {α : Type u} [Ring α] (x : α) (n : ℕ)
Goal: (1 - x) * ∑ i ∈ Finset.range n, x ^ i = 1 - x ^ n
-- Commute.geom_sum₂_comm
protected theorem Commute.geom_sum₂_comm {α : Type u} [Semiring α] {x y : α} (n : ℕ)
    (h : Commute x y) :
    ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) = ∑ i ∈ range n, y ^ i * x ^ (n - 1 - i) 
Arguments: {α : Type u} [Semiring α] {x y : α} (n : ℕ) (h : Commute x y)
Goal: ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) = ∑ i ∈ Finset.range n, y ^ i * x ^ (n - 1 - i)
-- geom_sum₂_comm
theorem geom_sum₂_comm {α : Type u} [CommSemiring α] (x y : α) (n : ℕ) :
    ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) = ∑ i ∈ range n, y ^ i * x ^ (n - 1 - i) 
Arguments: {α : Type u} [CommSemiring α] (x y : α) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) = ∑ i ∈ Finset.range n, y ^ i * x ^ (n - 1 - i)
-- Commute.geom_sum₂
protected theorem Commute.geom_sum₂ [DivisionRing α] {x y : α} (h' : Commute x y) (h : x ≠ y)
    (n : ℕ) : ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y) 
Arguments: {α : Type u} [DivisionRing α] {x y : α} (h' : Commute x y) (h : x ≠ y) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y)
-- geom₂_sum
theorem geom₂_sum [Field α] {x y : α} (h : x ≠ y) (n : ℕ) :
    ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y) 
Arguments: {α : Type u} [Field α] {x y : α} (h : x ≠ y) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ n) / (x - y)
-- geom_sum_eq
theorem geom_sum_eq [DivisionRing α] {x : α} (h : x ≠ 1) (n : ℕ) :
    ∑ i ∈ range n, x ^ i = (x ^ n - 1) / (x - 1) 
Arguments: {α : Type u} [DivisionRing α] {x : α} (h : x ≠ 1) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x ^ i = (x ^ n - 1) / (x - 1)
-- Commute.mul_geom_sum₂_Ico
protected theorem Commute.mul_geom_sum₂_Ico [Ring α] {x y : α} (h : Commute x y) {m n : ℕ}
    (hmn : m ≤ n) :
    ((x - y) * ∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) = x ^ n - x ^ m * y ^ (n - m) 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) {m n : ℕ} (hmn : m ≤ n)
Goal: (x - y) * ∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = x ^ n - x ^ m * y ^ (n - m)
-- Commute.geom_sum₂_succ_eq
protected theorem Commute.geom_sum₂_succ_eq {α : Type u} [Ring α] {x y : α} (h : Commute x y)
    {n : ℕ} :
    ∑ i ∈ range (n + 1), x ^ i * y ^ (n - i) =
      x ^ n + y * ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) {n : ℕ}
Goal: ∑ i ∈ Finset.range (n + 1), x ^ i * y ^ (n - i) = x ^ n + y * ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i)
-- geom_sum₂_succ_eq
theorem geom_sum₂_succ_eq {α : Type u} [CommRing α] (x y : α) {n : ℕ} :
    ∑ i ∈ range (n + 1), x ^ i * y ^ (n - i) =
      x ^ n + y * ∑ i ∈ range n, x ^ i * y ^ (n - 1 - i) 
Arguments: {α : Type u} [CommRing α] (x y : α) {n : ℕ}
Goal: ∑ i ∈ Finset.range (n + 1), x ^ i * y ^ (n - i) = x ^ n + y * ∑ i ∈ Finset.range n, x ^ i * y ^ (n - 1 - i)
-- mul_geom_sum₂_Ico
theorem mul_geom_sum₂_Ico [CommRing α] (x y : α) {m n : ℕ} (hmn : m ≤ n) :
    ((x - y) * ∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) = x ^ n - x ^ m * y ^ (n - m) 
Arguments: {α : Type u} [CommRing α] (x y : α) {m n : ℕ} (hmn : m ≤ n)
Goal: (x - y) * ∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = x ^ n - x ^ m * y ^ (n - m)
-- Commute.geom_sum₂_Ico_mul
protected theorem Commute.geom_sum₂_Ico_mul [Ring α] {x y : α} (h : Commute x y) {m n : ℕ}
    (hmn : m ≤ n) :
    (∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ (n - m) * x ^ m 
Arguments: {α : Type u} [Ring α] {x y : α} (h : Commute x y) {m n : ℕ} (hmn : m ≤ n)
Goal: (∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) * (x - y) = x ^ n - y ^ (n - m) * x ^ m
-- geom_sum_Ico_mul
theorem geom_sum_Ico_mul [Ring α] (x : α) {m n : ℕ} (hmn : m ≤ n) :
    (∑ i ∈ Finset.Ico m n, x ^ i) * (x - 1) = x ^ n - x ^ m 
Arguments: {α : Type u} [Ring α] (x : α) {m n : ℕ} (hmn : m ≤ n)
Goal: (∑ i ∈ Finset.Ico m n, x ^ i) * (x - 1) = x ^ n - x ^ m
-- geom_sum_Ico_mul_neg
theorem geom_sum_Ico_mul_neg [Ring α] (x : α) {m n : ℕ} (hmn : m ≤ n) :
    (∑ i ∈ Finset.Ico m n, x ^ i) * (1 - x) = x ^ m - x ^ n 
Arguments: {α : Type u} [Ring α] (x : α) {m n : ℕ} (hmn : m ≤ n)
Goal: (∑ i ∈ Finset.Ico m n, x ^ i) * (1 - x) = x ^ m - x ^ n
-- Commute.geom_sum₂_Ico
protected theorem Commute.geom_sum₂_Ico [DivisionRing α] {x y : α} (h : Commute x y) (hxy : x ≠ y)
    {m n : ℕ} (hmn : m ≤ n) :
    (∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) = (x ^ n - y ^ (n - m) * x ^ m) / (x - y) 
Arguments: {α : Type u} [DivisionRing α] {x y : α} (h : Commute x y) (hxy : x ≠ y) {m n : ℕ} (hmn : m ≤ n)
Goal: ∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ (n - m) * x ^ m) / (x - y)
-- geom_sum₂_Ico
theorem geom_sum₂_Ico [Field α] {x y : α} (hxy : x ≠ y) {m n : ℕ} (hmn : m ≤ n) :
    (∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i)) = (x ^ n - y ^ (n - m) * x ^ m) / (x - y) 
Arguments: {α : Type u} [Field α] {x y : α} (hxy : x ≠ y) {m n : ℕ} (hmn : m ≤ n)
Goal: ∑ i ∈ Finset.Ico m n, x ^ i * y ^ (n - 1 - i) = (x ^ n - y ^ (n - m) * x ^ m) / (x - y)
-- geom_sum_Ico
theorem geom_sum_Ico [DivisionRing α] {x : α} (hx : x ≠ 1) {m n : ℕ} (hmn : m ≤ n) :
    ∑ i ∈ Finset.Ico m n, x ^ i = (x ^ n - x ^ m) / (x - 1) 
Arguments: {α : Type u} [DivisionRing α] {x : α} (hx : x ≠ 1) {m n : ℕ} (hmn : m ≤ n)
Goal: ∑ i ∈ Finset.Ico m n, x ^ i = (x ^ n - x ^ m) / (x - 1)
-- geom_sum_Ico'
theorem geom_sum_Ico' [DivisionRing α] {x : α} (hx : x ≠ 1) {m n : ℕ} (hmn : m ≤ n) :
    ∑ i ∈ Finset.Ico m n, x ^ i = (x ^ m - x ^ n) / (1 - x) 
Arguments: {α : Type u} [DivisionRing α] {x : α} (hx : x ≠ 1) {m n : ℕ} (hmn : m ≤ n)
Goal: ∑ i ∈ Finset.Ico m n, x ^ i = (x ^ m - x ^ n) / (1 - x)
-- geom_sum_Ico_le_of_lt_one
theorem geom_sum_Ico_le_of_lt_one [LinearOrderedField α] {x : α} (hx : 0 ≤ x) (h'x : x < 1)
    {m n : ℕ} : ∑ i ∈ Ico m n, x ^ i ≤ x ^ m / (1 - x) 
Arguments: {α : Type u} [LinearOrderedField α] {x : α} (hx : 0 ≤ x) (h'x : x < 1) {m n : ℕ}
Goal: ∑ i ∈ Finset.Ico m n, x ^ i ≤ x ^ m / (1 - x)
-- geom_sum_inv
theorem geom_sum_inv [DivisionRing α] {x : α} (hx1 : x ≠ 1) (hx0 : x ≠ 0) (n : ℕ) :
    ∑ i ∈ range n, x⁻¹ ^ i = (x - 1)⁻¹ * (x - x⁻¹ ^ n * x) 
Arguments: {α : Type u} [DivisionRing α] {x : α} (hx1 : x ≠ 1) (hx0 : x ≠ 0) (n : ℕ)
Goal: ∑ i ∈ Finset.range n, x⁻¹ ^ i = (x - 1)⁻¹ * (x - x⁻¹ ^ n * x)