1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MvPolynomial.X_ne_zero
File: Mathlib/Algebra/MvPolynomial/Basic.lean

tactic: rw [ne_zero_iff]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
inst✝ : Nontrivial R
s : σ
⊢ X s ≠ 0
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
inst✝ : Nontrivial R
s : σ
⊢ ∃ d, coeff d (X s) ≠ 0

tactic: use Finsupp.single s 1
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
inst✝ : Nontrivial R
s : σ
⊢ ∃ d, coeff d (X s) ≠ 0
state_after: case h
R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
inst✝ : Nontrivial R
s : σ
⊢ coeff (Finsupp.single s 1) (X s) ≠ 0

tactic: simp only [coeff_X, ne_eq, one_ne_zero, not_false_eq_true]
state_before: case h
R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
inst✝ : Nontrivial R
s : σ
⊢ coeff (Finsupp.single s 1) (X s) ≠ 0
state_after: no goals
Theorem: Real.sInf_nonpos
File: Mathlib/Data/Real/Archimedean.lean

tactic: rcases S.eq_empty_or_nonempty with (rfl | ⟨y, hy⟩)
state_before: S : Set ℝ
hS : ∀ x ∈ S, x ≤ 0
⊢ sInf S ≤ 0
state_after: case inl
hS : ∀ x ∈ ∅, x ≤ 0
⊢ sInf ∅ ≤ 0

case inr.intro
S : Set ℝ
hS : ∀ x ∈ S, x ≤ 0
y : ℝ
hy : y ∈ S
⊢ sInf S ≤ 0

tactic: exact sInf_empty.le
state_before: case inl
hS : ∀ x ∈ ∅, x ≤ 0
⊢ sInf ∅ ≤ 0
state_after: no goals

tactic: apply dite _ (fun h => csInf_le_of_le h hy <| hS y hy) fun h => (sInf_of_not_bddBelow h).le
state_before: case inr.intro
S : Set ℝ
hS : ∀ x ∈ S, x ≤ 0
y : ℝ
hy : y ∈ S
⊢ sInf S ≤ 0
state_after: no goals
Theorem: Nat.Prime.pow_eq_iff
File: Mathlib/Data/Nat/Prime.lean

tactic: refine ⟨fun h => ?_, fun h => by rw [h.1, h.2, pow_one]⟩
state_before: n p a k : ℕ
hp : Prime p
⊢ a ^ k = p ↔ a = p ∧ k = 1
state_after: n p a k : ℕ
hp : Prime p
h : a ^ k = p
⊢ a = p ∧ k = 1

tactic: rw [← h] at hp
state_before: n p a k : ℕ
hp : Prime p
h : a ^ k = p
⊢ a = p ∧ k = 1
state_after: n p a k : ℕ
hp : Prime (a ^ k)
h : a ^ k = p
⊢ a = p ∧ k = 1

tactic: rw [← h, hp.eq_one_of_pow, eq_self_iff_true, and_true_iff, pow_one]
state_before: n p a k : ℕ
hp : Prime (a ^ k)
h : a ^ k = p
⊢ a = p ∧ k = 1
state_after: no goals

tactic: rw [h.1, h.2, pow_one]
state_before: n p a k : ℕ
hp : Prime p
h : a = p ∧ k = 1
⊢ a ^ k = p
state_after: no goals
Theorem: StarSubalgebra.top_toSubalgebra
File: Mathlib/Algebra/Star/Subalgebra.lean

tactic: ext
state_before: F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : Semiring A
inst✝⁶ : Algebra R A
inst✝⁵ : StarRing A
inst✝⁴ : StarModule R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : StarModule R B
⊢ ⊤.toSubalgebra = ⊤
state_after: case h
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : Semiring A
inst✝⁶ : Algebra R A
inst✝⁵ : StarRing A
inst✝⁴ : StarModule R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : StarModule R B
x✝ : A
⊢ x✝ ∈ ⊤.toSubalgebra ↔ x✝ ∈ ⊤

tactic: simp
state_before: case h
F : Type u_1
R : Type u_2
A : Type u_3
B : Type u_4
inst✝⁹ : CommSemiring R
inst✝⁸ : StarRing R
inst✝⁷ : Semiring A
inst✝⁶ : Algebra R A
inst✝⁵ : StarRing A
inst✝⁴ : StarModule R A
inst✝³ : Semiring B
inst✝² : Algebra R B
inst✝¹ : StarRing B
inst✝ : StarModule R B
x✝ : A
⊢ x✝ ∈ ⊤.toSubalgebra ↔ x✝ ∈ ⊤
state_after: no goals
Theorem: ProbabilityTheory.kernel.isSFiniteKernel_sum
File: Mathlib/Probability/Kernel/Basic.lean

tactic: cases fintypeOrInfinite ι
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
⊢ IsSFiniteKernel (kernel.sum κs)
state_after: case inl
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝ : Fintype ι
⊢ IsSFiniteKernel (kernel.sum κs)

case inr
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝ : Infinite ι
⊢ IsSFiniteKernel (kernel.sum κs)

tactic: cases nonempty_denumerable ι
state_before: case inr
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝ : Infinite ι
⊢ IsSFiniteKernel (kernel.sum κs)
state_after: case inr.intro
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝¹ : Infinite ι
val✝ : Denumerable ι
⊢ IsSFiniteKernel (kernel.sum κs)

tactic: exact isSFiniteKernel_sum_of_denumerable hκs
state_before: case inr.intro
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝¹ : Infinite ι
val✝ : Denumerable ι
⊢ IsSFiniteKernel (kernel.sum κs)
state_after: no goals

tactic: rw [sum_fintype]
state_before: case inl
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝ : Fintype ι
⊢ IsSFiniteKernel (kernel.sum κs)
state_after: case inl
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝ : Fintype ι
⊢ IsSFiniteKernel (∑ i : ι, κs i)

tactic: exact IsSFiniteKernel.finset_sum Finset.univ fun i _ => hκs i
state_before: case inl
α : Type u_1
β : Type u_2
ι : Type u_3
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : ↥(kernel α β)
inst✝ : Countable ι
κs : ι → ↥(kernel α β)
hκs : ∀ (n : ι), IsSFiniteKernel (κs n)
val✝ : Fintype ι
⊢ IsSFiniteKernel (∑ i : ι, κs i)
state_after: no goals
Theorem: CategoryTheory.Localization.LeftBousfield.W_of_isIso
File: Mathlib/CategoryTheory/Localization/Bousfield.lean

tactic: constructor
state_before: C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
⊢ Function.Bijective fun g => f ≫ g
state_after: case left
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
⊢ Function.Injective fun g => f ≫ g

case right
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
⊢ Function.Surjective fun g => f ≫ g

tactic: intro g₁ g₂ _
state_before: case left
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
⊢ Function.Injective fun g => f ≫ g
state_after: case left
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
g₁ g₂ : Y ⟶ Z
a✝ : (fun g => f ≫ g) g₁ = (fun g => f ≫ g) g₂
⊢ g₁ = g₂

tactic: simpa only [← cancel_epi f]
state_before: case left
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
g₁ g₂ : Y ⟶ Z
a✝ : (fun g => f ≫ g) g₁ = (fun g => f ≫ g) g₂
⊢ g₁ = g₂
state_after: no goals

tactic: intro g
state_before: case right
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
⊢ Function.Surjective fun g => f ≫ g
state_after: case right
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
g : X ⟶ Z
⊢ ∃ a, (fun g => f ≫ g) a = g

tactic: exact ⟨inv f ≫ g, by simp⟩
state_before: case right
C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
g : X ⟶ Z
⊢ ∃ a, (fun g => f ≫ g) a = g
state_after: no goals

tactic: simp
state_before: C : Type u_1
D : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Category.{?u.3005, u_2} D
P : C → Prop
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
x✝ : P Z
g : X ⟶ Z
⊢ (fun g => f ≫ g) (inv f ≫ g) = g
state_after: no goals
Theorem: Subgroup.IsComplement.equiv_fst_eq_self_of_mem_of_one_mem
File: Mathlib/GroupTheory/Complement.lean

tactic: have : hST.equiv.symm (⟨g, hg⟩, ⟨1, h1⟩) = g := by
  rw [equiv, Equiv.ofBijective]; simp
state_before: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
hST : IsComplement S T
hHT : IsComplement (↑H) T
hSK : IsComplement S ↑K
g : G
h1 : 1 ∈ T
hg : g ∈ S
⊢ (hST.equiv g).1 = ⟨g, hg⟩
state_after: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
hST : IsComplement S T
hHT : IsComplement (↑H) T
hSK : IsComplement S ↑K
g : G
h1 : 1 ∈ T
hg : g ∈ S
this : hST.equiv.symm (⟨g, hg⟩, ⟨1, h1⟩) = g
⊢ (hST.equiv g).1 = ⟨g, hg⟩

tactic: conv_lhs => rw [← this, Equiv.apply_symm_apply]
state_before: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
hST : IsComplement S T
hHT : IsComplement (↑H) T
hSK : IsComplement S ↑K
g : G
h1 : 1 ∈ T
hg : g ∈ S
this : hST.equiv.symm (⟨g, hg⟩, ⟨1, h1⟩) = g
⊢ (hST.equiv g).1 = ⟨g, hg⟩
state_after: no goals

tactic: rw [equiv, Equiv.ofBijective]
state_before: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
hST : IsComplement S T
hHT : IsComplement (↑H) T
hSK : IsComplement S ↑K
g : G
h1 : 1 ∈ T
hg : g ∈ S
⊢ hST.equiv.symm (⟨g, hg⟩, ⟨1, h1⟩) = g
state_after: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
hST : IsComplement S T
hHT : IsComplement (↑H) T
hSK : IsComplement S ↑K
g : G
h1 : 1 ∈ T
hg : g ∈ S
⊢ { toFun := fun x => ↑x.1 * ↑x.2, invFun := Function.surjInv ⋯, left_inv := ⋯, right_inv := ⋯ }.symm.symm
      (⟨g, hg⟩, ⟨1, h1⟩) =
    g

tactic: simp
state_before: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
hST : IsComplement S T
hHT : IsComplement (↑H) T
hSK : IsComplement S ↑K
g : G
h1 : 1 ∈ T
hg : g ∈ S
⊢ { toFun := fun x => ↑x.1 * ↑x.2, invFun := Function.surjInv ⋯, left_inv := ⋯, right_inv := ⋯ }.symm.symm
      (⟨g, hg⟩, ⟨1, h1⟩) =
    g
state_after: no goals
Theorem: MeasureTheory.average_add_measure
File: Mathlib/MeasureTheory/Integral/Average.lean

tactic: simp only [div_eq_inv_mul, mul_smul, measure_smul_average, ← smul_add,
  ← integral_add_measure hμ hν, ← ENNReal.toReal_add (measure_ne_top μ _) (measure_ne_top ν _)]
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 : α → E
inst✝¹ : IsFiniteMeasure μ
ν : Measure α
inst✝ : IsFiniteMeasure ν
f : α → E
hμ : Integrable f μ
hν : Integrable f ν
⊢ ⨍ (x : α), f x ∂(μ + ν) =
    ((μ univ).toReal / ((μ univ).toReal + (ν univ).toReal)) • ⨍ (x : α), f x ∂μ +
      ((ν univ).toReal / ((μ univ).toReal + (ν univ).toReal)) • ⨍ (x : α), f x ∂ν
state_after: α : 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 : α → E
inst✝¹ : IsFiniteMeasure μ
ν : Measure α
inst✝ : IsFiniteMeasure ν
f : α → E
hμ : Integrable f μ
hν : Integrable f ν
⊢ ⨍ (x : α), f x ∂(μ + ν) = (μ univ + ν univ).toReal⁻¹ • ∫ (x : α), f x ∂(μ + ν)

tactic: rw [average_eq, Measure.add_apply]
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 : α → E
inst✝¹ : IsFiniteMeasure μ
ν : Measure α
inst✝ : IsFiniteMeasure ν
f : α → E
hμ : Integrable f μ
hν : Integrable f ν
⊢ ⨍ (x : α), f x ∂(μ + ν) = (μ univ + ν univ).toReal⁻¹ • ∫ (x : α), f x ∂(μ + ν)
state_after: no goals
Theorem: intervalIntegral.integral_add
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: simp only [intervalIntegral_eq_integral_uIoc, integral_add hf.def' hg.def', smul_add]
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 : IntervalIntegrable f μ a b
hg : IntervalIntegrable g μ a b
⊢ ∫ (x : ℝ) in a..b, f x + g x ∂μ = ∫ (x : ℝ) in a..b, f x ∂μ + ∫ (x : ℝ) in a..b, g x ∂μ
state_after: no goals
Theorem: Real.sign_intCast
File: Mathlib/Data/Real/Sign.lean

tactic: obtain hn | rfl | hp := lt_trichotomy z (0 : ℤ)
state_before: z : ℤ
⊢ (↑z).sign = ↑z.sign
state_after: case inl
z : ℤ
hn : z < 0
⊢ (↑z).sign = ↑z.sign

case inr.inl

⊢ (↑0).sign = ↑(Int.sign 0)

case inr.inr
z : ℤ
hp : 0 < z
⊢ (↑z).sign = ↑z.sign

tactic: rw [sign_of_neg (Int.cast_lt_zero.mpr hn), Int.sign_eq_neg_one_of_neg hn, Int.cast_neg,
  Int.cast_one]
state_before: case inl
z : ℤ
hn : z < 0
⊢ (↑z).sign = ↑z.sign
state_after: no goals

tactic: rw [Int.cast_zero, sign_zero, Int.sign_zero, Int.cast_zero]
state_before: case inr.inl

⊢ (↑0).sign = ↑(Int.sign 0)
state_after: no goals

tactic: rw [sign_of_pos (Int.cast_pos.mpr hp), Int.sign_eq_one_of_pos hp, Int.cast_one]
state_before: case inr.inr
z : ℤ
hp : 0 < z
⊢ (↑z).sign = ↑z.sign
state_after: no goals
Theorem: Submodule.comap_op_mul
File: Mathlib/Algebra/Algebra/Operations.lean

tactic: simp_rw [comap_equiv_eq_map_symm, map_unop_mul]
state_before: ι : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : Semiring A
inst✝ : Algebra R A
S T : Set A
M✝ N✝ P Q : Submodule R A
m n : A
M N : Submodule R Aᵐᵒᵖ
⊢ comap (↑(opLinearEquiv R)) (M * N) = comap (↑(opLinearEquiv R)) N * comap (↑(opLinearEquiv R)) M
state_after: no goals
Theorem: Polynomial.leadingCoeff_map'
File: Mathlib/Algebra/Polynomial/Monic.lean

tactic: unfold leadingCoeff
state_before: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
inst✝ : Semiring S
f : R →+* S
hf : Injective ⇑f
p : R[X]
⊢ (map f p).leadingCoeff = f p.leadingCoeff
state_after: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
inst✝ : Semiring S
f : R →+* S
hf : Injective ⇑f
p : R[X]
⊢ (map f p).coeff (map f p).natDegree = f (p.coeff p.natDegree)

tactic: rw [coeff_map, natDegree_map_eq_of_injective hf p]
state_before: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝¹ : Semiring R
inst✝ : Semiring S
f : R →+* S
hf : Injective ⇑f
p : R[X]
⊢ (map f p).coeff (map f p).natDegree = f (p.coeff p.natDegree)
state_after: no goals
Theorem: Filter.tendsto_atTop_mono'
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: filter_upwards [tendsto_atTop.1 h₁ b, h] with x using le_trans
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝ : Preorder β
l : Filter α
f₁ f₂ : α → β
h : f₁ ≤ᶠ[l] f₂
h₁ : Tendsto f₁ l atTop
b : β
⊢ ∀ᶠ (a : α) in l, b ≤ f₂ a
state_after: no goals
Theorem: MeasureTheory.VectorMeasure.nonneg_of_zero_le_restrict
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

tactic: by_cases hi₁ : MeasurableSet i
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
v w : VectorMeasure α M
i j : Set α
hi₂ : restrict 0 i ≤ v.restrict i
⊢ 0 ≤ ↑v i
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
v w : VectorMeasure α M
i j : Set α
hi₂ : restrict 0 i ≤ v.restrict i
hi₁ : MeasurableSet i
⊢ 0 ≤ ↑v i

case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
v w : VectorMeasure α M
i j : Set α
hi₂ : restrict 0 i ≤ v.restrict i
hi₁ : ¬MeasurableSet i
⊢ 0 ≤ ↑v i

tactic: exact (restrict_le_restrict_iff _ _ hi₁).1 hi₂ hi₁ Set.Subset.rfl
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
v w : VectorMeasure α M
i j : Set α
hi₂ : restrict 0 i ≤ v.restrict i
hi₁ : MeasurableSet i
⊢ 0 ≤ ↑v i
state_after: no goals

tactic: rw [v.not_measurable hi₁]
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
v w : VectorMeasure α M
i j : Set α
hi₂ : restrict 0 i ≤ v.restrict i
hi₁ : ¬MeasurableSet i
⊢ 0 ≤ ↑v i
state_after: no goals
Theorem: EuclideanGeometry.oangle_left_eq_arccos_of_oangle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean

tactic: have hs : (∡ p₃ p₁ p₂).sign = 1 := by rw [← oangle_rotate_sign, h, Real.Angle.sign_coe_pi_div_two]
state_before: V : Type u_1
P : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : MetricSpace P
inst✝¹ : NormedAddTorsor V P
hd2 : Fact (finrank ℝ V = 2)
inst✝ : Module.Oriented ℝ V (Fin 2)
p₁ p₂ p₃ : P
h : ∡ p₁ p₂ p₃ = ↑(π / 2)
⊢ ∡ p₃ p₁ p₂ = ↑(Real.arccos (dist p₁ p₂ / dist p₁ p₃))
state_after: V : Type u_1
P : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : MetricSpace P
inst✝¹ : NormedAddTorsor V P
hd2 : Fact (finrank ℝ V = 2)
inst✝ : Module.Oriented ℝ V (Fin 2)
p₁ p₂ p₃ : P
h : ∡ p₁ p₂ p₃ = ↑(π / 2)
hs : (∡ p₃ p₁ p₂).sign = 1
⊢ ∡ p₃ p₁ p₂ = ↑(Real.arccos (dist p₁ p₂ / dist p₁ p₃))

tactic: rw [oangle_eq_angle_of_sign_eq_one hs, angle_comm,
  angle_eq_arccos_of_angle_eq_pi_div_two (angle_rev_eq_pi_div_two_of_oangle_eq_pi_div_two h),
  dist_comm p₁ p₃]
state_before: V : Type u_1
P : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : MetricSpace P
inst✝¹ : NormedAddTorsor V P
hd2 : Fact (finrank ℝ V = 2)
inst✝ : Module.Oriented ℝ V (Fin 2)
p₁ p₂ p₃ : P
h : ∡ p₁ p₂ p₃ = ↑(π / 2)
hs : (∡ p₃ p₁ p₂).sign = 1
⊢ ∡ p₃ p₁ p₂ = ↑(Real.arccos (dist p₁ p₂ / dist p₁ p₃))
state_after: no goals

tactic: rw [← oangle_rotate_sign, h, Real.Angle.sign_coe_pi_div_two]
state_before: V : Type u_1
P : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : MetricSpace P
inst✝¹ : NormedAddTorsor V P
hd2 : Fact (finrank ℝ V = 2)
inst✝ : Module.Oriented ℝ V (Fin 2)
p₁ p₂ p₃ : P
h : ∡ p₁ p₂ p₃ = ↑(π / 2)
⊢ (∡ p₃ p₁ p₂).sign = 1
state_after: no goals
Theorem: completeSpace_extension
File: Mathlib/Topology/UniformSpace/UniformEmbedding.lean

tactic: assumption
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : β → α
hm : UniformInducing m
dense : DenseRange m
h : ∀ (f : Filter β), Cauchy f → ∃ x, map m f ≤ 𝓝 x
f : Filter α
hf : Cauchy f
p : Set (α × α) → Set α → Set α := fun s t => {y | ∃ x ∈ t, (x, y) ∈ s}
g : Filter α := (𝓤 α).lift fun s => f.lift' (p s)
mp₀ : Monotone p
mp₁ : ∀ {s : Set (α × α)}, Monotone (p s)
this✝⁵ : f ≤ g
this✝⁴ : g.NeBot
this✝³ : (comap m g).NeBot
this✝² : Cauchy g
this✝¹ : Cauchy (comap m g)
x : α
hx : map m (comap m g) ≤ 𝓝 x
this✝ : ClusterPt x (map m (comap m g))
this : ClusterPt x g
⊢ f ≤ g
state_after: no goals
Theorem: AddLECancellable.lt_tsub_of_add_lt_right
File: Mathlib/Algebra/Order/Sub/Defs.lean

tactic: rintro rfl
state_before: α : Type u_1
β : Type u_2
inst✝³ : PartialOrder α
inst✝² : AddCommSemigroup α
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b c d : α
hc : AddLECancellable c
h : a + c < b
⊢ a ≠ b - c
state_after: α : Type u_1
β : Type u_2
inst✝³ : PartialOrder α
inst✝² : AddCommSemigroup α
inst✝¹ : Sub α
inst✝ : OrderedSub α
b c d : α
hc : AddLECancellable c
h : b - c + c < b
⊢ False

tactic: exact h.not_le le_tsub_add
state_before: α : Type u_1
β : Type u_2
inst✝³ : PartialOrder α
inst✝² : AddCommSemigroup α
inst✝¹ : Sub α
inst✝ : OrderedSub α
b c d : α
hc : AddLECancellable c
h : b - c + c < b
⊢ False
state_after: no goals
Theorem: Finite.card_sum
File: Mathlib/Data/Finite/Card.lean

tactic: haveI := Fintype.ofFinite α
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Finite α
inst✝ : Finite β
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Finite α
inst✝ : Finite β
this : Fintype α
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β

tactic: haveI := Fintype.ofFinite β
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Finite α
inst✝ : Finite β
this : Fintype α
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Finite α
inst✝ : Finite β
this✝ : Fintype α
this : Fintype β
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β

tactic: simp only [Nat.card_eq_fintype_card, Fintype.card_sum]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Finite α
inst✝ : Finite β
this✝ : Fintype α
this : Fintype β
⊢ Nat.card (α ⊕ β) = Nat.card α + Nat.card β
state_after: no goals
Theorem: MeasureTheory.Content.innerContent_iUnion_nat
File: Mathlib/MeasureTheory/Measure/Content.lean

tactic: have := μ.innerContent_iSup_nat fun i => ⟨U i, hU i⟩
state_before: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Set G
hU : ∀ (i : ℕ), IsOpen (U i)
⊢ μ.innerContent { carrier := ⋃ i, U i, is_open' := ⋯ } ≤ ∑' (i : ℕ), μ.innerContent { carrier := U i, is_open' := ⋯ }
state_after: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Set G
hU : ∀ (i : ℕ), IsOpen (U i)
this :
  μ.innerContent (⨆ i, { carrier := U i, is_open' := ⋯ }) ≤ ∑' (i : ℕ), μ.innerContent { carrier := U i, is_open' := ⋯ }
⊢ μ.innerContent { carrier := ⋃ i, U i, is_open' := ⋯ } ≤ ∑' (i : ℕ), μ.innerContent { carrier := U i, is_open' := ⋯ }

tactic: rwa [Opens.iSup_def] at this
state_before: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
U : ℕ → Set G
hU : ∀ (i : ℕ), IsOpen (U i)
this :
  μ.innerContent (⨆ i, { carrier := U i, is_open' := ⋯ }) ≤ ∑' (i : ℕ), μ.innerContent { carrier := U i, is_open' := ⋯ }
⊢ μ.innerContent { carrier := ⋃ i, U i, is_open' := ⋯ } ≤ ∑' (i : ℕ), μ.innerContent { carrier := U i, is_open' := ⋯ }
state_after: no goals
Theorem: Orientation.oangle_add_oangle_rev_neg_right
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean

tactic: rw [o.oangle_rev (-x), oangle_neg_left_eq_neg_right, add_neg_self]
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
⊢ o.oangle x (-y) + o.oangle y (-x) = 0
state_after: no goals
Theorem: isConj_one_right
File: Mathlib/Algebra/Group/Conj.lean

tactic: rw [h]
state_before: α : Type u
β : Type v
inst✝ : CancelMonoid α
a : α
h : a = 1
⊢ IsConj 1 a
state_after: no goals
Theorem: LSeriesHasSum.smul
File: Mathlib/NumberTheory/LSeries/Linearity.lean

tactic: simpa only [LSeriesHasSum, term_smul, smul_eq_mul] using hf.const_smul c
state_before: f : ℕ → ℂ
c s a : ℂ
hf : LSeriesHasSum f s a
⊢ LSeriesHasSum (c • f) s (c * a)
state_after: no goals
Theorem: Unitization.mem_spectrum_inr_of_not_isUnit
File: Mathlib/Algebra/Algebra/Quasispectrum.lean

tactic: simpa using h.map (fstHom R A)
state_before: R✝ : Type u_1
A✝ : Type u_2
inst✝⁹ : CommSemiring R✝
inst✝⁸ : NonUnitalRing A✝
inst✝⁷ : Module R✝ A✝
inst✝⁶ : IsScalarTower R✝ A✝ A✝
inst✝⁵ : SMulCommClass R✝ A✝ A✝
R : Type u_3
A : Type u_4
inst✝⁴ : CommRing R
inst✝³ : NonUnitalRing A
inst✝² : Module R A
inst✝¹ : IsScalarTower R A A
inst✝ : SMulCommClass R A A
a : A
r : R
hr : ¬IsUnit r
h : r ∈ resolventSet R ↑a
⊢ IsUnit r
state_after: no goals