1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: WeierstrassCurve.Projective.polynomialX_eq
File: Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean

tactic: rw [polynomialX, polynomial]
state_before: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ W.polynomialX = C W.a₁ * X 1 * X 2 - (C 3 * X 0 ^ 2 + C (2 * W.a₂) * X 0 * X 2 + C W.a₄ * X 2 ^ 2)
state_after: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ (pderiv 0)
      (X 1 ^ 2 * X 2 + C W.a₁ * X 0 * X 1 * X 2 + C W.a₃ * X 1 * X 2 ^ 2 -
        (X 0 ^ 3 + C W.a₂ * X 0 ^ 2 * X 2 + C W.a₄ * X 0 * X 2 ^ 2 + C W.a₆ * X 2 ^ 3)) =
    C W.a₁ * X 1 * X 2 - (C 3 * X 0 ^ 2 + C (2 * W.a₂) * X 0 * X 2 + C W.a₄ * X 2 ^ 2)

tactic: pderiv_simp
state_before: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ (pderiv 0)
      (X 1 ^ 2 * X 2 + C W.a₁ * X 0 * X 1 * X 2 + C W.a₃ * X 1 * X 2 ^ 2 -
        (X 0 ^ 3 + C W.a₂ * X 0 ^ 2 * X 2 + C W.a₄ * X 0 * X 2 ^ 2 + C W.a₆ * X 2 ^ 3)) =
    C W.a₁ * X 1 * X 2 - (C 3 * X 0 ^ 2 + C (2 * W.a₂) * X 0 * X 2 + C W.a₄ * X 2 ^ 2)
state_after: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ ↑2 * X 1 ^ (2 - 1) * 0 * X 2 + X 1 ^ 2 * 0 +
          (((0 * X 0 + C W.a₁ * 1) * X 1 + C W.a₁ * X 0 * 0) * X 2 + C W.a₁ * X 0 * X 1 * 0) +
        ((0 * X 1 + C W.a₃ * 0) * X 2 ^ 2 + C W.a₃ * X 1 * (↑2 * X 2 ^ (2 - 1) * 0)) -
      (↑3 * X 0 ^ (3 - 1) * 1 + ((0 * X 0 ^ 2 + C W.a₂ * (↑2 * X 0 ^ (2 - 1) * 1)) * X 2 + C W.a₂ * X 0 ^ 2 * 0) +
          ((0 * X 0 + C W.a₄ * 1) * X 2 ^ 2 + C W.a₄ * X 0 * (↑2 * X 2 ^ (2 - 1) * 0)) +
        (0 * X 2 ^ 3 + C W.a₆ * (↑3 * X 2 ^ (3 - 1) * 0))) =
    C W.a₁ * X 1 * X 2 - (3 * X 0 ^ 2 + 2 * C W.a₂ * X 0 * X 2 + C W.a₄ * X 2 ^ 2)

tactic: ring1
state_before: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ ↑2 * X 1 ^ (2 - 1) * 0 * X 2 + X 1 ^ 2 * 0 +
          (((0 * X 0 + C W.a₁ * 1) * X 1 + C W.a₁ * X 0 * 0) * X 2 + C W.a₁ * X 0 * X 1 * 0) +
        ((0 * X 1 + C W.a₃ * 0) * X 2 ^ 2 + C W.a₃ * X 1 * (↑2 * X 2 ^ (2 - 1) * 0)) -
      (↑3 * X 0 ^ (3 - 1) * 1 + ((0 * X 0 ^ 2 + C W.a₂ * (↑2 * X 0 ^ (2 - 1) * 1)) * X 2 + C W.a₂ * X 0 ^ 2 * 0) +
          ((0 * X 0 + C W.a₄ * 1) * X 2 ^ 2 + C W.a₄ * X 0 * (↑2 * X 2 ^ (2 - 1) * 0)) +
        (0 * X 2 ^ 3 + C W.a₆ * (↑3 * X 2 ^ (3 - 1) * 0))) =
    C W.a₁ * X 1 * X 2 - (3 * X 0 ^ 2 + 2 * C W.a₂ * X 0 * X 2 + C W.a₄ * X 2 ^ 2)
state_after: no goals
Theorem: starConvex_iff_segment_subset
File: Mathlib/Analysis/Convex/Star.lean

tactic: constructor
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
⊢ StarConvex 𝕜 x s ↔ ∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s
state_after: case mp
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
⊢ StarConvex 𝕜 x s → ∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s

case mpr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
⊢ (∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s) → StarConvex 𝕜 x s

tactic: rintro h y hy z ⟨a, b, ha, hb, hab, rfl⟩
state_before: case mp
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
⊢ StarConvex 𝕜 x s → ∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s
state_after: case mp.intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
h : StarConvex 𝕜 x s
y : E
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ s

tactic: exact h hy ha hb hab
state_before: case mp.intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
h : StarConvex 𝕜 x s
y : E
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ s
state_after: no goals

tactic: rintro h y hy a b ha hb hab
state_before: case mpr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
⊢ (∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s) → StarConvex 𝕜 x s
state_after: case mpr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
h : ∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s
y : E
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ s

tactic: exact h hy ⟨a, b, ha, hb, hab, rfl⟩
state_before: case mpr
𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : SMul 𝕜 E
inst✝ : SMul 𝕜 F
x : E
s t : Set E
h : ∀ ⦃y : E⦄, y ∈ s → [x-[𝕜]y] ⊆ s
y : E
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ s
state_after: no goals
Theorem: Complex.arg_mul_cos_add_sin_mul_I_coe_angle
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: induction' θ using Real.Angle.induction_on with θ
state_before: a x z : ℂ
r : ℝ
hr : 0 < r
θ : Real.Angle
⊢ ↑(↑r * (↑θ.cos + ↑θ.sin * I)).arg = θ
state_after: case h
a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ ↑(↑r * (↑(↑θ).cos + ↑(↑θ).sin * I)).arg = ↑θ

tactic: rw [Real.Angle.cos_coe, Real.Angle.sin_coe, Real.Angle.angle_eq_iff_two_pi_dvd_sub]
state_before: case h
a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ ↑(↑r * (↑(↑θ).cos + ↑(↑θ).sin * I)).arg = ↑θ
state_after: case h
a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ ∃ k, (↑r * (↑(Real.cos θ) + ↑(Real.sin θ) * I)).arg - θ = 2 * π * ↑k

tactic: use ⌊(π - θ) / (2 * π)⌋
state_before: case h
a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ ∃ k, (↑r * (↑(Real.cos θ) + ↑(Real.sin θ) * I)).arg - θ = 2 * π * ↑k
state_after: case h
a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ (↑r * (↑(Real.cos θ) + ↑(Real.sin θ) * I)).arg - θ = 2 * π * ↑⌊(π - θ) / (2 * π)⌋

tactic: exact mod_cast arg_mul_cos_add_sin_mul_I_sub hr θ
state_before: case h
a x z : ℂ
r : ℝ
hr : 0 < r
θ : ℝ
⊢ (↑r * (↑(Real.cos θ) + ↑(Real.sin θ) * I)).arg - θ = 2 * π * ↑⌊(π - θ) / (2 * π)⌋
state_after: no goals
Theorem: Complex.sinh_add_cosh
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [add_comm, cosh_add_sinh]
state_before: x y : ℂ
⊢ sinh x + cosh x = cexp x
state_after: no goals
Theorem: mulRothNumber_spec
File: Mathlib/Combinatorics/Additive/AP/Three/Defs.lean

tactic: norm_cast
state_before: F : Type u_1
α : Type u_2
β : Type u_3
𝕜 : Type u_4
E : Type u_5
inst✝³ : DecidableEq α
inst✝² : Monoid α
inst✝¹ : DecidableEq β
inst✝ : Monoid β
s t : Finset α
⊢ ThreeGPFree ↑∅
state_after: F : Type u_1
α : Type u_2
β : Type u_3
𝕜 : Type u_4
E : Type u_5
inst✝³ : DecidableEq α
inst✝² : Monoid α
inst✝¹ : DecidableEq β
inst✝ : Monoid β
s t : Finset α
⊢ ThreeGPFree ∅

tactic: exact threeGPFree_empty
state_before: F : Type u_1
α : Type u_2
β : Type u_3
𝕜 : Type u_4
E : Type u_5
inst✝³ : DecidableEq α
inst✝² : Monoid α
inst✝¹ : DecidableEq β
inst✝ : Monoid β
s t : Finset α
⊢ ThreeGPFree ∅
state_after: no goals
Theorem: Ideal.hasBasis_nhds_zero_adic
File: Mathlib/Topology/Algebra/Nonarchimedean/AdicTopology.lean

tactic: intro U
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
⊢ ∀ (t : Set R), t ∈ 𝓝 0 ↔ ∃ i, True ∧ ↑(I ^ i) ⊆ t
state_after: R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ U ∈ 𝓝 0 ↔ ∃ i, True ∧ ↑(I ^ i) ⊆ U

tactic: rw [I.ringFilterBasis.toAddGroupFilterBasis.nhds_zero_hasBasis.mem_iff]
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ U ∈ 𝓝 0 ↔ ∃ i, True ∧ ↑(I ^ i) ⊆ U
state_after: R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ (∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U) ↔ ∃ i, True ∧ ↑(I ^ i) ⊆ U

tactic: constructor
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ (∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U) ↔ ∃ i, True ∧ ↑(I ^ i) ⊆ U
state_after: case mp
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ (∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U) → ∃ i, True ∧ ↑(I ^ i) ⊆ U

case mpr
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ (∃ i, True ∧ ↑(I ^ i) ⊆ U) → ∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U

tactic: rintro ⟨-, ⟨i, rfl⟩, h⟩
state_before: case mp
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ (∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U) → ∃ i, True ∧ ↑(I ^ i) ⊆ U
state_after: case mp.intro.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : id ↑((fun i => toAddSubgroup (I ^ i • ⊤)) i) ⊆ U
⊢ ∃ i, True ∧ ↑(I ^ i) ⊆ U

tactic: replace h : ↑(I ^ i) ⊆ U := by simpa using h
state_before: case mp.intro.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : id ↑((fun i => toAddSubgroup (I ^ i • ⊤)) i) ⊆ U
⊢ ∃ i, True ∧ ↑(I ^ i) ⊆ U
state_after: case mp.intro.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : ↑(I ^ i) ⊆ U
⊢ ∃ i, True ∧ ↑(I ^ i) ⊆ U

tactic: exact ⟨i, trivial, h⟩
state_before: case mp.intro.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : ↑(I ^ i) ⊆ U
⊢ ∃ i, True ∧ ↑(I ^ i) ⊆ U
state_after: no goals

tactic: simpa using h
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : id ↑((fun i => toAddSubgroup (I ^ i • ⊤)) i) ⊆ U
⊢ ↑(I ^ i) ⊆ U
state_after: no goals

tactic: rintro ⟨i, -, h⟩
state_before: case mpr
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
⊢ (∃ i, True ∧ ↑(I ^ i) ⊆ U) → ∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U
state_after: case mpr.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : ↑(I ^ i) ⊆ U
⊢ ∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U

tactic: exact ⟨(I ^ i : Ideal R), ⟨i, by simp⟩, h⟩
state_before: case mpr.intro.intro
R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : ↑(I ^ i) ⊆ U
⊢ ∃ i ∈ RingFilterBasis.toAddGroupFilterBasis, id i ⊆ U
state_after: no goals

tactic: simp
state_before: R : Type u_1
inst✝ : CommRing R
I : Ideal R
U : Set R
i : ℕ
h : ↑(I ^ i) ⊆ U
⊢ ↑(I ^ i) = ↑((fun i => toAddSubgroup (I ^ i • ⊤)) i)
state_after: no goals
Theorem: EuclideanGeometry.oangle_add_oangle_add_oangle_eq_pi
File: Mathlib/Geometry/Euclidean/Triangle.lean

tactic: simpa only [neg_vsub_eq_vsub_rev] using
  positiveOrientation.oangle_add_cyc3_neg_left (vsub_ne_zero.mpr h21) (vsub_ne_zero.mpr h32)
    (vsub_ne_zero.mpr h13)
state_before: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
inst✝¹ : Module.Oriented ℝ V (Fin 2)
inst✝ : Fact (FiniteDimensional.finrank ℝ V = 2)
p1 p2 p3 : P
h21 : p2 ≠ p1
h32 : p3 ≠ p2
h13 : p1 ≠ p3
⊢ ∡ p1 p2 p3 + ∡ p2 p3 p1 + ∡ p3 p1 p2 = ↑π
state_after: no goals
Theorem: ne₁₂_of_not_collinear
File: Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean

tactic: rintro rfl
state_before: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
p₁ p₂ p₃ : P
h : ¬Collinear k {p₁, p₂, p₃}
⊢ p₁ ≠ p₂
state_after: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
p₁ p₃ : P
h : ¬Collinear k {p₁, p₁, p₃}
⊢ False

tactic: simp [collinear_pair] at h
state_before: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
p₁ p₃ : P
h : ¬Collinear k {p₁, p₁, p₃}
⊢ False
state_after: no goals
Theorem: dvd_add
File: Mathlib/Algebra/Ring/Divisibility/Basic.lean

tactic: simp [left_distrib, hd, he]
state_before: α : Type u_1
β : Type u_2
inst✝² : Add α
inst✝¹ : Semigroup α
inst✝ : LeftDistribClass α
a b c : α
h₁ : a ∣ b
h₂ : a ∣ c
d : α
hd : b = a * d
e : α
he : c = a * e
⊢ a * (d + e) = b + c
state_after: no goals
Theorem: MulAction.orbitRel.Quotient.orbit_nonempty
File: Mathlib/GroupTheory/GroupAction/Basic.lean

tactic: rw [orbitRel.Quotient.orbit_eq_orbit_out x Quotient.out_eq']
state_before: G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
x : Quotient G α
⊢ x.orbit.Nonempty
state_after: G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
x : Quotient G α
⊢ (MulAction.orbit G (Quotient.out' x)).Nonempty

tactic: exact orbit_nonempty _
state_before: G : Type u_1
α : Type u_2
β : Type u_3
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MulAction G β
x : Quotient G α
⊢ (MulAction.orbit G (Quotient.out' x)).Nonempty
state_after: no goals
Theorem: Nat.count_succ'
File: Mathlib/Data/Nat/Count.lean

tactic: rw [count_add', count_one]
state_before: p : ℕ → Prop
inst✝ : DecidablePred p
n : ℕ
⊢ count p (n + 1) = count (fun k => p (k + 1)) n + if p 0 then 1 else 0
state_after: no goals
Theorem: Continuous.integrableAt_nhds
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: rw [← nhdsWithin_univ]
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : OpensMeasurableSpace α
μ : Measure α
inst✝ : IsLocallyFiniteMeasure μ
f : α → E
hf : Continuous f
a : α
⊢ IntegrableAtFilter f (𝓝 a) μ
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : OpensMeasurableSpace α
μ : Measure α
inst✝ : IsLocallyFiniteMeasure μ
f : α → E
hf : Continuous f
a : α
⊢ IntegrableAtFilter f (𝓝[univ] a) μ

tactic: exact hf.continuousOn.integrableAt_nhdsWithin MeasurableSet.univ (mem_univ a)
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝⁵ : MeasurableSpace α
inst✝⁴ : NormedAddCommGroup E
inst✝³ : TopologicalSpace α
inst✝² : SecondCountableTopologyEither α E
inst✝¹ : OpensMeasurableSpace α
μ : Measure α
inst✝ : IsLocallyFiniteMeasure μ
f : α → E
hf : Continuous f
a : α
⊢ IntegrableAtFilter f (𝓝[univ] a) μ
state_after: no goals
Theorem: Directed.inf_iSup_eq
File: Mathlib/Order/CompactlyGenerated/Basic.lean

tactic: rw [iSup, h.directedOn_range.inf_sSup_eq, iSup_range]
state_before: ι : Sort u_1
α : Type u_2
inst✝² : CompleteLattice α
f : ι → α
inst✝¹ : CompleteLattice α
inst✝ : IsCompactlyGenerated α
a b : α
s : Set α
h : Directed (fun x x_1 => x ≤ x_1) f
⊢ a ⊓ ⨆ i, f i = ⨆ i, a ⊓ f i
state_after: no goals
Theorem: AlgHom.snd_prod
File: Mathlib/Algebra/Algebra/Prod.lean

tactic: ext
state_before: R : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : Semiring A
inst✝⁴ : Algebra R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : Semiring C
inst✝ : Algebra R C
f : A →ₐ[R] B
g : A →ₐ[R] C
⊢ (snd R B C).comp (f.prod g) = g
state_after: case H
R : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : Semiring A
inst✝⁴ : Algebra R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : Semiring C
inst✝ : Algebra R C
f : A →ₐ[R] B
g : A →ₐ[R] C
x✝ : A
⊢ ((snd R B C).comp (f.prod g)) x✝ = g x✝

tactic: rfl
state_before: case H
R : Type u_1
A : Type u_2
B : Type u_3
C : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : Semiring A
inst✝⁴ : Algebra R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : Semiring C
inst✝ : Algebra R C
f : A →ₐ[R] B
g : A →ₐ[R] C
x✝ : A
⊢ ((snd R B C).comp (f.prod g)) x✝ = g x✝
state_after: no goals
Theorem: Fintype.two_lt_card_iff
File: Mathlib/Data/Fintype/Card.lean

tactic: simp_rw [← Finset.card_univ, two_lt_card_iff, mem_univ, true_and_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
⊢ 2 < card α ↔ ∃ a b c, a ≠ b ∧ a ≠ c ∧ b ≠ c
state_after: no goals
Theorem: fourierCoeff_toLp
File: Mathlib/Analysis/Fourier/AddCircle.lean

tactic: tauto
state_before: T : ℝ
hT : Fact (0 < T)
f : C(AddCircle T, ℂ)
n : ℤ
⊢ ∀ (x : AddCircle T), (fourier (-n)) x = (fourier (-n)) x
state_after: no goals
Theorem: Finset.prod_eq_single_of_mem
File: Mathlib/Algebra/BigOperators/Group/Finset.lean

tactic: haveI := Classical.decEq α
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 β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
⊢ ∏ x ∈ s, f x = f a
state_after: ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
⊢ ∏ x ∈ s, f x = f a

tactic: refine (prod_subset ?_ ?_).symm
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 β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
⊢ ∏ x ∈ s, f x = ∏ x ∈ {a}, f x
state_after: case refine_1
ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
⊢ {a} ⊆ s

case refine_2
ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
⊢ ∀ x ∈ s, x ∉ {a} → f x = 1

tactic: intro _ H
state_before: case refine_1
ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
⊢ {a} ⊆ s
state_after: case refine_1
ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝¹ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
a✝ : α
H : a✝ ∈ {a}
⊢ a✝ ∈ s

tactic: rwa [mem_singleton.1 H]
state_before: case refine_1
ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝¹ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
a✝ : α
H : a✝ ∈ {a}
⊢ a✝ ∈ s
state_after: no goals

tactic: simpa only [mem_singleton]
state_before: case refine_2
ι : Type u_1
κ : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
s✝ s₁ s₂ : Finset α
a✝ : α
f✝ g : α → β
inst✝ : CommMonoid β
s : Finset α
f : α → β
a : α
h : a ∈ s
h₀ : ∀ b ∈ s, b ≠ a → f b = 1
this : DecidableEq α
⊢ ∀ x ∈ s, x ∉ {a} → f x = 1
state_after: no goals
Theorem: hammingDist_eq_zero
File: Mathlib/InformationTheory/Hamming.lean

tactic: rw [H]
state_before: α : Type u_1
ι : Type u_2
β : ι → Type u_3
inst✝² : Fintype ι
inst✝¹ : (i : ι) → DecidableEq (β i)
γ : ι → Type u_4
inst✝ : (i : ι) → DecidableEq (γ i)
x y : (i : ι) → β i
H : x = y
⊢ hammingDist x y = 0
state_after: α : Type u_1
ι : Type u_2
β : ι → Type u_3
inst✝² : Fintype ι
inst✝¹ : (i : ι) → DecidableEq (β i)
γ : ι → Type u_4
inst✝ : (i : ι) → DecidableEq (γ i)
x y : (i : ι) → β i
H : x = y
⊢ hammingDist y y = 0

tactic: exact hammingDist_self _
state_before: α : Type u_1
ι : Type u_2
β : ι → Type u_3
inst✝² : Fintype ι
inst✝¹ : (i : ι) → DecidableEq (β i)
γ : ι → Type u_4
inst✝ : (i : ι) → DecidableEq (γ i)
x y : (i : ι) → β i
H : x = y
⊢ hammingDist y y = 0
state_after: no goals
Theorem: IsRelPrime.mul_right
File: Mathlib/Algebra/Divisibility/Units.lean

tactic: rw [isRelPrime_comm] at H1 H2 ⊢
state_before: α : Type u_1
inst✝¹ : CommMonoid α
x y z : α
inst✝ : DecompositionMonoid α
H1 : IsRelPrime x y
H2 : IsRelPrime x z
⊢ IsRelPrime x (y * z)
state_after: α : Type u_1
inst✝¹ : CommMonoid α
x y z : α
inst✝ : DecompositionMonoid α
H1 : IsRelPrime y x
H2 : IsRelPrime z x
⊢ IsRelPrime (y * z) x

tactic: exact H1.mul_left H2
state_before: α : Type u_1
inst✝¹ : CommMonoid α
x y z : α
inst✝ : DecompositionMonoid α
H1 : IsRelPrime y x
H2 : IsRelPrime z x
⊢ IsRelPrime (y * z) x
state_after: no goals
Theorem: NumberField.isUnit_iff_norm
File: Mathlib/NumberTheory/NumberField/Units/Basic.lean

tactic: convert (RingOfIntegers.isUnit_norm ℚ (F := K)).symm
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
x : 𝓞 K
⊢ IsUnit x ↔ |↑((RingOfIntegers.norm ℚ) x)| = 1
state_after: case h.e'_2.a
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
x : 𝓞 K
⊢ |↑((RingOfIntegers.norm ℚ) x)| = 1 ↔ IsUnit ((RingOfIntegers.norm ℚ) x)

tactic: rw [← abs_one, abs_eq_abs, ← Rat.RingOfIntegers.isUnit_iff]
state_before: case h.e'_2.a
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
x : 𝓞 K
⊢ |↑((RingOfIntegers.norm ℚ) x)| = 1 ↔ IsUnit ((RingOfIntegers.norm ℚ) x)
state_after: no goals
Theorem: iteratedDeriv_neg
File: Mathlib/Analysis/Calculus/IteratedDeriv/Lemmas.lean

tactic: simp_rw [← iteratedDerivWithin_univ, iteratedDerivWithin_neg' (Set.mem_univ a) uniqueDiffOn_univ]
state_before: 𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
R : Type u_3
inst✝³ : Semiring R
inst✝² : Module R F
inst✝¹ : SMulCommClass 𝕜 R F
inst✝ : ContinuousConstSMul R F
n✝ : ℕ
x : 𝕜
s : Set 𝕜
hx : x ∈ s
h : UniqueDiffOn 𝕜 s
f✝ g : 𝕜 → F
n : ℕ
f : 𝕜 → F
a : 𝕜
⊢ iteratedDeriv n (fun x => -f x) a = -iteratedDeriv n f a
state_after: no goals
Theorem: finrank_span_finset_le_card
File: Mathlib/LinearAlgebra/Dimension/Constructions.lean

tactic: simp
state_before: R S : Type u
M : Type v
M' : Type v'
M₁ : Type v
ι : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type u_1
inst✝⁸ : Ring R
inst✝⁷ : CommRing S
inst✝⁶ : AddCommGroup M
inst✝⁵ : AddCommGroup M'
inst✝⁴ : AddCommGroup M₁
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M₁
inst✝ : StrongRankCondition R
s : Finset M
⊢ (↑s).toFinset.card = s.card
state_after: no goals
Theorem: not_neZero
File: Mathlib/Algebra/NeZero.lean

tactic: simp [neZero_iff]
state_before: R : Type u_1
inst✝ : Zero R
n : R
⊢ ¬NeZero n ↔ n = 0
state_after: no goals
Theorem: MeasureTheory.setLaverage_eq'
File: Mathlib/MeasureTheory/Integral/Average.lean

tactic: simp only [laverage_eq', restrict_apply_univ]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
m0 : MeasurableSpace α
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℝ E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
μ ν : Measure α
s✝ t : Set α
f✝ g f : α → ℝ≥0∞
s : Set α
⊢ ⨍⁻ (x : α) in s, f x ∂μ = ∫⁻ (x : α), f x ∂(μ s)⁻¹ • μ.restrict s
state_after: no goals
Theorem: BoxIntegral.Box.disjoint_withBotCoe
File: Mathlib/Analysis/BoxIntegral/Box/Basic.lean

tactic: simp only [disjoint_iff_inf_le, ← withBotCoe_subset_iff, coe_inf]
state_before: ι : Type u_1
I✝ J✝ : Box ι
x y : ι → ℝ
I J : WithBot (Box ι)
⊢ Disjoint ↑I ↑J ↔ Disjoint I J
state_after: ι : Type u_1
I✝ J✝ : Box ι
x y : ι → ℝ
I J : WithBot (Box ι)
⊢ ↑I ⊓ ↑J ≤ ⊥ ↔ ↑I ∩ ↑J ⊆ ↑⊥

tactic: rfl
state_before: ι : Type u_1
I✝ J✝ : Box ι
x y : ι → ℝ
I J : WithBot (Box ι)
⊢ ↑I ⊓ ↑J ≤ ⊥ ↔ ↑I ∩ ↑J ⊆ ↑⊥
state_after: no goals
Theorem: Matrix.cramer_submatrix_equiv
File: Mathlib/LinearAlgebra/Matrix/Adjugate.lean

tactic: ext i
state_before: m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A✝ : Matrix n n α
b✝ : n → α
A : Matrix m m α
e : n ≃ m
b : n → α
⊢ (A.submatrix ⇑e ⇑e).cramer b = A.cramer (b ∘ ⇑e.symm) ∘ ⇑e
state_after: case h
m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A✝ : Matrix n n α
b✝ : n → α
A : Matrix m m α
e : n ≃ m
b : n → α
i : n
⊢ (A.submatrix ⇑e ⇑e).cramer b i = (A.cramer (b ∘ ⇑e.symm) ∘ ⇑e) i

tactic: simp_rw [Function.comp_apply, cramer_apply, updateColumn_submatrix_equiv,
  det_submatrix_equiv_self e, Function.comp]
state_before: case h
m : Type u
n : Type v
α : Type w
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
inst✝ : CommRing α
A✝ : Matrix n n α
b✝ : n → α
A : Matrix m m α
e : n ≃ m
b : n → α
i : n
⊢ (A.submatrix ⇑e ⇑e).cramer b i = (A.cramer (b ∘ ⇑e.symm) ∘ ⇑e) i
state_after: no goals