ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: SmoothBumpCovering.embeddingPiTangent_ker_mfderiv
File: Mathlib/Geometry/Manifold/WhitneyEmbedding.lean

Proof steps:
state_before: ι : Type uι
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
H : Type uH
inst✝⁴ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝³ : TopologicalSpace M
inst✝² : ChartedSpace H M
inst✝¹ : SmoothManifoldWithCorners I M
inst✝ : T2Space M
hi : Fintype ι
s : Set M
f : SmoothBumpCovering ι I M s
x : M
hx : x ∈ s
⊢ LinearMap.ker (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x) = ⊥
state_after: case h
ι : Type uι
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
H : Type uH
inst✝⁴ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝³ : TopologicalSpace M
inst✝² : ChartedSpace H M
inst✝¹ : SmoothManifoldWithCorners I M
inst✝ : T2Space M
hi : Fintype ι
s : Set M
f : SmoothBumpCovering ι I M s
x : M
hx : x ∈ s
⊢ LinearMap.ker (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x) ≤ ⊥
tactic: apply bot_unique
state_before: case h
ι : Type uι
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
H : Type uH
inst✝⁴ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝³ : TopologicalSpace M
inst✝² : ChartedSpace H M
inst✝¹ : SmoothManifoldWithCorners I M
inst✝ : T2Space M
hi : Fintype ι
s : Set M
f : SmoothBumpCovering ι I M s
x : M
hx : x ∈ s
⊢ LinearMap.ker (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x) ≤ ⊥
state_after: case h
ι : Type uι
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
H : Type uH
inst✝⁴ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝³ : TopologicalSpace M
inst✝² : ChartedSpace H M
inst✝¹ : SmoothManifoldWithCorners I M
inst✝ : T2Space M
hi : Fintype ι
s : Set M
f : SmoothBumpCovering ι I M s
x : M
hx : x ∈ s
⊢ LinearMap.ker (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x) ≤
    LinearMap.ker
      (((ContinuousLinearMap.fst ℝ E ℝ).comp (ContinuousLinearMap.proj (f.ind x hx))).comp
        (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x))
tactic: rw [← (mdifferentiable_chart I (f.c (f.ind x hx))).ker_mfderiv_eq_bot
      (f.mem_chartAt_ind_source x hx),
    ← comp_embeddingPiTangent_mfderiv]
state_before: case h
ι : Type uι
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
H : Type uH
inst✝⁴ : TopologicalSpace H
I : ModelWithCorners ℝ E H
M : Type uM
inst✝³ : TopologicalSpace M
inst✝² : ChartedSpace H M
inst✝¹ : SmoothManifoldWithCorners I M
inst✝ : T2Space M
hi : Fintype ι
s : Set M
f : SmoothBumpCovering ι I M s
x : M
hx : x ∈ s
⊢ LinearMap.ker (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x) ≤
    LinearMap.ker
      (((ContinuousLinearMap.fst ℝ E ℝ).comp (ContinuousLinearMap.proj (f.ind x hx))).comp
        (mfderiv I 𝓘(ℝ, ι → E × ℝ) (⇑f.embeddingPiTangent) x))
state_after: no goals
tactic: exact LinearMap.ker_le_ker_comp _ _
Theorem: CategoryTheory.Subobject.sSup_le
File: Mathlib/CategoryTheory/Subobject/Lattice.lean

Proof steps:
state_before: C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
X Y Z : C
D : Type u₂
inst✝³ : Category.{v₂, u₂} D
inst✝² : WellPowered C
inst✝¹ : HasCoproducts C
inst✝ : HasImages C
A : C
s : Set (Subobject A)
f : Subobject A
k : ∀ g ∈ s, g ≤ f
⊢ sSup s ≤ f
state_after: case f
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
X Y Z : C
D : Type u₂
inst✝³ : Category.{v₂, u₂} D
inst✝² : WellPowered C
inst✝¹ : HasCoproducts C
inst✝ : HasImages C
A : C
s : Set (Subobject A)
f : Subobject A
k : ∀ g ∈ s, g ≤ f
⊢ underlying.obj (sSup s) ⟶ underlying.obj f

case w
C : Type u₁
inst✝⁴ : Category.{v₁, u₁} C
X Y Z : C
D : Type u₂
inst✝³ : Category.{v₂, u₂} D
inst✝² : WellPowered C
inst✝¹ : HasCoproducts C
inst✝ : HasImages C
A : C
s : Set (Subobject A)
f : Subobject A
k : ∀ g ∈ s, g ≤ f
⊢ ?f ≫ f.arrow = (sSup s).arrow
tactic: fapply le_of_comm
Theorem: MeasureTheory.setIntegral_condexpL2_indicator
File: Mathlib/MeasureTheory/Function/ConditionalExpectation/CondexpL2.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
E' : Type u_3
F : Type u_4
G : Type u_5
G' : Type u_6
𝕜 : Type u_7
p : ℝ≥0∞
inst✝¹⁹ : RCLike 𝕜
inst✝¹⁸ : NormedAddCommGroup E
inst✝¹⁷ : InnerProductSpace 𝕜 E
inst✝¹⁶ : CompleteSpace E
inst✝¹⁵ : NormedAddCommGroup E'
inst✝¹⁴ : InnerProductSpace 𝕜 E'
inst✝¹³ : CompleteSpace E'
inst✝¹² : NormedSpace ℝ E'
inst✝¹¹ : NormedAddCommGroup F
inst✝¹⁰ : NormedSpace 𝕜 F
inst✝⁹ : NormedAddCommGroup G
inst✝⁸ : NormedAddCommGroup G'
inst✝⁷ : NormedSpace ℝ G'
inst✝⁶ : CompleteSpace G'
m m0 : MeasurableSpace α
μ : Measure α
s t : Set α
E'' : Type u_8
𝕜' : Type u_9
inst✝⁵ : RCLike 𝕜'
inst✝⁴ : NormedAddCommGroup E''
inst✝³ : InnerProductSpace 𝕜' E''
inst✝² : CompleteSpace E''
inst✝¹ : NormedSpace ℝ E''
inst✝ : NormedSpace ℝ G
hm : m ≤ m0
hs : MeasurableSet s
ht : MeasurableSet t
hμs : μ s ≠ ⊤
hμt : μ t ≠ ⊤
⊢ (μ (t ∩ s)).toReal • 1 = (μ (t ∩ s)).toReal
state_after: no goals
tactic: rw [smul_eq_mul, mul_one]
Theorem: List.get?_set_eq
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

Proof steps:
state_before: α : Type u_1
a : α
n : Nat
l : List α
⊢ (l.set n a).get? n = (fun x => a) <$> l.get? n
state_after: no goals
tactic: simp
Theorem: SimpleGraph.left_nonuniformWitnesses_subset
File: Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean

Proof steps:
state_before: α : Type u_1
𝕜 : Type u_2
inst✝¹ : LinearOrderedField 𝕜
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : 𝕜
s t : Finset α
a b : α
h : ¬G.IsUniform ε s t
⊢ (G.nonuniformWitnesses ε s t).1 ⊆ s
state_after: α : Type u_1
𝕜 : Type u_2
inst✝¹ : LinearOrderedField 𝕜
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : 𝕜
s t : Finset α
a b : α
h : ¬G.IsUniform ε s t
⊢ (⋯.choose, ⋯.choose).1 ⊆ s
tactic: rw [nonuniformWitnesses, dif_pos h]
state_before: α : Type u_1
𝕜 : Type u_2
inst✝¹ : LinearOrderedField 𝕜
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : 𝕜
s t : Finset α
a b : α
h : ¬G.IsUniform ε s t
⊢ (⋯.choose, ⋯.choose).1 ⊆ s
state_after: no goals
tactic: exact (not_isUniform_iff.1 h).choose_spec.1
Theorem: ValuationSubring.valuation_lt_one_iff
File: Mathlib/RingTheory/Valuation/ValuationSubring.lean

Proof steps:
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ a ∈ LocalRing.maximalIdeal ↥A ↔ A.valuation ↑a < 1
state_after: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ a ∈ nonunits ↥A ↔ A.valuation ↑a < 1
tactic: rw [LocalRing.mem_maximalIdeal]
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ a ∈ nonunits ↥A ↔ A.valuation ↑a < 1
state_after: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ ¬IsUnit a ↔ A.valuation ↑a < 1
tactic: dsimp [nonunits]
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ ¬IsUnit a ↔ A.valuation ↑a < 1
state_after: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ ¬A.valuation ↑a = 1 ↔ A.valuation ↑a < 1
tactic: rw [valuation_eq_one_iff]
state_before: K : Type u
inst✝ : Field K
A : ValuationSubring K
a : ↥A
⊢ ¬A.valuation ↑a = 1 ↔ A.valuation ↑a < 1
state_after: no goals
tactic: exact (A.valuation_le_one a).lt_iff_ne.symm
Theorem: Finsupp.onFinset_prod
File: Mathlib/Algebra/BigOperators/Finsupp.lean

Proof steps:
state_before: α : Type u_1
ι : Type u_2
γ : Type u_3
A : Type u_4
B : Type u_5
C : Type u_6
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s✝ : Finset α
f✝ : α → ι →₀ A
i : ι
g✝ : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_7
M : Type u_8
M' : Type u_9
N : Type u_10
P : Type u_11
G : Type u_12
H : Type u_13
R : Type u_14
S : Type u_15
inst✝² : Zero M
inst✝¹ : Zero M'
inst✝ : CommMonoid N
s : Finset α
f : α → M
g : α → M → N
hf : ∀ (a : α), f a ≠ 0 → a ∈ s
hg : ∀ (a : α), g a 0 = 1
⊢ ∀ x ∈ s, x ∉ (onFinset s f hf).support → g x ((onFinset s f hf) x) = 1
state_after: no goals
tactic: simp (config := { contextual := true }) [*]
Theorem: Complex.taylorSeries_eq_on_emetric_ball'
File: Mathlib/Analysis/Complex/TaylorSeries.lean

Proof steps:
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f✝ : ℂ → E
c : ℂ
r : ENNReal
hf✝ : DifferentiableOn ℂ f✝ (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
f : ℂ → ℂ
hf : DifferentiableOn ℂ f (EMetric.ball c r)
⊢ ∑' (n : ℕ), (↑n !)⁻¹ * iteratedDeriv n f c * (z - c) ^ n = f z
state_after: case h.e'_2.h.e'_5.h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f✝ : ℂ → E
c : ℂ
r : ENNReal
hf✝ : DifferentiableOn ℂ f✝ (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
f : ℂ → ℂ
hf : DifferentiableOn ℂ f (EMetric.ball c r)
n : ℕ
⊢ (↑n !)⁻¹ * iteratedDeriv n f c * (z - c) ^ n = (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c
tactic: convert taylorSeries_eq_on_emetric_ball hf hz using 3 with n
state_before: case h.e'_2.h.e'_5.h
E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f✝ : ℂ → E
c : ℂ
r : ENNReal
hf✝ : DifferentiableOn ℂ f✝ (EMetric.ball c r)
z : ℂ
hz : z ∈ EMetric.ball c r
f : ℂ → ℂ
hf : DifferentiableOn ℂ f (EMetric.ball c r)
n : ℕ
⊢ (↑n !)⁻¹ * iteratedDeriv n f c * (z - c) ^ n = (↑n !)⁻¹ • (z - c) ^ n • iteratedDeriv n f c
state_after: no goals
tactic: rw [mul_right_comm, smul_eq_mul, smul_eq_mul, mul_assoc]
Theorem: Polynomial.X_sub_C_mul_divByMonic_eq_sub_modByMonic
File: Mathlib/Algebra/Polynomial/FieldDivision.lean

Proof steps:
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
⊢ (X - C a) * (f /ₘ (X - C a)) = f - f %ₘ (X - C a)
state_after: case _hq
R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
⊢ (X - C a).Monic
tactic: rw [eq_sub_iff_add_eq, ← eq_sub_iff_add_eq', modByMonic_eq_sub_mul_div]
state_before: case _hq
R : Type u
S : Type v
k : Type y
A : Type z
a✝ b : R
n : ℕ
inst✝¹ : Field R
p q : R[X]
K : Type u_1
inst✝ : Field K
f : K[X]
a : K
⊢ (X - C a).Monic
state_after: no goals
tactic: exact monic_X_sub_C a
Theorem: LieSubmodule.top_lie_le_iff_le_normalizer
File: Mathlib/Algebra/Lie/Normalizer.lean

Proof steps:
state_before: R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ N' : LieSubmodule R L M
⊢ ⁅⊤, N⁆ ≤ N' ↔ N ≤ N'.normalizer
state_after: R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ N' : LieSubmodule R L M
⊢ (∀ x ∈ ⊤, ∀ m ∈ N, ⁅x, m⁆ ∈ N') ↔ N ≤ N'.normalizer
tactic: rw [lie_le_iff]
state_before: R : Type u_1
L : Type u_2
M : Type u_3
M' : Type u_4
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
N N₁ N₂ N' : LieSubmodule R L M
⊢ (∀ x ∈ ⊤, ∀ m ∈ N, ⁅x, m⁆ ∈ N') ↔ N ≤ N'.normalizer
state_after: no goals
tactic: tauto
Theorem: Finite.surjective_iff_bijective
File: Mathlib/Data/Fintype/Card.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : Finite α
f : α → α
⊢ Surjective f ↔ Bijective f
state_after: no goals
tactic: simp [Bijective, injective_iff_surjective]
Theorem: BoxIntegral.Prepartition.coe_eq_of_mem_split_of_lt_mem
File: Mathlib/Analysis/BoxIntegral/Partition/Split.lean

Proof steps:
state_before: ι : Type u_1
M : Type u_2
n : ℕ
I J : Box ι
i : ι
x : ℝ
y : ι → ℝ
h₁ : J ∈ split I i x
h₂ : y ∈ J
h₃ : x < y i
⊢ ↑J = ↑I ∩ {y | x < y i}
state_after: ι : Type u_1
M : Type u_2
n : ℕ
I J : Box ι
i : ι
x : ℝ
y : ι → ℝ
h₁ : J ∈ split I i x
h₂ : y ∈ J
h₃ : x < y i
H : ↑J = ↑I ∩ {y | y i ≤ x}
⊢ False
tactic: refine (mem_split_iff'.1 h₁).resolve_left fun H => ?_
state_before: ι : Type u_1
M : Type u_2
n : ℕ
I J : Box ι
i : ι
x : ℝ
y : ι → ℝ
h₁ : J ∈ split I i x
h₂ : y ∈ J
h₃ : x < y i
H : ↑J = ↑I ∩ {y | y i ≤ x}
⊢ False
state_after: ι : Type u_1
M : Type u_2
n : ℕ
I J : Box ι
i : ι
x : ℝ
y : ι → ℝ
h₁ : J ∈ split I i x
h₂ : y ∈ ↑I ∩ {y | y i ≤ x}
h₃ : x < y i
H : ↑J = ↑I ∩ {y | y i ≤ x}
⊢ False
tactic: rw [← Box.mem_coe, H] at h₂
state_before: ι : Type u_1
M : Type u_2
n : ℕ
I J : Box ι
i : ι
x : ℝ
y : ι → ℝ
h₁ : J ∈ split I i x
h₂ : y ∈ ↑I ∩ {y | y i ≤ x}
h₃ : x < y i
H : ↑J = ↑I ∩ {y | y i ≤ x}
⊢ False
state_after: no goals
tactic: exact h₃.not_le h₂.2
Theorem: map_add_neg
File: Mathlib/Algebra/Group/Hom/Defs.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
G : Type u_7
H : Type u_8
F : Type u_9
inst✝⁶ : MulOneClass M
inst✝⁵ : MulOneClass N
inst✝⁴ : FunLike F M N
inst✝³ : FunLike F G H
inst✝² : Group G
inst✝¹ : DivisionMonoid H
inst✝ : MonoidHomClass F G H
f : F
a b : G
⊢ f (a * b⁻¹) = f a * (f b)⁻¹
state_after: no goals
tactic: rw [map_mul, map_inv]
Theorem: PolynomialModule.aeval_equivPolynomial
File: Mathlib/Algebra/Polynomial/Module/Basic.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup M
inst✝¹² : Module R M
I : Ideal R
S✝ : Type u_3
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Algebra S✝ R
inst✝⁹ : Module S✝ M
inst✝⁸ : IsScalarTower S✝ R M
R' : Type u_4
M' : Type u_5
inst✝⁷ : CommRing R'
inst✝⁶ : AddCommGroup M'
inst✝⁵ : Module R' M'
inst✝⁴ : Algebra R R'
inst✝³ : Module R M'
inst✝² : IsScalarTower R R' M'
S : Type u_6
inst✝¹ : CommRing S
inst✝ : Algebra S R
f : PolynomialModule S S
x : R
⊢ (aeval x) (equivPolynomial f) = (eval x) ((map R (Algebra.linearMap S R)) f)
state_after: case h0
R : Type u_1
M : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup M
inst✝¹² : Module R M
I : Ideal R
S✝ : Type u_3
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Algebra S✝ R
inst✝⁹ : Module S✝ M
inst✝⁸ : IsScalarTower S✝ R M
R' : Type u_4
M' : Type u_5
inst✝⁷ : CommRing R'
inst✝⁶ : AddCommGroup M'
inst✝⁵ : Module R' M'
inst✝⁴ : Algebra R R'
inst✝³ : Module R M'
inst✝² : IsScalarTower R R' M'
S : Type u_6
inst✝¹ : CommRing S
inst✝ : Algebra S R
f : PolynomialModule S S
x : R
⊢ (aeval x) (equivPolynomial 0) = (eval x) ((map R (Algebra.linearMap S R)) 0)

case hadd
R : Type u_1
M : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup M
inst✝¹² : Module R M
I : Ideal R
S✝ : Type u_3
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Algebra S✝ R
inst✝⁹ : Module S✝ M
inst✝⁸ : IsScalarTower S✝ R M
R' : Type u_4
M' : Type u_5
inst✝⁷ : CommRing R'
inst✝⁶ : AddCommGroup M'
inst✝⁵ : Module R' M'
inst✝⁴ : Algebra R R'
inst✝³ : Module R M'
inst✝² : IsScalarTower R R' M'
S : Type u_6
inst✝¹ : CommRing S
inst✝ : Algebra S R
f : PolynomialModule S S
x : R
⊢ ∀ (f g : PolynomialModule S S),
    (aeval x) (equivPolynomial f) = (eval x) ((map R (Algebra.linearMap S R)) f) →
      (aeval x) (equivPolynomial g) = (eval x) ((map R (Algebra.linearMap S R)) g) →
        (aeval x) (equivPolynomial (f + g)) = (eval x) ((map R (Algebra.linearMap S R)) (f + g))

case hsingle
R : Type u_1
M : Type u_2
inst✝¹⁴ : CommRing R
inst✝¹³ : AddCommGroup M
inst✝¹² : Module R M
I : Ideal R
S✝ : Type u_3
inst✝¹¹ : CommSemiring S✝
inst✝¹⁰ : Algebra S✝ R
inst✝⁹ : Module S✝ M
inst✝⁸ : IsScalarTower S✝ R M
R' : Type u_4
M' : Type u_5
inst✝⁷ : CommRing R'
inst✝⁶ : AddCommGroup M'
inst✝⁵ : Module R' M'
inst✝⁴ : Algebra R R'
inst✝³ : Module R M'
inst✝² : IsScalarTower R R' M'
S : Type u_6
inst✝¹ : CommRing S
inst✝ : Algebra S R
f : PolynomialModule S S
x : R
⊢ ∀ (a : ℕ) (b : S),
    (aeval x) (equivPolynomial ((single S a) b)) = (eval x) ((map R (Algebra.linearMap S R)) ((single S a) b))
tactic: apply induction_linear f
Theorem: Ideal.comap_map_of_surjective
File: Mathlib/RingTheory/Ideal/Maps.lean

Proof steps:
state_before: R : Type u
S : Type v
F : Type u_1
inst✝³ : Ring R
inst✝² : Ring S
inst✝¹ : FunLike F R S
inst✝ : RingHomClass F R S
f : F
I✝ : Ideal R
hf : Function.Surjective ⇑f
I : Ideal R
r : R
h : f r ∈ map f I
s : R
hsi : s ∈ ↑I
hfsr : f s = f r
⊢ f (r - s) = 0
state_after: no goals
tactic: rw [map_sub, hfsr, sub_self]
Theorem: Real.tendsto_euler_sin_prod
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/EulerSineProd.lean

Proof steps:
state_before: x : ℝ
⊢ Tendsto (fun n => π * x * ∏ j ∈ Finset.range n, (1 - x ^ 2 / (↑j + 1) ^ 2)) atTop (𝓝 (sin (π * x)))
state_after: case h.e'_3
x : ℝ
⊢ (fun n => π * x * ∏ j ∈ Finset.range n, (1 - x ^ 2 / (↑j + 1) ^ 2)) =
    Complex.re ∘ fun n => ↑π * ↑x * ∏ j ∈ Finset.range n, (1 - ↑x ^ 2 / (↑j + 1) ^ 2)

case h.e'_5
x : ℝ
⊢ 𝓝 (sin (π * x)) = 𝓝 (Complex.sin (↑π * ↑x)).re
tactic: convert (Complex.continuous_re.tendsto _).comp (Complex.tendsto_euler_sin_prod x) using 1
Theorem: CategoryTheory.SimplicialObject.Augmented.rightOpLeftOpIso_hom_left_app
File: Mathlib/AlgebraicTopology/SimplicialObject.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
X : Augmented C
⊢ X.rightOp.leftOp.right = X.right
state_after: no goals
tactic: aesop_cat
Theorem: LieAlgebra.exists_isCartanSubalgebra_engel
File: Mathlib/Algebra/Lie/CartanExists.lean

Proof steps:
state_before: K : Type u_1
L : Type u_2
inst✝⁴ : Field K
inst✝³ : LieRing L
inst✝² : LieAlgebra K L
inst✝¹ : Module.Finite K L
inst✝ : Infinite K
⊢ ∃ x, (engel K x).IsCartanSubalgebra
state_after: case h
K : Type u_1
L : Type u_2
inst✝⁴ : Field K
inst✝³ : LieRing L
inst✝² : LieAlgebra K L
inst✝¹ : Module.Finite K L
inst✝ : Infinite K
⊢ ↑(finrank K L) ≤ #K
tactic: apply exists_isCartanSubalgebra_engel_of_finrank_le_card
state_before: case h
K : Type u_1
L : Type u_2
inst✝⁴ : Field K
inst✝³ : LieRing L
inst✝² : LieAlgebra K L
inst✝¹ : Module.Finite K L
inst✝ : Infinite K
⊢ ↑(finrank K L) ≤ #K
state_after: no goals
tactic: exact (Cardinal.nat_lt_aleph0 _).le.trans <| Cardinal.infinite_iff.mp ‹Infinite K›
Theorem: MeasureTheory.FiniteMeasure.testAgainstNN_zero
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

Proof steps:
state_before: Ω : Type u_1
inst✝⁵ : MeasurableSpace Ω
R : Type u_2
inst✝⁴ : SMul R ℝ≥0
inst✝³ : SMul R ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : TopologicalSpace Ω
μ : FiniteMeasure Ω
⊢ μ.testAgainstNN 0 = 0
state_after: no goals
tactic: simpa only [zero_mul] using μ.testAgainstNN_const 0
Theorem: HomologicalComplex.singleMapHomologicalComplex_inv_app_self
File: Mathlib/Algebra/Homology/Additive.lean

Proof steps:
state_before: ι : Type u_1
V : Type u
inst✝¹¹ : Category.{v, u} V
inst✝¹⁰ : Preadditive V
W : Type u_2
inst✝⁹ : Category.{?u.143344, u_2} W
inst✝⁸ : Preadditive W
W₁ : Type u_3
W₂ : Type u_4
inst✝⁷ : Category.{u_6, u_3} W₁
inst✝⁶ : Category.{u_5, u_4} W₂
inst✝⁵ : HasZeroMorphisms W₁
inst✝⁴ : HasZeroMorphisms W₂
c✝ : ComplexShape ι
C D E : HomologicalComplex V c✝
f g : C ⟶ D
h k : D ⟶ E
i : ι
inst✝³ : HasZeroObject W₁
inst✝² : HasZeroObject W₂
F : W₁ ⥤ W₂
inst✝¹ : F.PreservesZeroMorphisms
c : ComplexShape ι
inst✝ : DecidableEq ι
j : ι
X : W₁
⊢ ((singleMapHomologicalComplex F c j).inv.app X).f j =
    (singleObjXSelf c j (F.obj X)).hom ≫ F.map (singleObjXSelf c j X).inv
state_after: no goals
tactic: simp [singleMapHomologicalComplex, singleObjXSelf, singleObjXIsoOfEq, eqToHom_map]
Theorem: schnirelmannDensity_eq_zero_of_one_not_mem
File: Mathlib/Combinatorics/Schnirelmann.lean

Proof steps:
state_before: A : Set ℕ
inst✝ : DecidablePred fun x => x ∈ A
h : 1 ∉ A
⊢ 1 - (↑1)⁻¹ ≤ 0
state_after: no goals
tactic: simp
Theorem: List.stronglyMeasurable_prod'
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
l : List (α → M)
hl : ∀ f ∈ l, StronglyMeasurable f
⊢ StronglyMeasurable l.prod
state_after: case nil
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
hl : ∀ f ∈ [], StronglyMeasurable f
⊢ StronglyMeasurable [].prod

case cons
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
f : α → M
l : List (α → M)
ihl : (∀ f ∈ l, StronglyMeasurable f) → StronglyMeasurable l.prod
hl : ∀ f_1 ∈ f :: l, StronglyMeasurable f_1
⊢ StronglyMeasurable (f :: l).prod
tactic: induction' l with f l ihl
state_before: case cons
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
f : α → M
l : List (α → M)
ihl : (∀ f ∈ l, StronglyMeasurable f) → StronglyMeasurable l.prod
hl : ∀ f_1 ∈ f :: l, StronglyMeasurable f_1
⊢ StronglyMeasurable (f :: l).prod
state_after: case cons
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
f : α → M
l : List (α → M)
ihl : (∀ f ∈ l, StronglyMeasurable f) → StronglyMeasurable l.prod
hl : StronglyMeasurable f ∧ ∀ x ∈ l, StronglyMeasurable x
⊢ StronglyMeasurable (f :: l).prod
tactic: rw [List.forall_mem_cons] at hl
state_before: case cons
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
f : α → M
l : List (α → M)
ihl : (∀ f ∈ l, StronglyMeasurable f) → StronglyMeasurable l.prod
hl : StronglyMeasurable f ∧ ∀ x ∈ l, StronglyMeasurable x
⊢ StronglyMeasurable (f :: l).prod
state_after: case cons
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
f : α → M
l : List (α → M)
ihl : (∀ f ∈ l, StronglyMeasurable f) → StronglyMeasurable l.prod
hl : StronglyMeasurable f ∧ ∀ x ∈ l, StronglyMeasurable x
⊢ StronglyMeasurable (f * l.prod)
tactic: rw [List.prod_cons]
state_before: case cons
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝³ : Countable ι
f✝ g : α → β
M : Type u_5
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
m : MeasurableSpace α
f : α → M
l : List (α → M)
ihl : (∀ f ∈ l, StronglyMeasurable f) → StronglyMeasurable l.prod
hl : StronglyMeasurable f ∧ ∀ x ∈ l, StronglyMeasurable x
⊢ StronglyMeasurable (f * l.prod)
state_after: no goals
tactic: exact hl.1.mul (ihl hl.2)
Theorem: LieAlgebra.IsKilling.coroot_zero
File: Mathlib/Algebra/Lie/Weights/Killing.lean

Proof steps:
state_before: R : Type u_1
K : Type u_2
L : Type u_3
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : Field K
inst✝⁶ : LieAlgebra K L
inst✝⁵ : FiniteDimensional K L
H : LieSubalgebra K L
inst✝⁴ : H.IsCartanSubalgebra
inst✝³ : IsTriangularizable K (↥H) L
inst✝² : IsKilling K L
inst✝¹ : CharZero K
inst✝ : Nontrivial L
⊢ coroot 0 = 0
state_after: no goals
tactic: simp [Weight.isZero_zero]
Theorem: intervalIntegral.integral_non_aestronglyMeasurable
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

Proof steps:
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
F : Type u_4
A : Type u_5
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b : ℝ
f g : ℝ → E
μ : Measure ℝ
hf : ¬AEStronglyMeasurable f (μ.restrict (Ι a b))
⊢ ∫ (x : ℝ) in a..b, f x ∂μ = 0
state_after: no goals
tactic: rw [intervalIntegral_eq_integral_uIoc, integral_non_aestronglyMeasurable hf, smul_zero]