1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Matrix.IsHermitian.eigenvalues_eq
File: Mathlib/LinearAlgebra/Matrix/Spectrum.lean

tactic: simp only [mulVec_eigenvectorBasis, dotProduct_smul,← EuclideanSpace.inner_eq_star_dotProduct,
  inner_self_eq_norm_sq_to_K, RCLike.smul_re, hA.eigenvectorBasis.orthonormal.1 i,
  mul_one, algebraMap.coe_one, one_pow, RCLike.one_re]
state_before: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
n : Type u_2
inst✝¹ : Fintype n
A : Matrix n n 𝕜
inst✝ : DecidableEq n
hA : A.IsHermitian
i : n
⊢ hA.eigenvalues i =
    RCLike.re
      (star ((WithLp.equiv 2 ((i : n) → (fun x => 𝕜) i)) (hA.eigenvectorBasis i)) ⬝ᵥ
        A *ᵥ (WithLp.equiv 2 ((i : n) → (fun x => 𝕜) i)) (hA.eigenvectorBasis i))
state_after: no goals
Theorem: EuclideanGeometry.eq_reflection_of_eq_subspace
File: Mathlib/Geometry/Euclidean/Basic.lean

tactic: subst h
state_before: V : Type u_1
P : Type u_2
inst✝⁷ : NormedAddCommGroup V
inst✝⁶ : InnerProductSpace ℝ V
inst✝⁵ : MetricSpace P
inst✝⁴ : NormedAddTorsor V P
s s' : AffineSubspace ℝ P
inst✝³ : Nonempty ↥s
inst✝² : Nonempty ↥s'
inst✝¹ : HasOrthogonalProjection s.direction
inst✝ : HasOrthogonalProjection s'.direction
h : s = s'
p : P
⊢ (reflection s) p = (reflection s') p
state_after: V : Type u_1
P : Type u_2
inst✝⁷ : NormedAddCommGroup V
inst✝⁶ : InnerProductSpace ℝ V
inst✝⁵ : MetricSpace P
inst✝⁴ : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝³ : Nonempty ↥s
inst✝² : HasOrthogonalProjection s.direction
p : P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
⊢ (reflection s) p = (reflection s) p

tactic: rfl
state_before: V : Type u_1
P : Type u_2
inst✝⁷ : NormedAddCommGroup V
inst✝⁶ : InnerProductSpace ℝ V
inst✝⁵ : MetricSpace P
inst✝⁴ : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝³ : Nonempty ↥s
inst✝² : HasOrthogonalProjection s.direction
p : P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
⊢ (reflection s) p = (reflection s) p
state_after: no goals
Theorem: LinearMap.trace_lie
File: Mathlib/LinearAlgebra/Trace.lean

tactic: rw [Ring.lie_def, map_sub, trace_mul_comm]
state_before: R✝ : Type u
inst✝⁹ : CommSemiring R✝
M✝ : Type v
inst✝⁸ : AddCommMonoid M✝
inst✝⁷ : Module R✝ M✝
ι : Type w
inst✝⁶ : DecidableEq ι
inst✝⁵ : Fintype ι
κ : Type u_1
inst✝⁴ : DecidableEq κ
inst✝³ : Fintype κ
b : Basis ι R✝ M✝
c : Basis κ R✝ M✝
R : Type u_2
M : Type u_3
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
f g : Module.End R M
⊢ (trace R M) ⁅f, g⁆ = 0
state_after: R✝ : Type u
inst✝⁹ : CommSemiring R✝
M✝ : Type v
inst✝⁸ : AddCommMonoid M✝
inst✝⁷ : Module R✝ M✝
ι : Type w
inst✝⁶ : DecidableEq ι
inst✝⁵ : Fintype ι
κ : Type u_1
inst✝⁴ : DecidableEq κ
inst✝³ : Fintype κ
b : Basis ι R✝ M✝
c : Basis κ R✝ M✝
R : Type u_2
M : Type u_3
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
f g : Module.End R M
⊢ (trace R M) (g * f) - (trace R M) (g * f) = 0

tactic: exact sub_self _
state_before: R✝ : Type u
inst✝⁹ : CommSemiring R✝
M✝ : Type v
inst✝⁸ : AddCommMonoid M✝
inst✝⁷ : Module R✝ M✝
ι : Type w
inst✝⁶ : DecidableEq ι
inst✝⁵ : Fintype ι
κ : Type u_1
inst✝⁴ : DecidableEq κ
inst✝³ : Fintype κ
b : Basis ι R✝ M✝
c : Basis κ R✝ M✝
R : Type u_2
M : Type u_3
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
f g : Module.End R M
⊢ (trace R M) (g * f) - (trace R M) (g * f) = 0
state_after: no goals
Theorem: ContDiffWithinAt.restrict_scalars
File: Mathlib/Analysis/Calculus/ContDiff/Basic.lean

tactic: rcases h m hm with ⟨u, u_mem, p', hp'⟩
state_before: 𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁵ : NormedAddCommGroup D
inst✝¹⁴ : NormedSpace 𝕜 D
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 u_2
inst✝⁷ : NormedAddCommGroup X
inst✝⁶ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m✝ n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
𝕜' : Type u_3
inst✝⁵ : NontriviallyNormedField 𝕜'
inst✝⁴ : NormedAlgebra 𝕜 𝕜'
inst✝³ : NormedSpace 𝕜' E
inst✝² : IsScalarTower 𝕜 𝕜' E
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
p' : E → FormalMultilinearSeries 𝕜' E F
h : ContDiffWithinAt 𝕜' n f s x
m : ℕ
hm : ↑m ≤ n
⊢ ∃ u ∈ 𝓝[insert x s] x, ∃ p, HasFTaylorSeriesUpToOn (↑m) f p u
state_after: case intro.intro.intro
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁵ : NormedAddCommGroup D
inst✝¹⁴ : NormedSpace 𝕜 D
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 u_2
inst✝⁷ : NormedAddCommGroup X
inst✝⁶ : NormedSpace 𝕜 X
s s₁ t u✝ : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m✝ n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
𝕜' : Type u_3
inst✝⁵ : NontriviallyNormedField 𝕜'
inst✝⁴ : NormedAlgebra 𝕜 𝕜'
inst✝³ : NormedSpace 𝕜' E
inst✝² : IsScalarTower 𝕜 𝕜' E
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
p'✝ : E → FormalMultilinearSeries 𝕜' E F
h : ContDiffWithinAt 𝕜' n f s x
m : ℕ
hm : ↑m ≤ n
u : Set E
u_mem : u ∈ 𝓝[insert x s] x
p' : E → FormalMultilinearSeries 𝕜' E F
hp' : HasFTaylorSeriesUpToOn (↑m) f p' u
⊢ ∃ u ∈ 𝓝[insert x s] x, ∃ p, HasFTaylorSeriesUpToOn (↑m) f p u

tactic: exact ⟨u, u_mem, _, hp'.restrictScalars _⟩
state_before: case intro.intro.intro
𝕜 : Type u_1
inst✝¹⁶ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹⁵ : NormedAddCommGroup D
inst✝¹⁴ : NormedSpace 𝕜 D
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 u_2
inst✝⁷ : NormedAddCommGroup X
inst✝⁶ : NormedSpace 𝕜 X
s s₁ t u✝ : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
b : E × F → G
m✝ n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
𝕜' : Type u_3
inst✝⁵ : NontriviallyNormedField 𝕜'
inst✝⁴ : NormedAlgebra 𝕜 𝕜'
inst✝³ : NormedSpace 𝕜' E
inst✝² : IsScalarTower 𝕜 𝕜' E
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
p'✝ : E → FormalMultilinearSeries 𝕜' E F
h : ContDiffWithinAt 𝕜' n f s x
m : ℕ
hm : ↑m ≤ n
u : Set E
u_mem : u ∈ 𝓝[insert x s] x
p' : E → FormalMultilinearSeries 𝕜' E F
hp' : HasFTaylorSeriesUpToOn (↑m) f p' u
⊢ ∃ u ∈ 𝓝[insert x s] x, ∃ p, HasFTaylorSeriesUpToOn (↑m) f p u
state_after: no goals
Theorem: NNRat.cast_strictMono
File: Mathlib/Data/Rat/Cast/Order.lean

tactic: rwa [NNRat.cast_def, NNRat.cast_def, div_lt_div_iff, ← Nat.cast_mul, ← Nat.cast_mul,
  Nat.cast_lt (α := K), ← NNRat.lt_def]
state_before: F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
K : Type u_5
inst✝ : LinearOrderedSemifield K
p✝ q✝ p q : ℚ≥0
h : p < q
⊢ ↑p < ↑q
state_after: case b0
F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
K : Type u_5
inst✝ : LinearOrderedSemifield K
p✝ q✝ p q : ℚ≥0
h : p < q
⊢ 0 < ↑p.den

case d0
F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
K : Type u_5
inst✝ : LinearOrderedSemifield K
p✝ q✝ p q : ℚ≥0
h : p < q
⊢ 0 < ↑q.den

tactic: simp
state_before: case b0
F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
K : Type u_5
inst✝ : LinearOrderedSemifield K
p✝ q✝ p q : ℚ≥0
h : p < q
⊢ 0 < ↑p.den
state_after: no goals

tactic: simp
state_before: case d0
F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
K : Type u_5
inst✝ : LinearOrderedSemifield K
p✝ q✝ p q : ℚ≥0
h : p < q
⊢ 0 < ↑q.den
state_after: no goals
Theorem: Complex.norm_natCast_cpow_le_norm_natCast_cpow_of_pos
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: simp_rw [norm_natCast_cpow_of_pos hn]
state_before: n : ℕ
hn : 0 < n
w z : ℂ
h : w.re ≤ z.re
⊢ ‖↑n ^ w‖ ≤ ‖↑n ^ z‖
state_after: n : ℕ
hn : 0 < n
w z : ℂ
h : w.re ≤ z.re
⊢ ↑n ^ w.re ≤ ↑n ^ z.re

tactic: exact Real.rpow_le_rpow_of_exponent_le (by exact_mod_cast hn) h
state_before: n : ℕ
hn : 0 < n
w z : ℂ
h : w.re ≤ z.re
⊢ ↑n ^ w.re ≤ ↑n ^ z.re
state_after: no goals

tactic: exact_mod_cast hn
state_before: n : ℕ
hn : 0 < n
w z : ℂ
h : w.re ≤ z.re
⊢ 1 ≤ ↑n
state_after: no goals
Theorem: WeierstrassCurve.Jacobian.add_of_X_ne
File: Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean

tactic: rw [add, if_neg <| not_equiv_of_X_ne hx, addXYZ_of_Z_ne_zero hP hQ hPz hQz hx]
state_before: R : Type u
inst✝¹ : CommRing R
W' : Jacobian R
F : Type v
inst✝ : Field F
W : Jacobian F
P Q : Fin 3 → F
hP : W.Equation P
hQ : W.Equation Q
hPz : P z ≠ 0
hQz : Q z ≠ 0
hx : P x * Q z ^ 2 ≠ Q x * P z ^ 2
⊢ W.add P Q =
    addZ P Q •
      ![W.toAffine.addX (P x / P z ^ 2) (Q x / Q z ^ 2)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        W.toAffine.addY (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3)
          (W.toAffine.slope (P x / P z ^ 2) (Q x / Q z ^ 2) (P y / P z ^ 3) (Q y / Q z ^ 3)),
        1]
state_after: no goals
Theorem: Filter.Tendsto.update
File: Mathlib/Topology/Constructions.lean

tactic: rcases eq_or_ne j i with (rfl | hj) <;> simp [*, hf.apply_nhds]
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
ι : Type u_5
π : ι → Type u_6
κ : Type u_7
inst✝¹ : TopologicalSpace X
T : (i : ι) → TopologicalSpace (π i)
f✝ : X → (i : ι) → π i
inst✝ : DecidableEq ι
l : Filter Y
f : Y → (i : ι) → π i
x : (i : ι) → π i
hf : Tendsto f l (𝓝 x)
i : ι
g : Y → π i
xi : π i
hg : Tendsto g l (𝓝 xi)
j : ι
⊢ Tendsto (fun i_1 => Function.update (f i_1) i (g i_1) j) l (𝓝 (Function.update x i xi j))
state_after: no goals
Theorem: Equiv.natSumNatEquivNat_apply
File: Mathlib/Logic/Equiv/Nat.lean

tactic: ext (x | x) <;> rfl
state_before: α : Type u_1
⊢ ⇑natSumNatEquivNat = Sum.elim bit0 bit1
state_after: no goals
Theorem: differentiableWithinAt_inter
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: simp only [DifferentiableWithinAt, hasFDerivWithinAt_inter ht]
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
ht : t ∈ 𝓝 x
⊢ DifferentiableWithinAt 𝕜 f (s ∩ t) x ↔ DifferentiableWithinAt 𝕜 f s x
state_after: no goals
Theorem: AffineSubspace.wSameSide_smul_vsub_vadd_left
File: Mathlib/Analysis/Convex/Side.lean

tactic: refine ⟨p₂, hp₂, p₁, hp₁, ?_⟩
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
p₁ p₂ x : P
hp₁ : p₁ ∈ s
hp₂ : p₂ ∈ s
t : R
ht : 0 ≤ t
⊢ s.WSameSide (t • (x -ᵥ p₁) +ᵥ p₂) x
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
p₁ p₂ x : P
hp₁ : p₁ ∈ s
hp₂ : p₂ ∈ s
t : R
ht : 0 ≤ t
⊢ SameRay R (t • (x -ᵥ p₁) +ᵥ p₂ -ᵥ p₂) (x -ᵥ p₁)

tactic: rw [vadd_vsub]
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
p₁ p₂ x : P
hp₁ : p₁ ∈ s
hp₂ : p₂ ∈ s
t : R
ht : 0 ≤ t
⊢ SameRay R (t • (x -ᵥ p₁) +ᵥ p₂ -ᵥ p₂) (x -ᵥ p₁)
state_after: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
p₁ p₂ x : P
hp₁ : p₁ ∈ s
hp₂ : p₂ ∈ s
t : R
ht : 0 ≤ t
⊢ SameRay R (t • (x -ᵥ p₁)) (x -ᵥ p₁)

tactic: exact SameRay.sameRay_nonneg_smul_left _ ht
state_before: R : Type u_1
V : Type u_2
V' : Type u_3
P : Type u_4
P' : Type u_5
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
p₁ p₂ x : P
hp₁ : p₁ ∈ s
hp₂ : p₂ ∈ s
t : R
ht : 0 ≤ t
⊢ SameRay R (t • (x -ᵥ p₁)) (x -ᵥ p₁)
state_after: no goals
Theorem: Filter.tendsto_nhds_max_left
File: Mathlib/Topology/Order/OrderClosed.lean

tactic: simp_rw [max_comm _ a]
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderClosedTopology α
f g : β → α
l : Filter β
a : α
h : Tendsto f l (𝓝[>] a)
⊢ Tendsto (fun i => max (f i) a) l (𝓝[>] a)
state_after: α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderClosedTopology α
f g : β → α
l : Filter β
a : α
h : Tendsto f l (𝓝[>] a)
⊢ Tendsto (fun i => max a (f i)) l (𝓝[>] a)

tactic: exact Filter.tendsto_nhds_max_right h
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderClosedTopology α
f g : β → α
l : Filter β
a : α
h : Tendsto f l (𝓝[>] a)
⊢ Tendsto (fun i => max a (f i)) l (𝓝[>] a)
state_after: no goals
Theorem: List.prod_concat
File: Mathlib/Algebra/BigOperators/Group/List.lean

tactic: rw [concat_eq_append, prod_append, prod_singleton]
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
inst✝² : Monoid M
inst✝¹ : Monoid N
inst✝ : Monoid P
l l₁ l₂ : List M
a : M
⊢ (l.concat a).prod = l.prod * a
state_after: no goals
Theorem: Finsupp.single_injective
File: Mathlib/Data/Finsupp/Defs.lean

tactic: have : (single a b₁ : α →₀ M) a = (single a b₂ : α →₀ M) a := by rw [eq]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Zero M
a✝ a' : α
b : M
a : α
b₁ b₂ : M
eq : single a b₁ = single a b₂
⊢ b₁ = b₂
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Zero M
a✝ a' : α
b : M
a : α
b₁ b₂ : M
eq : single a b₁ = single a b₂
this : (single a b₁) a = (single a b₂) a
⊢ b₁ = b₂

tactic: rwa [single_eq_same, single_eq_same] at this
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Zero M
a✝ a' : α
b : M
a : α
b₁ b₂ : M
eq : single a b₁ = single a b₂
this : (single a b₁) a = (single a b₂) a
⊢ b₁ = b₂
state_after: no goals

tactic: rw [eq]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Zero M
a✝ a' : α
b : M
a : α
b₁ b₂ : M
eq : single a b₁ = single a b₂
⊢ (single a b₁) a = (single a b₂) a
state_after: no goals
Theorem: Polynomial.eval₂_X
File: Mathlib/Algebra/Polynomial/Eval.lean

tactic: simp [eval₂_eq_sum]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝¹ : Semiring R
p q r : R[X]
inst✝ : Semiring S
f : R →+* S
x : S
⊢ eval₂ f x X = x
state_after: no goals
Theorem: ZMod.val_one
File: Mathlib/Data/ZMod/Basic.lean

tactic: rw [val_one_eq_one_mod]
state_before: n : ℕ
inst✝ : Fact (1 < n)
⊢ val 1 = 1
state_after: n : ℕ
inst✝ : Fact (1 < n)
⊢ 1 % n = 1

tactic: exact Nat.mod_eq_of_lt Fact.out
state_before: n : ℕ
inst✝ : Fact (1 < n)
⊢ 1 % n = 1
state_after: no goals
Theorem: Polynomial.eval_smul'
File: Mathlib/Algebra/Polynomial/GroupRingAction.lean

tactic: rw [← smul_eval_smul, smul_inv_smul]
state_before: M : Type u_1
inst✝⁶ : Monoid M
R : Type u_2
inst✝⁵ : Semiring R
inst✝⁴ : MulSemiringAction M R
S : Type u_3
inst✝³ : CommSemiring S
inst✝² : MulSemiringAction M S
G : Type u_4
inst✝¹ : Group G
inst✝ : MulSemiringAction G S
g : G
f : S[X]
x : S
⊢ eval (g • x) f = g • eval x (g⁻¹ • f)
state_after: no goals
Theorem: Matrix.PosSemidef.transpose
File: Mathlib/LinearAlgebra/Matrix/PosDef.lean

tactic: refine ⟨IsHermitian.transpose hM.1, fun x => ?_⟩
state_before: m : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁶ : Fintype m
inst✝⁵ : Fintype n
inst✝⁴ : CommRing R
inst✝³ : PartialOrder R
inst✝² : StarRing R
inst✝¹ : StarOrderedRing R
inst✝ : RCLike 𝕜
M : Matrix n n R
hM : M.PosSemidef
⊢ Mᵀ.PosSemidef
state_after: m : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁶ : Fintype m
inst✝⁵ : Fintype n
inst✝⁴ : CommRing R
inst✝³ : PartialOrder R
inst✝² : StarRing R
inst✝¹ : StarOrderedRing R
inst✝ : RCLike 𝕜
M : Matrix n n R
hM : M.PosSemidef
x : n → R
⊢ 0 ≤ star x ⬝ᵥ Mᵀ *ᵥ x

tactic: convert hM.2 (star x) using 1
state_before: m : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁶ : Fintype m
inst✝⁵ : Fintype n
inst✝⁴ : CommRing R
inst✝³ : PartialOrder R
inst✝² : StarRing R
inst✝¹ : StarOrderedRing R
inst✝ : RCLike 𝕜
M : Matrix n n R
hM : M.PosSemidef
x : n → R
⊢ 0 ≤ star x ⬝ᵥ Mᵀ *ᵥ x
state_after: case h.e'_4
m : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁶ : Fintype m
inst✝⁵ : Fintype n
inst✝⁴ : CommRing R
inst✝³ : PartialOrder R
inst✝² : StarRing R
inst✝¹ : StarOrderedRing R
inst✝ : RCLike 𝕜
M : Matrix n n R
hM : M.PosSemidef
x : n → R
⊢ star x ⬝ᵥ Mᵀ *ᵥ x = star (star x) ⬝ᵥ M *ᵥ star x

tactic: rw [mulVec_transpose, Matrix.dotProduct_mulVec, star_star, dotProduct_comm]
state_before: case h.e'_4
m : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁶ : Fintype m
inst✝⁵ : Fintype n
inst✝⁴ : CommRing R
inst✝³ : PartialOrder R
inst✝² : StarRing R
inst✝¹ : StarOrderedRing R
inst✝ : RCLike 𝕜
M : Matrix n n R
hM : M.PosSemidef
x : n → R
⊢ star x ⬝ᵥ Mᵀ *ᵥ x = star (star x) ⬝ᵥ M *ᵥ star x
state_after: no goals
Theorem: MvPowerSeries.zero_mul
File: Mathlib/RingTheory/MvPowerSeries/Basic.lean

tactic: classical simp [coeff_mul]
state_before: σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
n : σ →₀ ℕ
⊢ (coeff R n) (0 * φ) = (coeff R n) 0
state_after: no goals

tactic: simp [coeff_mul]
state_before: σ : Type u_1
R : Type u_2
inst✝ : Semiring R
m n✝ : σ →₀ ℕ
φ ψ : MvPowerSeries σ R
n : σ →₀ ℕ
⊢ (coeff R n) (0 * φ) = (coeff R n) 0
state_after: no goals
Theorem: ProbabilityTheory.kernel.lintegral_comp
File: Mathlib/Probability/Kernel/Composition.lean

tactic: rw [comp_apply, Measure.lintegral_bind (kernel.measurable _) hg]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
γ : Type u_4
mγ : MeasurableSpace γ
f : β → γ
g✝ : γ → α
η : ↥(kernel β γ)
κ : ↥(kernel α β)
a : α
g : γ → ℝ≥0∞
hg : Measurable g
⊢ ∫⁻ (c : γ), g c ∂(η ∘ₖ κ) a = ∫⁻ (b : β), ∫⁻ (c : γ), g c ∂η b ∂κ a
state_after: no goals
Theorem: LieSubmodule.iSup_eq_top_iff_coe_toSubmodule
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: rw [← iSup_coe_toSubmodule, ← top_coeSubmodule (L := L), coe_toSubmodule_eq_iff]
state_before: R : Type u
L : Type v
M : Type w
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
N✝ N' : LieSubmodule R L M
I J : LieIdeal R L
ι : Sort u_1
N : ι → LieSubmodule R L M
⊢ ⨆ i, N i = ⊤ ↔ ⨆ i, ↑(N i) = ⊤
state_after: no goals
Theorem: ProjectiveSpectrum.zeroLocus_bUnion
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean

tactic: simp only [zeroLocus_iUnion]
state_before: R : Type u_1
A : Type u_2
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
s : Set (Set A)
⊢ zeroLocus 𝒜 (⋃ s' ∈ s, s') = ⋂ s' ∈ s, zeroLocus 𝒜 s'
state_after: no goals
Theorem: differentiableAt_iff_restrictScalars
File: Mathlib/Analysis/Calculus/FDeriv/RestrictScalars.lean

tactic: rw [← differentiableWithinAt_univ, ← fderivWithin_univ]
state_before: 𝕜 : Type u_1
inst✝¹⁰ : NontriviallyNormedField 𝕜
𝕜' : Type u_2
inst✝⁹ : NontriviallyNormedField 𝕜'
inst✝⁸ : NormedAlgebra 𝕜 𝕜'
E : Type u_3
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜' E
inst✝⁴ : IsScalarTower 𝕜 𝕜' E
F : Type u_4
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
f : E → F
f' : E →L[𝕜'] F
s : Set E
x : E
hf : DifferentiableAt 𝕜 f x
⊢ DifferentiableAt 𝕜' f x ↔ ∃ g', restrictScalars 𝕜 g' = fderiv 𝕜 f x
state_after: 𝕜 : Type u_1
inst✝¹⁰ : NontriviallyNormedField 𝕜
𝕜' : Type u_2
inst✝⁹ : NontriviallyNormedField 𝕜'
inst✝⁸ : NormedAlgebra 𝕜 𝕜'
E : Type u_3
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜' E
inst✝⁴ : IsScalarTower 𝕜 𝕜' E
F : Type u_4
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
f : E → F
f' : E →L[𝕜'] F
s : Set E
x : E
hf : DifferentiableAt 𝕜 f x
⊢ DifferentiableWithinAt 𝕜' f univ x ↔ ∃ g', restrictScalars 𝕜 g' = fderivWithin 𝕜 f univ x

tactic: exact
  differentiableWithinAt_iff_restrictScalars 𝕜 hf.differentiableWithinAt uniqueDiffWithinAt_univ
state_before: 𝕜 : Type u_1
inst✝¹⁰ : NontriviallyNormedField 𝕜
𝕜' : Type u_2
inst✝⁹ : NontriviallyNormedField 𝕜'
inst✝⁸ : NormedAlgebra 𝕜 𝕜'
E : Type u_3
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedSpace 𝕜' E
inst✝⁴ : IsScalarTower 𝕜 𝕜' E
F : Type u_4
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
f : E → F
f' : E →L[𝕜'] F
s : Set E
x : E
hf : DifferentiableAt 𝕜 f x
⊢ DifferentiableWithinAt 𝕜' f univ x ↔ ∃ g', restrictScalars 𝕜 g' = fderivWithin 𝕜 f univ x
state_after: no goals
Theorem: IsOpen.isEverywherePos
File: Mathlib/MeasureTheory/Measure/EverywherePos.lean

tactic: intro x xs n hn
state_before: α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
⊢ μ.IsEverywherePos s
state_after: α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
⊢ 0 < μ n

tactic: rcases mem_nhdsWithin.1 hn with ⟨u, u_open, xu, hu⟩
state_before: α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
⊢ 0 < μ n
state_after: case intro.intro.intro
α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
u : Set α
u_open : IsOpen u
xu : x ∈ u
hu : u ∩ s ⊆ n
⊢ 0 < μ n

tactic: apply lt_of_lt_of_le _ (measure_mono hu)
state_before: case intro.intro.intro
α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
u : Set α
u_open : IsOpen u
xu : x ∈ u
hu : u ∩ s ⊆ n
⊢ 0 < μ n
state_after: α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
u : Set α
u_open : IsOpen u
xu : x ∈ u
hu : u ∩ s ⊆ n
⊢ 0 < μ (u ∩ s)

tactic: exact (u_open.inter hs).measure_pos μ ⟨x, ⟨xu, xs⟩⟩
state_before: α : Type u_1
inst✝² : TopologicalSpace α
inst✝¹ : MeasurableSpace α
μ ν : Measure α
s k : Set α
inst✝ : μ.IsOpenPosMeasure
hs : IsOpen s
x : α
xs : x ∈ s
n : Set α
hn : n ∈ 𝓝[s] x
u : Set α
u_open : IsOpen u
xu : x ∈ u
hu : u ∩ s ⊆ n
⊢ 0 < μ (u ∩ s)
state_after: no goals