1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Urysohns.CU.lim_eq_midpoint
File: Mathlib/Topology/UrysohnsLemma.lean

tactic: refine tendsto_nhds_unique (c.tendsto_approx_atTop x) ((tendsto_add_atTop_iff_nat 1).1 ?_)
state_before: X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
c : CU P
x : X
⊢ c.lim x = midpoint ℝ (c.left.lim x) (c.right.lim x)
state_after: X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
c : CU P
x : X
⊢ Tendsto (fun n => approx (n + 1) c x) atTop (𝓝 (midpoint ℝ (c.left.lim x) (c.right.lim x)))

tactic: simp only [approx]
state_before: X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
c : CU P
x : X
⊢ Tendsto (fun n => approx (n + 1) c x) atTop (𝓝 (midpoint ℝ (c.left.lim x) (c.right.lim x)))
state_after: X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
c : CU P
x : X
⊢ Tendsto (fun n => midpoint ℝ (approx n c.left x) (approx n c.right x)) atTop
    (𝓝 (midpoint ℝ (c.left.lim x) (c.right.lim x)))

tactic: exact (c.left.tendsto_approx_atTop x).midpoint (c.right.tendsto_approx_atTop x)
state_before: X : Type u_1
inst✝ : TopologicalSpace X
P : Set X → Prop
c : CU P
x : X
⊢ Tendsto (fun n => midpoint ℝ (approx n c.left x) (approx n c.right x)) atTop
    (𝓝 (midpoint ℝ (c.left.lim x) (c.right.lim x)))
state_after: no goals
Theorem: closedEmbedding_of_spaced_out
File: Mathlib/Topology/UniformSpace/UniformEmbedding.lean

tactic: rcases @DiscreteTopology.eq_bot α _ _ with rfl
state_before: α✝ : Type u
β : Type v
γ : Type w
inst✝⁵ : UniformSpace α✝
inst✝⁴ : UniformSpace β
inst✝³ : UniformSpace γ
α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : DiscreteTopology α
inst✝ : T0Space β
f : α → β
s : Set (β × β)
hs : s ∈ 𝓤 β
hf : Pairwise fun x y => (f x, f y) ∉ s
⊢ ClosedEmbedding f
state_after: α✝ : Type u
β : Type v
γ : Type w
inst✝⁴ : UniformSpace α✝
inst✝³ : UniformSpace β
inst✝² : UniformSpace γ
α : Type u_1
inst✝¹ : T0Space β
f : α → β
s : Set (β × β)
hs : s ∈ 𝓤 β
hf : Pairwise fun x y => (f x, f y) ∉ s
inst✝ : DiscreteTopology α
⊢ ClosedEmbedding f

tactic: let _ : UniformSpace α := ⊥
state_before: α✝ : Type u
β : Type v
γ : Type w
inst✝⁴ : UniformSpace α✝
inst✝³ : UniformSpace β
inst✝² : UniformSpace γ
α : Type u_1
inst✝¹ : T0Space β
f : α → β
s : Set (β × β)
hs : s ∈ 𝓤 β
hf : Pairwise fun x y => (f x, f y) ∉ s
inst✝ : DiscreteTopology α
⊢ ClosedEmbedding f
state_after: α✝ : Type u
β : Type v
γ : Type w
inst✝⁴ : UniformSpace α✝
inst✝³ : UniformSpace β
inst✝² : UniformSpace γ
α : Type u_1
inst✝¹ : T0Space β
f : α → β
s : Set (β × β)
hs : s ∈ 𝓤 β
hf : Pairwise fun x y => (f x, f y) ∉ s
inst✝ : DiscreteTopology α
x✝ : UniformSpace α := ⊥
⊢ ClosedEmbedding f

tactic: exact
  { (uniformEmbedding_of_spaced_out hs hf).embedding with
    isClosed_range := isClosed_range_of_spaced_out hs hf }
state_before: α✝ : Type u
β : Type v
γ : Type w
inst✝⁴ : UniformSpace α✝
inst✝³ : UniformSpace β
inst✝² : UniformSpace γ
α : Type u_1
inst✝¹ : T0Space β
f : α → β
s : Set (β × β)
hs : s ∈ 𝓤 β
hf : Pairwise fun x y => (f x, f y) ∉ s
inst✝ : DiscreteTopology α
x✝ : UniformSpace α := ⊥
⊢ ClosedEmbedding f
state_after: no goals
Theorem: fderiv_const
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: ext m
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
c : F
⊢ (fderiv 𝕜 fun x => c) = 0
state_after: case h.h
𝕜 : 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
c : F
m x✝ : E
⊢ (fderiv 𝕜 (fun x => c) m) x✝ = (0 m) x✝

tactic: rw [fderiv_const_apply]
state_before: case h.h
𝕜 : 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
c : F
m x✝ : E
⊢ (fderiv 𝕜 (fun x => c) m) x✝ = (0 m) x✝
state_after: case h.h
𝕜 : 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
c : F
m x✝ : E
⊢ 0 x✝ = (0 m) x✝

tactic: rfl
state_before: case h.h
𝕜 : 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
c : F
m x✝ : E
⊢ 0 x✝ = (0 m) x✝
state_after: no goals
Theorem: SpectrumRestricts.compactSpace
File: Mathlib/Analysis/NormedSpace/Star/ContinuousFunctionalCalculus/Restrict.lean

tactic: rw [← isCompact_iff_compactSpace] at h_cpct ⊢
state_before: R : Type u_1
S : Type u_2
A : Type u_3
inst✝⁸ : Semifield R
inst✝⁷ : Semifield S
inst✝⁶ : Ring A
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : Algebra S A
inst✝² : IsScalarTower R S A
inst✝¹ : TopologicalSpace R
inst✝ : TopologicalSpace S
a : A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_cpct : CompactSpace ↑(spectrum S a)
⊢ CompactSpace ↑(spectrum R a)
state_after: R : Type u_1
S : Type u_2
A : Type u_3
inst✝⁸ : Semifield R
inst✝⁷ : Semifield S
inst✝⁶ : Ring A
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : Algebra S A
inst✝² : IsScalarTower R S A
inst✝¹ : TopologicalSpace R
inst✝ : TopologicalSpace S
a : A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_cpct : IsCompact (spectrum S a)
⊢ IsCompact (spectrum R a)

tactic: exact h.image ▸ h_cpct.image (map_continuous f)
state_before: R : Type u_1
S : Type u_2
A : Type u_3
inst✝⁸ : Semifield R
inst✝⁷ : Semifield S
inst✝⁶ : Ring A
inst✝⁵ : Algebra R S
inst✝⁴ : Algebra R A
inst✝³ : Algebra S A
inst✝² : IsScalarTower R S A
inst✝¹ : TopologicalSpace R
inst✝ : TopologicalSpace S
a : A
f : C(S, R)
h : SpectrumRestricts a ⇑f
h_cpct : IsCompact (spectrum S a)
⊢ IsCompact (spectrum R a)
state_after: no goals
Theorem: completedRiemannZeta₀_one_sub
File: Mathlib/NumberTheory/LSeries/RiemannZeta.lean

tactic: rw [← completedHurwitzZetaEven₀_zero, ← completedCosZeta₀_zero, completedHurwitzZetaEven₀_one_sub]
state_before: s : ℂ
⊢ completedRiemannZeta₀ (1 - s) = completedRiemannZeta₀ s
state_after: no goals
Theorem: CategoryTheory.Subobject.ind
File: Mathlib/CategoryTheory/Subobject/Basic.lean

tactic: apply Quotient.inductionOn'
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X : C
p : Subobject X → Prop
h : ∀ ⦃A : C⦄ (f : A ⟶ X) [inst : Mono f], p (mk f)
P : Subobject X
⊢ p P
state_after: case h
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X : C
p : Subobject X → Prop
h : ∀ ⦃A : C⦄ (f : A ⟶ X) [inst : Mono f], p (mk f)
P : Subobject X
⊢ ∀ (a : MonoOver X), p (Quotient.mk'' a)

tactic: intro a
state_before: case h
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X : C
p : Subobject X → Prop
h : ∀ ⦃A : C⦄ (f : A ⟶ X) [inst : Mono f], p (mk f)
P : Subobject X
⊢ ∀ (a : MonoOver X), p (Quotient.mk'' a)
state_after: case h
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X : C
p : Subobject X → Prop
h : ∀ ⦃A : C⦄ (f : A ⟶ X) [inst : Mono f], p (mk f)
P : Subobject X
a : MonoOver X
⊢ p (Quotient.mk'' a)

tactic: exact h a.arrow
state_before: case h
C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X : C
p : Subobject X → Prop
h : ∀ ⦃A : C⦄ (f : A ⟶ X) [inst : Mono f], p (mk f)
P : Subobject X
a : MonoOver X
⊢ p (Quotient.mk'' a)
state_after: no goals
Theorem: ArithmeticFunction.sum_eq_iff_sum_mul_moebius_eq
File: Mathlib/NumberTheory/ArithmeticFunction.lean

tactic: rw [sum_eq_iff_sum_smul_moebius_eq]
state_before: R : Type u_1
inst✝ : Ring R
f g : ℕ → R
⊢ (∀ n > 0, ∑ i ∈ n.divisors, f i = g n) ↔ ∀ n > 0, ∑ x ∈ n.divisorsAntidiagonal, ↑(μ x.1) * g x.2 = f n
state_after: R : Type u_1
inst✝ : Ring R
f g : ℕ → R
⊢ (∀ n > 0, ∑ x ∈ n.divisorsAntidiagonal, μ x.1 • g x.2 = f n) ↔
    ∀ n > 0, ∑ x ∈ n.divisorsAntidiagonal, ↑(μ x.1) * g x.2 = f n

tactic: apply forall_congr'
state_before: R : Type u_1
inst✝ : Ring R
f g : ℕ → R
⊢ (∀ n > 0, ∑ x ∈ n.divisorsAntidiagonal, μ x.1 • g x.2 = f n) ↔
    ∀ n > 0, ∑ x ∈ n.divisorsAntidiagonal, ↑(μ x.1) * g x.2 = f n
state_after: case h
R : Type u_1
inst✝ : Ring R
f g : ℕ → R
⊢ ∀ (a : ℕ),
    a > 0 → ∑ x ∈ a.divisorsAntidiagonal, μ x.1 • g x.2 = f a ↔
      a > 0 → ∑ x ∈ a.divisorsAntidiagonal, ↑(μ x.1) * g x.2 = f a

tactic: refine fun a => imp_congr_right fun _ => (sum_congr rfl fun x _hx => ?_).congr_left
state_before: case h
R : Type u_1
inst✝ : Ring R
f g : ℕ → R
⊢ ∀ (a : ℕ),
    a > 0 → ∑ x ∈ a.divisorsAntidiagonal, μ x.1 • g x.2 = f a ↔
      a > 0 → ∑ x ∈ a.divisorsAntidiagonal, ↑(μ x.1) * g x.2 = f a
state_after: case h
R : Type u_1
inst✝ : Ring R
f g : ℕ → R
a : ℕ
x✝ : a > 0
x : ℕ × ℕ
_hx : x ∈ a.divisorsAntidiagonal
⊢ μ x.1 • g x.2 = ↑(μ x.1) * g x.2

tactic: rw [zsmul_eq_mul]
state_before: case h
R : Type u_1
inst✝ : Ring R
f g : ℕ → R
a : ℕ
x✝ : a > 0
x : ℕ × ℕ
_hx : x ∈ a.divisorsAntidiagonal
⊢ μ x.1 • g x.2 = ↑(μ x.1) * g x.2
state_after: no goals
Theorem: le_rpow_one_add_norm_iff_norm_le
File: Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean

tactic: rw [le_sub_iff_add_le', neg_inv]
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
r t : ℝ
hr : 0 < r
ht : 0 < t
x : E
⊢ t ≤ (1 + ‖x‖) ^ (-r) ↔ ‖x‖ ≤ t ^ (-r⁻¹) - 1
state_after: E : Type u_1
inst✝ : NormedAddCommGroup E
r t : ℝ
hr : 0 < r
ht : 0 < t
x : E
⊢ t ≤ (1 + ‖x‖) ^ (-r) ↔ 1 + ‖x‖ ≤ t ^ (-r)⁻¹

tactic: exact (Real.le_rpow_inv_iff_of_neg (by positivity) ht (neg_lt_zero.mpr hr)).symm
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
r t : ℝ
hr : 0 < r
ht : 0 < t
x : E
⊢ t ≤ (1 + ‖x‖) ^ (-r) ↔ 1 + ‖x‖ ≤ t ^ (-r)⁻¹
state_after: no goals

tactic: positivity
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
r t : ℝ
hr : 0 < r
ht : 0 < t
x : E
⊢ 0 < 1 + ‖x‖
state_after: no goals
Theorem: isCyclic_of_prime_card
File: Mathlib/GroupTheory/SpecificGroups/Cyclic.lean

tactic: obtain ⟨g, hg⟩ : ∃ g, g ≠ 1 := Fintype.exists_ne_of_one_lt_card (h.symm ▸ hp.1.one_lt) 1
state_before: α✝ : Type u
a : α✝
inst✝² : Group α✝
α : Type u
inst✝¹ : Group α
inst✝ : Fintype α
p : ℕ
hp : Fact (Nat.Prime p)
h : Fintype.card α = p
⊢ IsCyclic α
state_after: case intro
α✝ : Type u
a : α✝
inst✝² : Group α✝
α : Type u
inst✝¹ : Group α
inst✝ : Fintype α
p : ℕ
hp : Fact (Nat.Prime p)
h : Fintype.card α = p
g : α
hg : g ≠ 1
⊢ IsCyclic α

tactic: exact ⟨g, fun g' ↦ mem_zpowers_of_prime_card h hg⟩
state_before: case intro
α✝ : Type u
a : α✝
inst✝² : Group α✝
α : Type u
inst✝¹ : Group α
inst✝ : Fintype α
p : ℕ
hp : Fact (Nat.Prime p)
h : Fintype.card α = p
g : α
hg : g ≠ 1
⊢ IsCyclic α
state_after: no goals
Theorem: AddMonoidAlgebra.mul_single_zero_apply
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

tactic: rw [add_zero]
state_before: k : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
inst✝¹ : Semiring k
inst✝ : AddZeroClass G
f : k[G]
r : k
x a : G
⊢ a + 0 = x ↔ a = x
state_after: no goals
Theorem: Real.log_lt_log
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: rwa [← exp_lt_exp, exp_log hx, exp_log (lt_trans hx h)]
state_before: x y : ℝ
hx : 0 < x
h : x < y
⊢ log x < log y
state_after: no goals
Theorem: ne_one_of_norm_ne_zero
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rintro rfl
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₂ : ℝ
⊢ a = 1 → ‖a‖ = 0
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₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
⊢ ‖1‖ = 0

tactic: exact norm_one'
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₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
⊢ ‖1‖ = 0
state_after: no goals
Theorem: map_finset_inf'
File: Mathlib/Data/Finset/Lattice.lean

tactic: refine hs.cons_induction ?_ ?_ <;> intros <;> simp [*]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝³ : SemilatticeInf α
s✝ : Finset β
H : s✝.Nonempty
f✝ : β → α
inst✝² : SemilatticeInf β
inst✝¹ : FunLike F α β
inst✝ : InfHomClass F α β
f : F
s : Finset ι
hs : s.Nonempty
g : ι → α
⊢ f (s.inf' hs g) = s.inf' hs (⇑f ∘ g)
state_after: no goals
Theorem: disjoint_lift'_closure_nhds
File: Mathlib/Topology/Separation.lean

tactic: simp [hxy, nhds_neBot.ne] at h
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T25Space X
x y : X
h : Disjoint ((𝓝 x).lift' closure) ((𝓝 y).lift' closure)
hxy : x = y
⊢ False
state_after: no goals
Theorem: TopologicalSpace.Closeds.coe_sup
File: Mathlib/Topology/Sets/Closeds.lean

tactic: rfl
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Closeds α
⊢ ↑(s ⊔ t) = ↑s ∪ ↑t
state_after: no goals
Theorem: Real.hasDerivAt_tan
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/ArctanDeriv.lean

tactic: exact mod_cast h
state_before: x : ℝ
h : cos x ≠ 0
⊢ Complex.cos ↑x ≠ 0
state_after: no goals
Theorem: Int.floor_add_int
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [le_floor, ← sub_le_iff_le_add, ← sub_le_iff_le_add, le_floor, Int.cast_sub]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z✝ : ℤ
a✝¹ a✝ : α
z a : ℤ
⊢ a ≤ ⌊a✝ + ↑z⌋ ↔ a ≤ ⌊a✝⌋ + z
state_after: no goals
Theorem: Matrix.Fin.circulant_mul
File: Mathlib/LinearAlgebra/Matrix/Circulant.lean

tactic: simp [Injective, eq_iff_true_of_subsingleton]
state_before: α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
R : Type u_5
inst✝ : Semiring α
⊢ ∀ (v w : Fin 0 → α), circulant v * circulant w = circulant (circulant v *ᵥ w)
state_after: no goals
Theorem: FinVec.sum_eq
File: Mathlib/Data/Fin/Tuple/Reflection.lean

tactic: rw [Fin.sum_univ_castSucc, sum, sum_eq]
state_before: m n✝ : ℕ
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : AddCommMonoid α
n : ℕ
a : Fin (n + 2) → α
⊢ sum a = ∑ i : Fin (n + 2), a i
state_after: no goals
Theorem: hasStrictFDerivAt_iff_hasStrictDerivAt
File: Mathlib/Analysis/Calculus/Deriv/Basic.lean

tactic: simp [HasStrictDerivAt, HasStrictFDerivAt]
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f'✝ f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
f' : 𝕜 →L[𝕜] F
⊢ HasStrictFDerivAt f f' x ↔ HasStrictDerivAt f (f' 1) x
state_after: no goals
Theorem: ContinuousMultilinearMap.norm_iteratedFDeriv_le
File: Mathlib/Analysis/Calculus/FDeriv/Analytic.lean

tactic: rw [f.iteratedFDeriv_eq]
state_before: 𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E✝ : Type u
inst✝⁶ : NormedAddCommGroup E✝
inst✝⁵ : NormedSpace 𝕜 E✝
F : Type v
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
ι : Type u_2
E : ι → Type u_3
inst✝² : (i : ι) → NormedAddCommGroup (E i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝ : Fintype ι
f : ContinuousMultilinearMap 𝕜 E F
n✝ : ℕ∞
x✝ : (i : ι) → E i
n : ℕ
x : (i : ι) → E i
⊢ ‖iteratedFDeriv 𝕜 n (⇑f) x‖ ≤ ↑((Fintype.card ι).descFactorial n) * ‖f‖ * ‖x‖ ^ (Fintype.card ι - n)
state_after: 𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E✝ : Type u
inst✝⁶ : NormedAddCommGroup E✝
inst✝⁵ : NormedSpace 𝕜 E✝
F : Type v
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
ι : Type u_2
E : ι → Type u_3
inst✝² : (i : ι) → NormedAddCommGroup (E i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝ : Fintype ι
f : ContinuousMultilinearMap 𝕜 E F
n✝ : ℕ∞
x✝ : (i : ι) → E i
n : ℕ
x : (i : ι) → E i
⊢ ‖f.iteratedFDeriv n x‖ ≤ ↑((Fintype.card ι).descFactorial n) * ‖f‖ * ‖x‖ ^ (Fintype.card ι - n)

tactic: exact f.norm_iteratedFDeriv_le' n x
state_before: 𝕜 : Type u_1
inst✝⁷ : NontriviallyNormedField 𝕜
E✝ : Type u
inst✝⁶ : NormedAddCommGroup E✝
inst✝⁵ : NormedSpace 𝕜 E✝
F : Type v
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
ι : Type u_2
E : ι → Type u_3
inst✝² : (i : ι) → NormedAddCommGroup (E i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝ : Fintype ι
f : ContinuousMultilinearMap 𝕜 E F
n✝ : ℕ∞
x✝ : (i : ι) → E i
n : ℕ
x : (i : ι) → E i
⊢ ‖f.iteratedFDeriv n x‖ ≤ ↑((Fintype.card ι).descFactorial n) * ‖f‖ * ‖x‖ ^ (Fintype.card ι - n)
state_after: no goals
Theorem: finSuccEquivLast_last
File: Mathlib/Logic/Equiv/Fin.lean

tactic: simp [finSuccEquivLast]
state_before: m n : ℕ
⊢ finSuccEquivLast (Fin.last n) = none
state_after: no goals
Theorem: Stream'.append_stream_head_tail
File: Mathlib/Data/Stream/Init.lean

tactic: rw [cons_append_stream, nil_append_stream, Stream'.eta]
state_before: α : Type u
β : Type v
δ : Type w
s : Stream' α
⊢ [s.head] ++ₛ s.tail = s
state_after: no goals
Theorem: List.nodup_iff_get?_ne_get?
File: Mathlib/Data/List/Nodup.lean

tactic: simp [nodup_iff_getElem?_ne_getElem?]
state_before: α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a b : α
l : List α
⊢ l.Nodup ↔ ∀ (i j : ℕ), i < j → j < l.length → l.get? i ≠ l.get? j
state_after: no goals
Theorem: Ordinal.ne_mex
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: simpa using mex_not_mem_range.{_, v} f
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal.{max u v}
⊢ ∀ (i : ι), f i ≠ mex f
state_after: no goals
Theorem: Metric.cthickening_thickening_subset
File: Mathlib/Topology/MetricSpace/Thickening.lean

tactic: obtain hδ | hδ := le_total δ 0
state_before: ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
⊢ cthickening ε (thickening δ s) ⊆ cthickening (ε + δ) s
state_after: case inl
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : δ ≤ 0
⊢ cthickening ε (thickening δ s) ⊆ cthickening (ε + δ) s

case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : 0 ≤ δ
⊢ cthickening ε (thickening δ s) ⊆ cthickening (ε + δ) s

tactic: intro x
state_before: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : 0 ≤ δ
⊢ cthickening ε (thickening δ s) ⊆ cthickening (ε + δ) s
state_after: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x✝ : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : 0 ≤ δ
x : α
⊢ x ∈ cthickening ε (thickening δ s) → x ∈ cthickening (ε + δ) s

tactic: simp_rw [mem_cthickening_iff, ENNReal.ofReal_add hε hδ]
state_before: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x✝ : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : 0 ≤ δ
x : α
⊢ x ∈ cthickening ε (thickening δ s) → x ∈ cthickening (ε + δ) s
state_after: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x✝ : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : 0 ≤ δ
x : α
⊢ infEdist x (thickening δ s) ≤ ENNReal.ofReal ε → infEdist x s ≤ ENNReal.ofReal ε + ENNReal.ofReal δ

tactic: exact fun hx => infEdist_le_infEdist_thickening_add.trans (add_le_add_right hx _)
state_before: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x✝ : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : 0 ≤ δ
x : α
⊢ infEdist x (thickening δ s) ≤ ENNReal.ofReal ε → infEdist x s ≤ ENNReal.ofReal ε + ENNReal.ofReal δ
state_after: no goals

tactic: simp only [thickening_of_nonpos hδ, cthickening_empty, empty_subset]
state_before: case inl
ι : Sort u_1
α : Type u
β : Type v
inst✝ : PseudoEMetricSpace α
δ✝ ε : ℝ
s✝ t : Set α
x : α
hε : 0 ≤ ε
δ : ℝ
s : Set α
hδ : δ ≤ 0
⊢ cthickening ε (thickening δ s) ⊆ cthickening (ε + δ) s
state_after: no goals
Theorem: fourierCoeff_bernoulli_eq
File: Mathlib/NumberTheory/ZetaValues.lean

tactic: have : ((↑) ∘ periodizedBernoulli k : 𝕌 → ℂ) = AddCircle.liftIco 1 0 ((↑) ∘ bernoulliFun k) := by
  ext1 x; rfl
state_before: k : ℕ
hk : k ≠ 0
n : ℤ
⊢ fourierCoeff (ofReal' ∘ periodizedBernoulli k) n = -↑k ! / (2 * ↑π * I * ↑n) ^ k
state_after: k : ℕ
hk : k ≠ 0
n : ℤ
this : ofReal' ∘ periodizedBernoulli k = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k)
⊢ fourierCoeff (ofReal' ∘ periodizedBernoulli k) n = -↑k ! / (2 * ↑π * I * ↑n) ^ k

tactic: rw [this, fourierCoeff_liftIco_eq]
state_before: k : ℕ
hk : k ≠ 0
n : ℤ
this : ofReal' ∘ periodizedBernoulli k = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k)
⊢ fourierCoeff (ofReal' ∘ periodizedBernoulli k) n = -↑k ! / (2 * ↑π * I * ↑n) ^ k
state_after: k : ℕ
hk : k ≠ 0
n : ℤ
this : ofReal' ∘ periodizedBernoulli k = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k)
⊢ fourierCoeffOn ⋯ (ofReal' ∘ bernoulliFun k) n = -↑k ! / (2 * ↑π * I * ↑n) ^ k

tactic: simpa only [zero_add] using bernoulliFourierCoeff_eq hk n
state_before: k : ℕ
hk : k ≠ 0
n : ℤ
this : ofReal' ∘ periodizedBernoulli k = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k)
⊢ fourierCoeffOn ⋯ (ofReal' ∘ bernoulliFun k) n = -↑k ! / (2 * ↑π * I * ↑n) ^ k
state_after: no goals

tactic: ext1 x
state_before: k : ℕ
hk : k ≠ 0
n : ℤ
⊢ ofReal' ∘ periodizedBernoulli k = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k)
state_after: case h
k : ℕ
hk : k ≠ 0
n : ℤ
x : 𝕌
⊢ (ofReal' ∘ periodizedBernoulli k) x = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k) x

tactic: rfl
state_before: case h
k : ℕ
hk : k ≠ 0
n : ℤ
x : 𝕌
⊢ (ofReal' ∘ periodizedBernoulli k) x = AddCircle.liftIco 1 0 (ofReal' ∘ bernoulliFun k) x
state_after: no goals
Theorem: MeasureTheory.Measure.LebesgueDecomposition.zero_mem_measurableLE
File: Mathlib/MeasureTheory/Decomposition/Lebesgue.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
A : Set α
x✝ : MeasurableSet A
⊢ ∫⁻ (x : α) in A, 0 x ∂μ ≤ ν A
state_after: no goals