1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: four_functions_theorem_aux
File: Mathlib/Combinatorics/SetFamily/FourFunctions.lean

tactic: refine univ.four_functions_theorem h₁ h₂ h₃ h₄ ?_ ?_ ?_ <;> simp [h]
state_before: α : Type u_1
β : Type u_2
inst✝³ : DecidableEq α
inst✝² : LinearOrderedCommSemiring β
inst✝¹ : ExistsAddOfLE β
𝒜✝ ℬ✝ : Finset (Finset α)
a : α
f f₁ f₂ f₃ f₄ g μ : Finset α → β
s t u : Finset α
inst✝ : Fintype α
h₁ : 0 ≤ f₁
h₂ : 0 ≤ f₂
h₃ : 0 ≤ f₃
h₄ : 0 ≤ f₄
h : ∀ (s t : Finset α), f₁ s * f₂ t ≤ f₃ (s ∩ t) * f₄ (s ∪ t)
𝒜 ℬ : Finset (Finset α)
⊢ (∑ s ∈ 𝒜, f₁ s) * ∑ s ∈ ℬ, f₂ s ≤ (∑ s ∈ 𝒜 ⊼ ℬ, f₃ s) * ∑ s ∈ 𝒜 ⊻ ℬ, f₄ s
state_after: no goals
Theorem: CircleDeg1Lift.iterate_pos_lt_iff
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: simpa only [nsmul_eq_mul, add_right_iterate] using
  (f.commute_add_int m).iterate_pos_lt_iff_map_lt f.monotone (strictMono_id.add_const (m : ℝ)) hn
state_before: f g : CircleDeg1Lift
x : ℝ
m : ℤ
n : ℕ
hn : 0 < n
⊢ (⇑f)^[n] x < x + ↑n * ↑m ↔ f x < x + ↑m
state_after: no goals
Theorem: limsup_eq_bot
File: Mathlib/Topology/Algebra/Order/LiminfLimsup.lean

tactic: rw [limsup_congr h]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
S : Type u_5
π : ι → Type u_6
inst✝⁴ : CompleteLinearOrder α
inst✝³ : TopologicalSpace α
inst✝² : FirstCountableTopology α
inst✝¹ : OrderTopology α
f : Filter β
inst✝ : CountableInterFilter f
u : β → α
h : u =ᶠ[f] ⊥
⊢ limsup u f = ⊥
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
S : Type u_5
π : ι → Type u_6
inst✝⁴ : CompleteLinearOrder α
inst✝³ : TopologicalSpace α
inst✝² : FirstCountableTopology α
inst✝¹ : OrderTopology α
f : Filter β
inst✝ : CountableInterFilter f
u : β → α
h : u =ᶠ[f] ⊥
⊢ limsup ⊥ f = ⊥

tactic: exact limsup_const_bot
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
S : Type u_5
π : ι → Type u_6
inst✝⁴ : CompleteLinearOrder α
inst✝³ : TopologicalSpace α
inst✝² : FirstCountableTopology α
inst✝¹ : OrderTopology α
f : Filter β
inst✝ : CountableInterFilter f
u : β → α
h : u =ᶠ[f] ⊥
⊢ limsup ⊥ f = ⊥
state_after: no goals
Theorem: ENNReal.toNNReal_top_mul
File: Mathlib/Data/ENNReal/Real.lean

tactic: simp
state_before: a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
a : ℝ≥0∞
⊢ (⊤ * a).toNNReal = 0
state_after: no goals
Theorem: String.extract.go₁_cons_addChar
File: .lake/packages/batteries/Batteries/Data/String/Lemmas.lean

tactic: simp only [go₁, Pos.ext_iff, Pos.byteIdx_zero, pos_add_char, Nat.ne_of_lt add_csize_pos,
  ↓reduceIte]
state_before: c : Char
cs : List Char
b e : Pos
⊢ go₁ (c :: cs) 0 (b + c) (e + c) = go₁ cs 0 b e
state_after: c : Char
cs : List Char
b e : Pos
⊢ go₁ cs (0 + c) (b + c) (e + c) = go₁ cs 0 b e

tactic: apply go₁_add_right_cancel
state_before: c : Char
cs : List Char
b e : Pos
⊢ go₁ cs (0 + c) (b + c) (e + c) = go₁ cs 0 b e
state_after: no goals
Theorem: Localization.localRingHom_comp
File: Mathlib/RingTheory/Localization/AtPrime.lean

tactic: rw [hIJ, hJK, Ideal.comap_comap f g]
state_before: R : Type u_1
inst✝⁴ : CommSemiring R
M : Submonoid R
S✝ : Type u_2
inst✝³ : CommSemiring S✝
inst✝² : Algebra R S✝
P : Type u_3
inst✝¹ : CommSemiring P
I : Ideal R
hI : I.IsPrime
S : Type u_4
inst✝ : CommSemiring S
J : Ideal S
hJ : J.IsPrime
K : Ideal P
hK : K.IsPrime
f : R →+* S
hIJ : I = Ideal.comap f J
g : S →+* P
hJK : J = Ideal.comap g K
⊢ I = Ideal.comap (g.comp f) K
state_after: no goals

tactic: simp only [Function.comp_apply, RingHom.coe_comp, localRingHom_to_map]
state_before: R : Type u_1
inst✝⁴ : CommSemiring R
M : Submonoid R
S✝ : Type u_2
inst✝³ : CommSemiring S✝
inst✝² : Algebra R S✝
P : Type u_3
inst✝¹ : CommSemiring P
I : Ideal R
hI : I.IsPrime
S : Type u_4
inst✝ : CommSemiring S
J : Ideal S
hJ : J.IsPrime
K : Ideal P
hK : K.IsPrime
f : R →+* S
hIJ : I = Ideal.comap f J
g : S →+* P
hJK : J = Ideal.comap g K
r : R
⊢ ((localRingHom J K g hJK).comp (localRingHom I J f hIJ)) ((algebraMap R (Localization.AtPrime I)) r) =
    (algebraMap P (Localization.AtPrime K)) ((g.comp f) r)
state_after: no goals
Theorem: AlgebraicGeometry.affine_isReduced_iff
File: Mathlib/AlgebraicGeometry/Properties.lean

tactic: refine ⟨?_, fun h => inferInstance⟩
state_before: X : Scheme
R : CommRingCat
⊢ IsReduced (Spec R) ↔ _root_.IsReduced ↑R
state_after: X : Scheme
R : CommRingCat
⊢ IsReduced (Spec R) → _root_.IsReduced ↑R

tactic: intro h
state_before: X : Scheme
R : CommRingCat
⊢ IsReduced (Spec R) → _root_.IsReduced ↑R
state_after: X : Scheme
R : CommRingCat
h : IsReduced (Spec R)
⊢ _root_.IsReduced ↑R

tactic: exact isReduced_of_injective (Scheme.ΓSpecIso R).inv
  (Scheme.ΓSpecIso R).symm.commRingCatIsoToRingEquiv.injective
state_before: X : Scheme
R : CommRingCat
h : IsReduced (Spec R)
⊢ _root_.IsReduced ↑R
state_after: no goals
Theorem: Finset.prod_fiberwise_of_maps_to'
File: Mathlib/Algebra/BigOperators/Group/Finset.lean

tactic: calc
  _ = ∏ y ∈ t, ∏ x ∈ s.filter fun x ↦ g x = y, f (g x) :=
      prod_congr rfl fun y _ ↦ prod_congr rfl fun x hx ↦ by rw [(mem_filter.1 hx).2]
  _ = _ := prod_fiberwise_of_maps_to h _
state_before: ι✝ : Type u_1
κ✝ : Type u_2
α✝ : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α✝
a : α✝
f✝¹ g✝¹ : α✝ → β
inst✝² : CommMonoid β
ι : Type u_6
κ : Type u_7
α : Type u_8
inst✝¹ : CommMonoid α
s : Finset ι
t : Finset κ
f✝ : ι → α
g✝ : κ → α
inst✝ : DecidableEq κ
g : ι → κ
h : ∀ i ∈ s, g i ∈ t
f : κ → α
⊢ ∏ j ∈ t, ∏ _i ∈ filter (fun i => g i = j) s, f j = ∏ i ∈ s, f (g i)
state_after: no goals

tactic: rw [(mem_filter.1 hx).2]
state_before: ι✝ : Type u_1
κ✝ : Type u_2
α✝ : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α✝
a : α✝
f✝¹ g✝¹ : α✝ → β
inst✝² : CommMonoid β
ι : Type u_6
κ : Type u_7
α : Type u_8
inst✝¹ : CommMonoid α
s : Finset ι
t : Finset κ
f✝ : ι → α
g✝ : κ → α
inst✝ : DecidableEq κ
g : ι → κ
h : ∀ i ∈ s, g i ∈ t
f : κ → α
y : κ
x✝ : y ∈ t
x : ι
hx : x ∈ filter (fun x => g x = y) s
⊢ f y = f (g x)
state_after: no goals
Theorem: OrthonormalBasis.measurePreserving_measurableEquiv
File: Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean

tactic: convert (b.measurableEquiv.symm.measurable.measurePreserving _).symm
state_before: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
⊢ MeasurePreserving (⇑b.measurableEquiv) volume volume
state_after: case h.e'_6.h
ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
e_3✝ : MeasureSpace.toMeasurableSpace = inst✝¹
⊢ volume = map (⇑b.measurableEquiv.symm) volume

tactic: rw [← (EuclideanSpace.basisFun ι ℝ).addHaar_eq_volume]
state_before: case h.e'_6.h
ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
e_3✝ : MeasureSpace.toMeasurableSpace = inst✝¹
⊢ volume = map (⇑b.measurableEquiv.symm) volume
state_after: case h.e'_6.h
ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
e_3✝ : MeasureSpace.toMeasurableSpace = inst✝¹
⊢ volume = map (⇑b.measurableEquiv.symm) (EuclideanSpace.basisFun ι ℝ).toBasis.addHaar

tactic: erw [MeasurableEquiv.coe_toEquiv_symm, Basis.map_addHaar _ b.repr.symm.toContinuousLinearEquiv]
state_before: case h.e'_6.h
ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
e_3✝ : MeasureSpace.toMeasurableSpace = inst✝¹
⊢ volume = map (⇑b.measurableEquiv.symm) (EuclideanSpace.basisFun ι ℝ).toBasis.addHaar
state_after: case h.e'_6.h
ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
e_3✝ : MeasureSpace.toMeasurableSpace = inst✝¹
⊢ volume = ((EuclideanSpace.basisFun ι ℝ).toBasis.map b.repr.symm.toContinuousLinearEquiv.toLinearEquiv).addHaar

tactic: exact b.addHaar_eq_volume.symm
state_before: case h.e'_6.h
ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
e_3✝ : MeasureSpace.toMeasurableSpace = inst✝¹
⊢ volume = ((EuclideanSpace.basisFun ι ℝ).toBasis.map b.repr.symm.toContinuousLinearEquiv.toLinearEquiv).addHaar
state_after: no goals
Theorem: SimpleGraph.induceHomOfLE_toHom
File: Mathlib/Combinatorics/SimpleGraph/Maps.lean

tactic: ext
state_before: V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
s s' : Set V
h : s ≤ s'
⊢ (G.induceHomOfLE h).toHom = induceHom Hom.id ⋯
state_after: case h.a
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
s s' : Set V
h : s ≤ s'
x✝ : ↑s
⊢ ↑((G.induceHomOfLE h).toHom x✝) = ↑((induceHom Hom.id ⋯) x✝)

tactic: simp
state_before: case h.a
V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
s s' : Set V
h : s ≤ s'
x✝ : ↑s
⊢ ↑((G.induceHomOfLE h).toHom x✝) = ↑((induceHom Hom.id ⋯) x✝)
state_after: no goals
Theorem: Real.hasStrictDerivAt_const_rpow_of_neg
File: Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean

tactic: simpa using (hasStrictFDerivAt_rpow_of_neg (a, x) ha).comp_hasStrictDerivAt x
  ((hasStrictDerivAt_const _ _).prod (hasStrictDerivAt_id _))
state_before: x✝ y z a x : ℝ
ha : a < 0
⊢ HasStrictDerivAt (fun x => a ^ x) (a ^ x * log a - rexp (log a * x) * sin (x * π) * π) x
state_after: no goals
Theorem: Turing.BlankExtends.trans
File: Mathlib/Computability/TuringMachine.lean

tactic: rintro ⟨i, rfl⟩ ⟨j, rfl⟩
state_before: Γ : Type u_1
inst✝ : Inhabited Γ
l₁ l₂ l₃ : List Γ
⊢ BlankExtends l₁ l₂ → BlankExtends l₂ l₃ → BlankExtends l₁ l₃
state_after: case intro.intro
Γ : Type u_1
inst✝ : Inhabited Γ
l₁ : List Γ
i j : ℕ
⊢ BlankExtends l₁ (l₁ ++ List.replicate i default ++ List.replicate j default)

tactic: exact ⟨i + j, by simp⟩
state_before: case intro.intro
Γ : Type u_1
inst✝ : Inhabited Γ
l₁ : List Γ
i j : ℕ
⊢ BlankExtends l₁ (l₁ ++ List.replicate i default ++ List.replicate j default)
state_after: no goals

tactic: simp
state_before: Γ : Type u_1
inst✝ : Inhabited Γ
l₁ : List Γ
i j : ℕ
⊢ l₁ ++ List.replicate i default ++ List.replicate j default = l₁ ++ List.replicate (i + j) default
state_after: no goals
Theorem: List.head!_mem_self
File: Mathlib/Data/List/Basic.lean

tactic: have h' := mem_cons_self l.head! l.tail
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
inst✝ : Inhabited α
l : List α
h : l ≠ []
⊢ l.head! ∈ l
state_after: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
inst✝ : Inhabited α
l : List α
h : l ≠ []
h' : l.head! ∈ l.head! :: l.tail
⊢ l.head! ∈ l

tactic: rwa [cons_head!_tail h] at h'
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
inst✝ : Inhabited α
l : List α
h : l ≠ []
h' : l.head! ∈ l.head! :: l.tail
⊢ l.head! ∈ l
state_after: no goals
Theorem: Cardinal.principal_add_ord
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: rw [lt_ord, Ordinal.card_add] at *
state_before: c : Cardinal.{u_1}
hc : ℵ₀ ≤ c
a b : Ordinal.{u_1}
ha : a < c.ord
hb : b < c.ord
⊢ (fun x x_1 => x + x_1) a b < c.ord
state_after: c : Cardinal.{u_1}
hc : ℵ₀ ≤ c
a b : Ordinal.{u_1}
ha : a.card < c
hb : b.card < c
⊢ a.card + b.card < c

tactic: exact add_lt_of_lt hc ha hb
state_before: c : Cardinal.{u_1}
hc : ℵ₀ ≤ c
a b : Ordinal.{u_1}
ha : a.card < c
hb : b.card < c
⊢ a.card + b.card < c
state_after: no goals
Theorem: PowerSeries.rescale_injective
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: intro p q h
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
⊢ Function.Injective ⇑(rescale a)
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
h : (rescale a) p = (rescale a) q
⊢ p = q

tactic: rw [PowerSeries.ext_iff] at *
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
h : (rescale a) p = (rescale a) q
⊢ p = q
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
h : ∀ (n : ℕ), (coeff R n) ((rescale a) p) = (coeff R n) ((rescale a) q)
⊢ ∀ (n : ℕ), (coeff R n) p = (coeff R n) q

tactic: intro n
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
h : ∀ (n : ℕ), (coeff R n) ((rescale a) p) = (coeff R n) ((rescale a) q)
⊢ ∀ (n : ℕ), (coeff R n) p = (coeff R n) q
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
h : ∀ (n : ℕ), (coeff R n) ((rescale a) p) = (coeff R n) ((rescale a) q)
n : ℕ
⊢ (coeff R n) p = (coeff R n) q

tactic: specialize h n
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
h : ∀ (n : ℕ), (coeff R n) ((rescale a) p) = (coeff R n) ((rescale a) q)
n : ℕ
⊢ (coeff R n) p = (coeff R n) q
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) ((rescale a) p) = (coeff R n) ((rescale a) q)
⊢ (coeff R n) p = (coeff R n) q

tactic: rw [coeff_rescale, coeff_rescale, mul_eq_mul_left_iff] at h
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) ((rescale a) p) = (coeff R n) ((rescale a) q)
⊢ (coeff R n) p = (coeff R n) q
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) p = (coeff R n) q ∨ a ^ n = 0
⊢ (coeff R n) p = (coeff R n) q

tactic: apply h.resolve_right
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) p = (coeff R n) q ∨ a ^ n = 0
⊢ (coeff R n) p = (coeff R n) q
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) p = (coeff R n) q ∨ a ^ n = 0
⊢ ¬a ^ n = 0

tactic: intro h'
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) p = (coeff R n) q ∨ a ^ n = 0
⊢ ¬a ^ n = 0
state_after: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) p = (coeff R n) q ∨ a ^ n = 0
h' : a ^ n = 0
⊢ False

tactic: exact ha (pow_eq_zero h')
state_before: R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsDomain R
a : R
ha : a ≠ 0
p q : R⟦X⟧
n : ℕ
h : (coeff R n) p = (coeff R n) q ∨ a ^ n = 0
h' : a ^ n = 0
⊢ False
state_after: no goals
Theorem: HasFTaylorSeriesUpToOn.congr
File: Mathlib/Analysis/Calculus/ContDiff/Defs.lean

tactic: refine ⟨fun x hx => ?_, h.fderivWithin, h.cont⟩
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpToOn n f p s
h₁ : ∀ x ∈ s, f₁ x = f x
⊢ HasFTaylorSeriesUpToOn n f₁ p s
state_after: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpToOn n f p s
h₁ : ∀ x ∈ s, f₁ x = f x
x : E
hx : x ∈ s
⊢ (p x 0).uncurry0 = f₁ x

tactic: rw [h₁ x hx]
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpToOn n f p s
h₁ : ∀ x ∈ s, f₁ x = f x
x : E
hx : x ∈ s
⊢ (p x 0).uncurry0 = f₁ x
state_after: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpToOn n f p s
h₁ : ∀ x ∈ s, f₁ x = f x
x : E
hx : x ∈ s
⊢ (p x 0).uncurry0 = f x

tactic: exact h.zero_eq x hx
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpToOn n f p s
h₁ : ∀ x ∈ s, f₁ x = f x
x : E
hx : x ∈ s
⊢ (p x 0).uncurry0 = f x
state_after: no goals
Theorem: ENNReal.add_thirds
File: Mathlib/Data/ENNReal/Inv.lean

tactic: rw [div_eq_mul_inv, ← mul_add, ← mul_add, inv_three_add_inv_three, mul_one]
state_before: a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
a : ℝ≥0∞
⊢ a / 3 + a / 3 + a / 3 = a
state_after: no goals
Theorem: mul_pow
File: Mathlib/Algebra/Group/Basic.lean

tactic: rw [pow_zero, pow_zero, pow_zero, one_mul]
state_before: α : Type u_1
β : Type u_2
G : Type u_3
M : Type u_4
inst✝ : CommMonoid M
x y z a b : M
⊢ (a * b) ^ 0 = a ^ 0 * b ^ 0
state_after: no goals

tactic: rw [pow_succ', pow_succ', pow_succ', mul_pow, mul_mul_mul_comm]
state_before: α : Type u_1
β : Type u_2
G : Type u_3
M : Type u_4
inst✝ : CommMonoid M
x y z a b : M
n : ℕ
⊢ (a * b) ^ (n + 1) = a ^ (n + 1) * b ^ (n + 1)
state_after: no goals
Theorem: WittVector.coeff_p
File: Mathlib/RingTheory/WittVector/Identities.lean

tactic: split_ifs with hi
state_before: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CharP R p
i : ℕ
⊢ (↑p).coeff i = if i = 1 then 1 else 0
state_after: case pos
p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CharP R p
i : ℕ
hi : i = 1
⊢ (↑p).coeff i = 1

case neg
p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CharP R p
i : ℕ
hi : ¬i = 1
⊢ (↑p).coeff i = 0

tactic: simpa only [hi, pow_one] using coeff_p_pow p R 1
state_before: case pos
p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CharP R p
i : ℕ
hi : i = 1
⊢ (↑p).coeff i = 1
state_after: no goals

tactic: simpa only [pow_one] using coeff_p_pow_eq_zero p R hi
state_before: case neg
p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝¹ : CommRing R
inst✝ : CharP R p
i : ℕ
hi : ¬i = 1
⊢ (↑p).coeff i = 0
state_after: no goals
Theorem: reflection_orthogonal_apply
File: Mathlib/Analysis/InnerProductSpace/Projection.lean

tactic: simp [reflection_apply]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection K
v : E
⊢ (reflection Kᗮ) v = -(reflection K) v
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection K
v : E
⊢ 2 • v - 2 • ↑((orthogonalProjection K) v) - v = v - 2 • ↑((orthogonalProjection K) v)

tactic: abel
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : _root_.RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : InnerProductSpace ℝ F
K : Submodule 𝕜 E
inst✝ : HasOrthogonalProjection K
v : E
⊢ 2 • v - 2 • ↑((orthogonalProjection K) v) - v = v - 2 • ↑((orthogonalProjection K) v)
state_after: no goals
Theorem: Ideal.finset_inf_span_singleton
File: Mathlib/RingTheory/Ideal/Operations.lean

tactic: ext x
state_before: R : Type u
ι✝ : Type u_1
inst✝ : CommSemiring R
I✝ J K L : Ideal R
ι : Type u_2
s : Finset ι
I : ι → R
hI : (↑s).Pairwise (IsCoprime on I)
⊢ (s.inf fun i => span {I i}) = span {∏ i ∈ s, I i}
state_after: case h
R : Type u
ι✝ : Type u_1
inst✝ : CommSemiring R
I✝ J K L : Ideal R
ι : Type u_2
s : Finset ι
I : ι → R
hI : (↑s).Pairwise (IsCoprime on I)
x : R
⊢ (x ∈ s.inf fun i => span {I i}) ↔ x ∈ span {∏ i ∈ s, I i}

tactic: simp only [Submodule.mem_finset_inf, Ideal.mem_span_singleton]
state_before: case h
R : Type u
ι✝ : Type u_1
inst✝ : CommSemiring R
I✝ J K L : Ideal R
ι : Type u_2
s : Finset ι
I : ι → R
hI : (↑s).Pairwise (IsCoprime on I)
x : R
⊢ (x ∈ s.inf fun i => span {I i}) ↔ x ∈ span {∏ i ∈ s, I i}
state_after: case h
R : Type u
ι✝ : Type u_1
inst✝ : CommSemiring R
I✝ J K L : Ideal R
ι : Type u_2
s : Finset ι
I : ι → R
hI : (↑s).Pairwise (IsCoprime on I)
x : R
⊢ (∀ i ∈ s, I i ∣ x) ↔ ∏ i ∈ s, I i ∣ x

tactic: exact ⟨Finset.prod_dvd_of_coprime hI, fun h i hi => (Finset.dvd_prod_of_mem _ hi).trans h⟩
state_before: case h
R : Type u
ι✝ : Type u_1
inst✝ : CommSemiring R
I✝ J K L : Ideal R
ι : Type u_2
s : Finset ι
I : ι → R
hI : (↑s).Pairwise (IsCoprime on I)
x : R
⊢ (∀ i ∈ s, I i ∣ x) ↔ ∏ i ∈ s, I i ∣ x
state_after: no goals
Theorem: hasSum_mul_right_iff
File: Mathlib/Topology/Algebra/InfiniteSum/Ring.lean

tactic: simpa only [mul_inv_cancel_right₀ h] using H.mul_right a₂⁻¹
state_before: ι : Type u_1
κ : Type u_2
R : Type u_3
α : Type u_4
inst✝² : DivisionSemiring α
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSemiring α
f g : ι → α
a a₁ a₂ : α
h : a₂ ≠ 0
H : HasSum (fun i => f i * a₂) (a₁ * a₂)
⊢ HasSum f a₁
state_after: no goals
Theorem: edist_mul_mul_le
File: Mathlib/Analysis/Normed/Group/Uniform.lean

tactic: simp only [edist_nndist]
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁✝ a₂✝ b b₁✝ b₂✝ : E
r r₁ r₂ : ℝ
a₁ a₂ b₁ b₂ : E
⊢ edist (a₁ * a₂) (b₁ * b₂) ≤ edist a₁ b₁ + edist a₂ b₂
state_after: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁✝ a₂✝ b b₁✝ b₂✝ : E
r r₁ r₂ : ℝ
a₁ a₂ b₁ b₂ : E
⊢ ↑(nndist (a₁ * a₂) (b₁ * b₂)) ≤ ↑(nndist a₁ b₁) + ↑(nndist a₂ b₂)

tactic: norm_cast
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁✝ a₂✝ b b₁✝ b₂✝ : E
r r₁ r₂ : ℝ
a₁ a₂ b₁ b₂ : E
⊢ ↑(nndist (a₁ * a₂) (b₁ * b₂)) ≤ ↑(nndist a₁ b₁) + ↑(nndist a₂ b₂)
state_after: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁✝ a₂✝ b b₁✝ b₂✝ : E
r r₁ r₂ : ℝ
a₁ a₂ b₁ b₂ : E
⊢ nndist (a₁ * a₂) (b₁ * b₂) ≤ nndist a₁ b₁ + nndist a₂ b₂

tactic: apply nndist_mul_mul_le
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁✝ a₂✝ b b₁✝ b₂✝ : E
r r₁ r₂ : ℝ
a₁ a₂ b₁ b₂ : E
⊢ nndist (a₁ * a₂) (b₁ * b₂) ≤ nndist a₁ b₁ + nndist a₂ b₂
state_after: no goals
Theorem: CategoryTheory.FunctorToTypes.map_id_apply
File: Mathlib/CategoryTheory/Types.lean

tactic: simp [types_id]
state_before: C : Type u
inst✝ : Category.{v, u} C
F G H : C ⥤ Type w
X Y Z : C
σ : F ⟶ G
τ : G ⟶ H
a : F.obj X
⊢ F.map (𝟙 X) a = a
state_after: no goals
Theorem: Nat.one_mod_of_ne_one
File: Mathlib/Data/Nat/Defs.lean

tactic: simp
state_before: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
x✝ : n + 2 ≠ 1
⊢ 1 % (n + 2) = 1
state_after: no goals