1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Basis.reindex_refl
File: Mathlib/LinearAlgebra/Basis.lean

tactic: simp
state_before: ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i✝ : ι
c : R
x : M
b' : Basis ι' R M'
e : ι ≃ ι'
i : ι
⊢ (b.reindex (Equiv.refl ι)) i = b i
state_after: no goals
Theorem: NNReal.coe_tsum
File: Mathlib/Topology/Instances/NNReal.lean

tactic: simp [tsum_def, hf, mt summable_coe.1 hf]
state_before: α : Type u_1
f : α → ℝ≥0
hf : ¬Summable f
⊢ ↑(∑' (a : α), f a) = ∑' (a : α), ↑(f a)
state_after: no goals
Theorem: IsGroupHom.map_inv
File: Mathlib/Deprecated/Group.lean

tactic: rw [← hf.map_mul, inv_mul_self, hf.map_one]
state_before: α : Type u
β : Type v
inst✝¹ : Group α
inst✝ : Group β
f : α → β
hf✝ hf : IsGroupHom f
a : α
⊢ f a⁻¹ * f a = 1
state_after: no goals
Theorem: MeasurableEmbedding.measurableSet_range
File: Mathlib/MeasureTheory/MeasurableSpace/Embedding.lean

tactic: rw [← image_univ]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s t u : Set α
mα : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
f : α → β
g : β → γ
hf : MeasurableEmbedding f
⊢ MeasurableSet (range f)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s t u : Set α
mα : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
f : α → β
g : β → γ
hf : MeasurableEmbedding f
⊢ MeasurableSet (f '' univ)

tactic: exact hf.measurableSet_image' MeasurableSet.univ
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
δ' : Type u_5
ι : Sort uι
s t u : Set α
mα : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
f : α → β
g : β → γ
hf : MeasurableEmbedding f
⊢ MeasurableSet (f '' univ)
state_after: no goals
Theorem: ClassGroup.mk_eq_mk
File: Mathlib/RingTheory/ClassGroup.lean

tactic: erw [QuotientGroup.mk'_eq_mk', canonicalEquiv_self, Units.map_id, Set.exists_range_iff]
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : Field K
inst✝⁸ : Field L
inst✝⁷ : DecidableEq L
inst✝⁶ : Algebra R K
inst✝⁵ : IsFractionRing R K
inst✝⁴ : Algebra K L
inst✝³ : FiniteDimensional K L
inst✝² : Algebra R L
inst✝¹ : IsScalarTower R K L
inst✝ : IsDomain R
I J : (FractionalIdeal R⁰ (FractionRing R))ˣ
⊢ mk I = mk J ↔ ∃ x, I * (toPrincipalIdeal R (FractionRing R)) x = J
state_after: R : Type u_1
K : Type u_2
L : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : Field K
inst✝⁸ : Field L
inst✝⁷ : DecidableEq L
inst✝⁶ : Algebra R K
inst✝⁵ : IsFractionRing R K
inst✝⁴ : Algebra K L
inst✝³ : FiniteDimensional K L
inst✝² : Algebra R L
inst✝¹ : IsScalarTower R K L
inst✝ : IsDomain R
I J : (FractionalIdeal R⁰ (FractionRing R))ˣ
⊢ (∃ i,
      (MonoidHom.id (FractionalIdeal R⁰ (FractionRing R))ˣ) I * (toPrincipalIdeal R (FractionRing R)) i =
        (MonoidHom.id (FractionalIdeal R⁰ (FractionRing R))ˣ) J) ↔
    ∃ x, I * (toPrincipalIdeal R (FractionRing R)) x = J

tactic: rfl
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : Field K
inst✝⁸ : Field L
inst✝⁷ : DecidableEq L
inst✝⁶ : Algebra R K
inst✝⁵ : IsFractionRing R K
inst✝⁴ : Algebra K L
inst✝³ : FiniteDimensional K L
inst✝² : Algebra R L
inst✝¹ : IsScalarTower R K L
inst✝ : IsDomain R
I J : (FractionalIdeal R⁰ (FractionRing R))ˣ
⊢ (∃ i,
      (MonoidHom.id (FractionalIdeal R⁰ (FractionRing R))ˣ) I * (toPrincipalIdeal R (FractionRing R)) i =
        (MonoidHom.id (FractionalIdeal R⁰ (FractionRing R))ˣ) J) ↔
    ∃ x, I * (toPrincipalIdeal R (FractionRing R)) x = J
state_after: no goals
Theorem: image_parallelepiped
File: Mathlib/MeasureTheory/Measure/Haar/OfBasis.lean

tactic: simp only [parallelepiped, ← image_comp]
state_before: ι : Type u_1
ι' : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype ι'
inst✝³ : AddCommGroup E
inst✝² : Module ℝ E
inst✝¹ : AddCommGroup F
inst✝ : Module ℝ F
f : E →ₗ[ℝ] F
v : ι → E
⊢ ⇑f '' parallelepiped v = parallelepiped (⇑f ∘ v)
state_after: ι : Type u_1
ι' : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype ι'
inst✝³ : AddCommGroup E
inst✝² : Module ℝ E
inst✝¹ : AddCommGroup F
inst✝ : Module ℝ F
f : E →ₗ[ℝ] F
v : ι → E
⊢ (⇑f ∘ fun t => ∑ i : ι, t i • v i) '' Icc 0 1 = (fun t => ∑ i : ι, t i • (⇑f ∘ v) i) '' Icc 0 1

tactic: congr 1 with t
state_before: ι : Type u_1
ι' : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype ι'
inst✝³ : AddCommGroup E
inst✝² : Module ℝ E
inst✝¹ : AddCommGroup F
inst✝ : Module ℝ F
f : E →ₗ[ℝ] F
v : ι → E
⊢ (⇑f ∘ fun t => ∑ i : ι, t i • v i) '' Icc 0 1 = (fun t => ∑ i : ι, t i • (⇑f ∘ v) i) '' Icc 0 1
state_after: case h
ι : Type u_1
ι' : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype ι'
inst✝³ : AddCommGroup E
inst✝² : Module ℝ E
inst✝¹ : AddCommGroup F
inst✝ : Module ℝ F
f : E →ₗ[ℝ] F
v : ι → E
t : F
⊢ t ∈ (⇑f ∘ fun t => ∑ i : ι, t i • v i) '' Icc 0 1 ↔ t ∈ (fun t => ∑ i : ι, t i • (⇑f ∘ v) i) '' Icc 0 1

tactic: simp only [Function.comp_apply, _root_.map_sum, LinearMap.map_smulₛₗ, RingHom.id_apply]
state_before: case h
ι : Type u_1
ι' : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : Fintype ι
inst✝⁴ : Fintype ι'
inst✝³ : AddCommGroup E
inst✝² : Module ℝ E
inst✝¹ : AddCommGroup F
inst✝ : Module ℝ F
f : E →ₗ[ℝ] F
v : ι → E
t : F
⊢ t ∈ (⇑f ∘ fun t => ∑ i : ι, t i • v i) '' Icc 0 1 ↔ t ∈ (fun t => ∑ i : ι, t i • (⇑f ∘ v) i) '' Icc 0 1
state_after: no goals
Theorem: Finset.map_add_left_Icc
File: Mathlib/Algebra/Order/Interval/Finset.lean

tactic: rw [← coe_inj, coe_map, coe_Icc, coe_Icc]
state_before: ι : Type u_1
α : Type u_2
inst✝² : OrderedCancelAddCommMonoid α
inst✝¹ : ExistsAddOfLE α
inst✝ : LocallyFiniteOrder α
a b c : α
⊢ map (addLeftEmbedding c) (Icc a b) = Icc (c + a) (c + b)
state_after: ι : Type u_1
α : Type u_2
inst✝² : OrderedCancelAddCommMonoid α
inst✝¹ : ExistsAddOfLE α
inst✝ : LocallyFiniteOrder α
a b c : α
⊢ ⇑(addLeftEmbedding c) '' Set.Icc a b = Set.Icc (c + a) (c + b)

tactic: exact Set.image_const_add_Icc _ _ _
state_before: ι : Type u_1
α : Type u_2
inst✝² : OrderedCancelAddCommMonoid α
inst✝¹ : ExistsAddOfLE α
inst✝ : LocallyFiniteOrder α
a b c : α
⊢ ⇑(addLeftEmbedding c) '' Set.Icc a b = Set.Icc (c + a) (c + b)
state_after: no goals
Theorem: Polynomial.ofFinsupp_neg
File: Mathlib/Algebra/Polynomial/Basic.lean

tactic: rw [neg_def]
state_before: R✝ : Type u
a✝ b : R✝
m n : ℕ
inst✝¹ : Semiring R✝
p q : R✝[X]
R : Type u
inst✝ : Ring R
a : R[ℕ]
⊢ { toFinsupp := -a } = Polynomial.neg { toFinsupp := a }
state_after: no goals
Theorem: Finset.sup_inf_sup
File: Mathlib/Data/Finset/Lattice.lean

tactic: simp_rw [Finset.sup_inf_distrib_right, Finset.sup_inf_distrib_left, sup_product_left]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝¹ : DistribLattice α
inst✝ : OrderBot α
s✝ : Finset ι
t✝ : Finset κ
f✝ : ι → α
g✝ : κ → α
a : α
s : Finset ι
t : Finset κ
f : ι → α
g : κ → α
⊢ s.sup f ⊓ t.sup g = (s ×ˢ t).sup fun i => f i.1 ⊓ g i.2
state_after: no goals
Theorem: Fin.insertNth_eq_iff
File: Mathlib/Data/Fin/Tuple/Basic.lean

tactic: simp [funext_iff, forall_iff_succAbove i, eq_comm]
state_before: m n : ℕ
α : Fin (n + 1) → Type u
β : Type v
i : Fin (n + 1)
x : α i
p : (j : Fin n) → α (i.succAbove j)
q : (j : Fin (n + 1)) → α j
⊢ i.insertNth x p = q ↔ q i = x ∧ p = fun j => q (i.succAbove j)
state_after: no goals
Theorem: ENNReal.half_pos
File: Mathlib/Data/ENNReal/Inv.lean

tactic: simp only [div_pos_iff, ne_eq, h, not_false_eq_true, two_ne_top, and_self]
state_before: a b c d : ℝ≥0∞
r p q : ℝ≥0
h : a ≠ 0
⊢ 0 < a / 2
state_after: no goals
Theorem: MeasureTheory.measure_diff_null
File: Mathlib/MeasureTheory/OuterMeasure/Basic.lean

tactic: gcongr
state_before: α : Type u_1
ι : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s t : Set α
ht : μ t = 0
⊢ μ (s ∩ t) + μ (s \ t) ≤ μ t + μ (s \ t)
state_after: case bc.h
α : Type u_1
ι : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s t : Set α
ht : μ t = 0
⊢ s ∩ t ⊆ t

tactic: apply inter_subset_right
state_before: case bc.h
α : Type u_1
ι : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s t : Set α
ht : μ t = 0
⊢ s ∩ t ⊆ t
state_after: no goals

tactic: simp [ht]
state_before: α : Type u_1
ι : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s t : Set α
ht : μ t = 0
⊢ μ t + μ (s \ t) = μ (s \ t)
state_after: no goals
Theorem: CochainComplex.XIsoOfEq_shift
File: Mathlib/Algebra/Homology/HomotopyCategory/Shift.lean

tactic: rw [hpq]
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
D : Type u'
inst✝¹ : Category.{v', u'} D
inst✝ : Preadditive D
K : CochainComplex C ℤ
n p q : ℤ
hpq : p = q
⊢ p + n = q + n
state_after: no goals
Theorem: CategoryTheory.Limits.inl_inl_pushoutLeftPushoutInrIso_hom
File: Mathlib/CategoryTheory/Limits/Shapes/Pullbacks.lean

tactic: rw [← Category.assoc, ← Iso.eq_comp_inv, inl_pushoutLeftPushoutInrIso_inv]
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
D : Type u₂
inst✝³ : Category.{v₂, u₂} D
W X Y Z : C
f : X ⟶ Y
g : X ⟶ Z
g' : Z ⟶ W
inst✝² : HasPushout f g
inst✝¹ : HasPushout pushout.inr g'
inst✝ : HasPushout f (g ≫ g')
⊢ pushout.inl ≫ pushout.inl ≫ (pushoutLeftPushoutInrIso f g g').hom = pushout.inl
state_after: no goals
Theorem: List.IsRotated.map
File: Mathlib/Data/List/Rotate.lean

tactic: obtain ⟨n, rfl⟩ := h
state_before: α : Type u
l l' : List α
β : Type u_1
l₁ l₂ : List α
h : l₁ ~r l₂
f : α → β
⊢ List.map f l₁ ~r List.map f l₂
state_after: case intro
α : Type u
l l' : List α
β : Type u_1
l₁ : List α
f : α → β
n : ℕ
⊢ List.map f l₁ ~r List.map f (l₁.rotate n)

tactic: rw [map_rotate]
state_before: case intro
α : Type u
l l' : List α
β : Type u_1
l₁ : List α
f : α → β
n : ℕ
⊢ List.map f l₁ ~r List.map f (l₁.rotate n)
state_after: case intro
α : Type u
l l' : List α
β : Type u_1
l₁ : List α
f : α → β
n : ℕ
⊢ List.map f l₁ ~r (List.map f l₁).rotate n

tactic: use n
state_before: case intro
α : Type u
l l' : List α
β : Type u_1
l₁ : List α
f : α → β
n : ℕ
⊢ List.map f l₁ ~r (List.map f l₁).rotate n
state_after: no goals
Theorem: map_finset_sup
File: Mathlib/Data/Finset/Lattice.lean

tactic: rw [sup_cons, sup_cons, map_sup, h, Function.comp_apply]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝⁵ : SemilatticeSup α
inst✝⁴ : OrderBot α
s✝¹ s₁ s₂ : Finset β
f✝ g✝ : β → α
a : α
inst✝³ : SemilatticeSup β
inst✝² : OrderBot β
inst✝¹ : FunLike F α β
inst✝ : SupBotHomClass F α β
f : F
s✝ : Finset ι
g : ι → α
i : ι
s : Finset ι
x✝ : i ∉ s
h : f (s.sup g) = s.sup (⇑f ∘ g)
⊢ f ((cons i s x✝).sup g) = (cons i s x✝).sup (⇑f ∘ g)
state_after: no goals
Theorem: abs_mul
File: Mathlib/Algebra/Order/Ring/Abs.lean

tactic: rw [abs_eq (mul_nonneg (abs_nonneg a) (abs_nonneg b))]
state_before: α : Type u_1
inst✝ : LinearOrderedRing α
n : ℕ
a✝ b✝ c a b : α
⊢ |a * b| = |a| * |b|
state_after: α : Type u_1
inst✝ : LinearOrderedRing α
n : ℕ
a✝ b✝ c a b : α
⊢ a * b = |a| * |b| ∨ a * b = -(|a| * |b|)

tactic: rcases le_total a 0 with ha | ha <;> rcases le_total b 0 with hb | hb <;>
  simp only [abs_of_nonpos, abs_of_nonneg, true_or_iff, or_true_iff, eq_self_iff_true, neg_mul,
    mul_neg, neg_neg, *]
state_before: α : Type u_1
inst✝ : LinearOrderedRing α
n : ℕ
a✝ b✝ c a b : α
⊢ a * b = |a| * |b| ∨ a * b = -(|a| * |b|)
state_after: no goals
Theorem: MeasureTheory.lintegral_liminf_le'
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: simp only [liminf_eq_iSup_iInf_of_nat]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : ℕ → α → ℝ≥0∞
h_meas : ∀ (n : ℕ), AEMeasurable (f n) μ
⊢ ∫⁻ (a : α), liminf (fun n => f n a) atTop ∂μ = ∫⁻ (a : α), ⨆ n, ⨅ i, ⨅ (_ : i ≥ n), f i a ∂μ
state_after: no goals
Theorem: SetLike.forall_smul_mem_iff
File: Mathlib/GroupTheory/GroupAction/SubMulAction.lean

tactic: simpa using h 1
state_before: S✝ : Type u'
T : Type u''
R✝ : Type u
M✝ : Type v
inst✝⁵ : SMul R✝ M✝
inst✝⁴ : SetLike S✝ M✝
hS : SMulMemClass S✝ R✝ M✝
s : S✝
R : Type u_1
M : Type u_2
S : Type u_3
inst✝³ : Monoid R
inst✝² : MulAction R M
inst✝¹ : SetLike S M
inst✝ : SMulMemClass S R M
N : S
x : M
h : ∀ (a : R), a • x ∈ N
⊢ x ∈ N
state_after: no goals
Theorem: lintegral_Iic_eq_lintegral_Iio_add_Icc
File: Mathlib/Probability/Distributions/Gamma.lean

tactic: rw [← Iio_union_Icc_eq_Iic hzy, lintegral_union measurableSet_Icc]
state_before: y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
⊢ ∫⁻ (x : ℝ) in Iic y, f x = (∫⁻ (x : ℝ) in Iio z, f x) + ∫⁻ (x : ℝ) in Icc z y, f x
state_after: y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
⊢ Disjoint (Iio z) (Icc z y)

tactic: rw [Set.disjoint_iff]
state_before: y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
⊢ Disjoint (Iio z) (Icc z y)
state_after: y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
⊢ Iio z ∩ Icc z y ⊆ ∅

tactic: rintro x ⟨h1 : x < _, h2, _⟩
state_before: y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
⊢ Iio z ∩ Icc z y ⊆ ∅
state_after: case intro.intro
y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
x : ℝ
h1 : x < z
h2 : z ≤ x
right✝ : x ≤ y
⊢ x ∈ ∅

tactic: linarith
state_before: case intro.intro
y z : ℝ
f : ℝ → ℝ≥0∞
hzy : z ≤ y
x : ℝ
h1 : x < z
h2 : z ≤ x
right✝ : x ≤ y
⊢ x ∈ ∅
state_after: no goals
Theorem: NormedAddGroupHom.completion_id
File: Mathlib/Analysis/Normed/Group/HomCompletion.lean

tactic: ext x
state_before: G : Type u_1
inst✝² : SeminormedAddCommGroup G
H : Type u_2
inst✝¹ : SeminormedAddCommGroup H
K : Type u_3
inst✝ : SeminormedAddCommGroup K
⊢ (id G).completion = id (Completion G)
state_after: case H
G : Type u_1
inst✝² : SeminormedAddCommGroup G
H : Type u_2
inst✝¹ : SeminormedAddCommGroup H
K : Type u_3
inst✝ : SeminormedAddCommGroup K
x : Completion G
⊢ (id G).completion x = (id (Completion G)) x

tactic: rw [NormedAddGroupHom.completion_def, NormedAddGroupHom.coe_id, Completion.map_id]
state_before: case H
G : Type u_1
inst✝² : SeminormedAddCommGroup G
H : Type u_2
inst✝¹ : SeminormedAddCommGroup H
K : Type u_3
inst✝ : SeminormedAddCommGroup K
x : Completion G
⊢ (id G).completion x = (id (Completion G)) x
state_after: case H
G : Type u_1
inst✝² : SeminormedAddCommGroup G
H : Type u_2
inst✝¹ : SeminormedAddCommGroup H
K : Type u_3
inst✝ : SeminormedAddCommGroup K
x : Completion G
⊢ _root_.id x = (id (Completion G)) x

tactic: rfl
state_before: case H
G : Type u_1
inst✝² : SeminormedAddCommGroup G
H : Type u_2
inst✝¹ : SeminormedAddCommGroup H
K : Type u_3
inst✝ : SeminormedAddCommGroup K
x : Completion G
⊢ _root_.id x = (id (Completion G)) x
state_after: no goals
Theorem: Polynomial.iterate_derivative_comp_one_sub_X
File: Mathlib/Algebra/Polynomial/Derivative.lean

tactic: induction' k with k ih generalizing p
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommRing R
p : R[X]
k : ℕ
⊢ (⇑derivative)^[k] (p.comp (1 - X)) = (-1) ^ k * ((⇑derivative)^[k] p).comp (1 - X)
state_after: case zero
R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommRing R
p : R[X]
⊢ (⇑derivative)^[0] (p.comp (1 - X)) = (-1) ^ 0 * ((⇑derivative)^[0] p).comp (1 - X)

case succ
R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommRing R
k : ℕ
ih : ∀ (p : R[X]), (⇑derivative)^[k] (p.comp (1 - X)) = (-1) ^ k * ((⇑derivative)^[k] p).comp (1 - X)
p : R[X]
⊢ (⇑derivative)^[k + 1] (p.comp (1 - X)) = (-1) ^ (k + 1) * ((⇑derivative)^[k + 1] p).comp (1 - X)

tactic: simp
state_before: case zero
R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommRing R
p : R[X]
⊢ (⇑derivative)^[0] (p.comp (1 - X)) = (-1) ^ 0 * ((⇑derivative)^[0] p).comp (1 - X)
state_after: no goals

tactic: simp [ih (derivative p), iterate_derivative_neg, derivative_comp, pow_succ]
state_before: case succ
R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommRing R
k : ℕ
ih : ∀ (p : R[X]), (⇑derivative)^[k] (p.comp (1 - X)) = (-1) ^ k * ((⇑derivative)^[k] p).comp (1 - X)
p : R[X]
⊢ (⇑derivative)^[k + 1] (p.comp (1 - X)) = (-1) ^ (k + 1) * ((⇑derivative)^[k + 1] p).comp (1 - X)
state_after: no goals
Theorem: frontier_Ici'
File: Mathlib/Topology/Order/DenselyOrdered.lean

tactic: simp [frontier, ha]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b : α
s : Set α
a : α
ha : (Iio a).Nonempty
⊢ frontier (Ici a) = {a}
state_after: no goals
Theorem: NormedCommGroup.nhds_basis_norm_lt
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simp_rw [← ball_eq']
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
x : E
⊢ (𝓝 x).HasBasis (fun ε => 0 < ε) fun ε => {y | ‖y / x‖ < ε}
state_after: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
x : E
⊢ (𝓝 x).HasBasis (fun ε => 0 < ε) fun ε => ball x ε

tactic: exact Metric.nhds_basis_ball
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
x : E
⊢ (𝓝 x).HasBasis (fun ε => 0 < ε) fun ε => ball x ε
state_after: no goals
Theorem: orderOf_dvd_iff_zpow_eq_one
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: rcases Int.eq_nat_or_neg i with ⟨i, rfl | rfl⟩
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : Group G
x y : G
i : ℤ
⊢ ↑(orderOf x) ∣ i ↔ x ^ i = 1
state_after: case intro.inl
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : Group G
x y : G
i : ℕ
⊢ ↑(orderOf x) ∣ ↑i ↔ x ^ ↑i = 1

case intro.inr
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : Group G
x y : G
i : ℕ
⊢ ↑(orderOf x) ∣ -↑i ↔ x ^ (-↑i) = 1

tactic: rw [Int.natCast_dvd_natCast, orderOf_dvd_iff_pow_eq_one, zpow_natCast]
state_before: case intro.inl
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : Group G
x y : G
i : ℕ
⊢ ↑(orderOf x) ∣ ↑i ↔ x ^ ↑i = 1
state_after: no goals

tactic: rw [dvd_neg, Int.natCast_dvd_natCast, zpow_neg, inv_eq_one, zpow_natCast,
  orderOf_dvd_iff_pow_eq_one]
state_before: case intro.inr
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : Group G
x y : G
i : ℕ
⊢ ↑(orderOf x) ∣ -↑i ↔ x ^ (-↑i) = 1
state_after: no goals
Theorem: CategoryTheory.Subgroupoid.mem_im_objs_iff
File: Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean

tactic: simp only [im, mem_map_objs_iff, mem_top_objs, true_and]
state_before: C : Type u
inst✝¹ : Groupoid C
S : Subgroupoid C
D : Type u_1
inst✝ : Groupoid D
φ : C ⥤ D
hφ : Function.Injective φ.obj
d : D
⊢ d ∈ (im φ hφ).objs ↔ ∃ c, φ.obj c = d
state_after: no goals
Theorem: fderivWithin_const_sub
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: simp only [sub_eq_add_neg, fderivWithin_const_add, fderivWithin_neg, hxs]
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hxs : UniqueDiffWithinAt 𝕜 s x
c : F
⊢ fderivWithin 𝕜 (fun y => c - f y) s x = -fderivWithin 𝕜 f s x
state_after: no goals
Theorem: MeasureTheory.integrable_of_forall_fin_meas_le
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: rwa [@trim_eq_self _ m]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝⁴ : MeasurableSpace δ
inst✝³ : NormedAddCommGroup β
inst✝² : NormedAddCommGroup γ
E : Type u_5
m0 : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
inst✝ : SigmaFinite μ
C : ℝ≥0∞
hC : C < ⊤
f : α → E
hf_meas : AEStronglyMeasurable f μ
hf : ∀ (s : Set α), MeasurableSet s → μ s ≠ ⊤ → ∫⁻ (x : α) in s, ↑‖f x‖₊ ∂μ ≤ C
⊢ SigmaFinite (μ.trim ?m.370631)
state_after: no goals
Theorem: MeromorphicOn.congr
File: Mathlib/Analysis/Analytic/Meromorphic.lean

tactic: refine fun x hx ↦ (hf x hx).congr (EventuallyEq.filter_mono ?_ nhdsWithin_le_nhds)
state_before: 𝕜 : Type u_1
inst✝² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s t : 𝕜 → 𝕜
f g : 𝕜 → E
U : Set 𝕜
hs : MeromorphicOn s U
ht : MeromorphicOn t U
hf : MeromorphicOn f U
hg : MeromorphicOn g U
h_eq : Set.EqOn f g U
hu : IsOpen U
⊢ MeromorphicOn g U
state_after: 𝕜 : Type u_1
inst✝² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s t : 𝕜 → 𝕜
f g : 𝕜 → E
U : Set 𝕜
hs : MeromorphicOn s U
ht : MeromorphicOn t U
hf : MeromorphicOn f U
hg : MeromorphicOn g U
h_eq : Set.EqOn f g U
hu : IsOpen U
x : 𝕜
hx : x ∈ U
⊢ f =ᶠ[𝓝 x] g

tactic: exact eventually_of_mem (hu.mem_nhds hx) h_eq
state_before: 𝕜 : Type u_1
inst✝² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s t : 𝕜 → 𝕜
f g : 𝕜 → E
U : Set 𝕜
hs : MeromorphicOn s U
ht : MeromorphicOn t U
hf : MeromorphicOn f U
hg : MeromorphicOn g U
h_eq : Set.EqOn f g U
hu : IsOpen U
x : 𝕜
hx : x ∈ U
⊢ f =ᶠ[𝓝 x] g
state_after: no goals
Theorem: Polynomial.Chebyshev.T_eq
File: Mathlib/RingTheory/Polynomial/Chebyshev.lean

tactic: linear_combination (norm := ring_nf) T_add_two R (n - 2)
state_before: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℤ
⊢ T R n = 2 * X * T R (n - 1) - T R (n - 2)
state_after: no goals
Theorem: IsMulFreimanHom.inv
File: Mathlib/Combinatorics/Additive/FreimanHom.lean

tactic: rw [Pi.inv_def, prod_map_inv, prod_map_inv, hf.map_prod_eq_map_prod hsA htA hs ht h]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CommMonoid α
inst✝ : DivisionCommMonoid β
A : Set α
B : Set β
f : α → β
m n : ℕ
hf : IsMulFreimanHom n A B f
s t : Multiset α
hsA : ∀ ⦃x : α⦄, x ∈ s → x ∈ A
htA : ∀ ⦃x : α⦄, x ∈ t → x ∈ A
hs : card s = n
ht : card t = n
h : s.prod = t.prod
⊢ (map f⁻¹ s).prod = (map f⁻¹ t).prod
state_after: no goals