1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: ball_prod_same
File: Mathlib/Topology/MetricSpace/Pseudo/Constructions.lean

tactic: simp [Prod.dist_eq]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
x : α
y : β
r : ℝ
z : α × β
⊢ z ∈ ball x r ×ˢ ball y r ↔ z ∈ ball (x, y) r
state_after: no goals
Theorem: Fin.pred_last
File: Mathlib/Data/Fin/Basic.lean

tactic: simp_rw [← succ_last, pred_succ]
state_before: n m : ℕ
h : optParam (¬last (n + 1) = 0) ⋯
⊢ (last (n + 1)).pred h = last n
state_after: no goals
Theorem: CategoryTheory.Presieve.IsSeparatedFor.isSheafFor
File: Mathlib/CategoryTheory/Sites/IsSheafFor.lean

tactic: rw [← isSeparatedFor_and_exists_isAmalgamation_iff_isSheafFor]
state_before: C : Type u₁
inst✝ : Category.{v₁, u₁} C
P Q U : Cᵒᵖ ⥤ Type w
X Y : C
S : Sieve X
R : Presieve X
t : IsSeparatedFor P R
⊢ (∀ (x : FamilyOfElements P R), x.Compatible → ∃ t, x.IsAmalgamation t) → IsSheafFor P R
state_after: C : Type u₁
inst✝ : Category.{v₁, u₁} C
P Q U : Cᵒᵖ ⥤ Type w
X Y : C
S : Sieve X
R : Presieve X
t : IsSeparatedFor P R
⊢ (∀ (x : FamilyOfElements P R), x.Compatible → ∃ t, x.IsAmalgamation t) →
    IsSeparatedFor P R ∧ ∀ (x : FamilyOfElements P R), x.Compatible → ∃ t, x.IsAmalgamation t

tactic: exact And.intro t
state_before: C : Type u₁
inst✝ : Category.{v₁, u₁} C
P Q U : Cᵒᵖ ⥤ Type w
X Y : C
S : Sieve X
R : Presieve X
t : IsSeparatedFor P R
⊢ (∀ (x : FamilyOfElements P R), x.Compatible → ∃ t, x.IsAmalgamation t) →
    IsSeparatedFor P R ∧ ∀ (x : FamilyOfElements P R), x.Compatible → ∃ t, x.IsAmalgamation t
state_after: no goals
Theorem: LieModule.isNilpotent_toEnd_weightSpace_zero
File: Mathlib/Algebra/Lie/Weights/Basic.lean

tactic: simpa using isNilpotent_toEnd_sub_algebraMap M (0 : L → R) x
state_before: K : Type u_1
R : Type u_2
L : Type u_3
M : Type u_4
inst✝⁸ : CommRing R
inst✝⁷ : LieRing L
inst✝⁶ : LieAlgebra R L
inst✝⁵ : LieAlgebra.IsNilpotent R L
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : LieRingModule L M
inst✝¹ : LieModule R L M
inst✝ : IsNoetherian R M
x : L
⊢ _root_.IsNilpotent ((toEnd R L ↥↑(weightSpace M 0)) x)
state_after: no goals
Theorem: ENNReal.rpow_mul
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: cases' x with x
state_before: x : ℝ≥0∞
y z : ℝ
⊢ x ^ (y * z) = (x ^ y) ^ z
state_after: case top
y z : ℝ
⊢ ⊤ ^ (y * z) = (⊤ ^ y) ^ z

case coe
y z : ℝ
x : ℝ≥0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z

tactic: rcases lt_trichotomy y 0 with (Hy | Hy | Hy) <;>
    rcases lt_trichotomy z 0 with (Hz | Hz | Hz) <;>
  simp [Hy, Hz, zero_rpow_of_neg, zero_rpow_of_pos, top_rpow_of_neg, top_rpow_of_pos,
    mul_pos_of_neg_of_neg, mul_neg_of_neg_of_pos, mul_neg_of_pos_of_neg]
state_before: case top
y z : ℝ
⊢ ⊤ ^ (y * z) = (⊤ ^ y) ^ z
state_after: no goals

tactic: by_cases h : x = 0
state_before: case coe
y z : ℝ
x : ℝ≥0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z
state_after: case pos
y z : ℝ
x : ℝ≥0
h : x = 0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z

case neg
y z : ℝ
x : ℝ≥0
h : ¬x = 0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z

tactic: rcases lt_trichotomy y 0 with (Hy | Hy | Hy) <;>
    rcases lt_trichotomy z 0 with (Hz | Hz | Hz) <;>
  simp [h, Hy, Hz, zero_rpow_of_neg, zero_rpow_of_pos, top_rpow_of_neg, top_rpow_of_pos,
    mul_pos_of_neg_of_neg, mul_neg_of_neg_of_pos, mul_neg_of_pos_of_neg]
state_before: case pos
y z : ℝ
x : ℝ≥0
h : x = 0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z
state_after: no goals

tactic: have : x ^ y ≠ 0 := by simp [h]
state_before: case neg
y z : ℝ
x : ℝ≥0
h : ¬x = 0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z
state_after: case neg
y z : ℝ
x : ℝ≥0
h : ¬x = 0
this : x ^ y ≠ 0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z

tactic: simp [coe_rpow_of_ne_zero h, coe_rpow_of_ne_zero this, NNReal.rpow_mul]
state_before: case neg
y z : ℝ
x : ℝ≥0
h : ¬x = 0
this : x ^ y ≠ 0
⊢ ↑x ^ (y * z) = (↑x ^ y) ^ z
state_after: no goals

tactic: simp [h]
state_before: y z : ℝ
x : ℝ≥0
h : ¬x = 0
⊢ x ^ y ≠ 0
state_after: no goals
Theorem: Ordinal.enum_zero_le
File: Mathlib/SetTheory/Ordinal/Basic.lean

tactic: rw [← enum_typein r a, enum_le_enum r]
state_before: α : Type u
β : Type u_1
γ : Type u_2
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
h0 : 0 < type r
a : α
⊢ ¬r a (enum r 0 h0)
state_after: α : Type u
β : Type u_1
γ : Type u_2
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
h0 : 0 < type r
a : α
⊢ 0 ≤ typein r a

tactic: apply Ordinal.zero_le
state_before: α : Type u
β : Type u_1
γ : Type u_2
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
h0 : 0 < type r
a : α
⊢ 0 ≤ typein r a
state_after: no goals
Theorem: Int.toNat_le
File: Mathlib/Data/Int/Defs.lean

tactic: rw [ofNat_le.symm, toNat_eq_max, Int.max_le]
state_before: a b c d m n✝ : ℤ
n : ℕ
⊢ m.toNat ≤ n ↔ m ≤ ↑n
state_after: a b c d m n✝ : ℤ
n : ℕ
⊢ m ≤ ↑n ∧ 0 ≤ ↑n ↔ m ≤ ↑n

tactic: exact and_iff_left (ofNat_zero_le _)
state_before: a b c d m n✝ : ℤ
n : ℕ
⊢ m ≤ ↑n ∧ 0 ≤ ↑n ↔ m ≤ ↑n
state_after: no goals
Theorem: TangentBundle.mem_chart_source_iff
File: Mathlib/Geometry/Manifold/VectorBundle/Tangent.lean

tactic: simp only [FiberBundle.chartedSpace_chartAt, mfld_simps]
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace 𝕜 E
E' : Type u_3
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedSpace 𝕜 E'
H : Type u_4
inst✝⁹ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
H' : Type u_5
inst✝⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M : Type u_6
inst✝⁷ : TopologicalSpace M
inst✝⁶ : ChartedSpace H M
inst✝⁵ : SmoothManifoldWithCorners I M
M' : Type u_7
inst✝⁴ : TopologicalSpace M'
inst✝³ : ChartedSpace H' M'
inst✝² : SmoothManifoldWithCorners I' M'
F : Type u_8
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p q : TM
⊢ p ∈ (chartAt (ModelProd H E) q).source ↔ p.proj ∈ (chartAt H q.proj).source
state_after: no goals
Theorem: CategoryTheory.Limits.Concrete.empty_of_initial_of_preserves
File: Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean

tactic: rw [← Types.initial_iff_empty]
state_before: C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : ConcreteCategory C
inst✝ : PreservesColimit (Functor.empty C) (forget C)
X : C
h : Nonempty (IsInitial X)
⊢ IsEmpty ((forget C).obj X)
state_after: C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : ConcreteCategory C
inst✝ : PreservesColimit (Functor.empty C) (forget C)
X : C
h : Nonempty (IsInitial X)
⊢ Nonempty (IsInitial ((forget C).obj X))

tactic: exact Nonempty.map (IsInitial.isInitialObj (forget C) _) h
state_before: C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : ConcreteCategory C
inst✝ : PreservesColimit (Functor.empty C) (forget C)
X : C
h : Nonempty (IsInitial X)
⊢ Nonempty (IsInitial ((forget C).obj X))
state_after: no goals
Theorem: WeakDual.CharacterSpace.mem_spectrum_iff_exists
File: Mathlib/Analysis/NormedSpace/Star/GelfandDuality.lean

tactic: refine ⟨fun hz => ?_, ?_⟩
state_before: A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
⊢ z ∈ spectrum ℂ a ↔ ∃ f, f a = z
state_after: case refine_1
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
hz : z ∈ spectrum ℂ a
⊢ ∃ f, f a = z

case refine_2
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
⊢ (∃ f, f a = z) → z ∈ spectrum ℂ a

tactic: obtain ⟨f, hf⟩ := WeakDual.CharacterSpace.exists_apply_eq_zero hz
state_before: case refine_1
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
hz : z ∈ spectrum ℂ a
⊢ ∃ f, f a = z
state_after: case refine_1.intro
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
hz : z ∈ spectrum ℂ a
f : ↑(characterSpace ℂ A)
hf : f ((algebraMap ℂ A) z - a) = 0
⊢ ∃ f, f a = z

tactic: simp only [map_sub, sub_eq_zero, AlgHomClass.commutes] at hf
state_before: case refine_1.intro
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
hz : z ∈ spectrum ℂ a
f : ↑(characterSpace ℂ A)
hf : f ((algebraMap ℂ A) z - a) = 0
⊢ ∃ f, f a = z
state_after: case refine_1.intro
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
hz : z ∈ spectrum ℂ a
f : ↑(characterSpace ℂ A)
hf : (algebraMap ℂ ℂ) z = f a
⊢ ∃ f, f a = z

tactic: exact ⟨_, hf.symm⟩
state_before: case refine_1.intro
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
hz : z ∈ spectrum ℂ a
f : ↑(characterSpace ℂ A)
hf : (algebraMap ℂ ℂ) z = f a
⊢ ∃ f, f a = z
state_after: no goals

tactic: rintro ⟨f, rfl⟩
state_before: case refine_2
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
z : ℂ
⊢ (∃ f, f a = z) → z ∈ spectrum ℂ a
state_after: case refine_2.intro
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
f : ↑(characterSpace ℂ A)
⊢ f a ∈ spectrum ℂ a

tactic: exact AlgHom.apply_mem_spectrum f a
state_before: case refine_2.intro
A : Type u_1
inst✝³ : NormedCommRing A
inst✝² : NormedAlgebra ℂ A
inst✝¹ : CompleteSpace A
I : Ideal A
inst✝ : I.IsMaximal
a : A
f : ↑(characterSpace ℂ A)
⊢ f a ∈ spectrum ℂ a
state_after: no goals
Theorem: Set.right_mem_Ico
File: Mathlib/Order/Interval/Set/Basic.lean

tactic: simp [lt_irrefl]
state_before: α : Type u_1
β : Type u_2
inst✝ : Preorder α
a a₁ a₂ b b₁ b₂ c x : α
⊢ b ∈ Ico a b ↔ False
state_after: no goals
Theorem: AddChar.pow_mulShift
File: Mathlib/Algebra/Group/AddChar.lean

tactic: ext x
state_before: R : Type u_1
M : Type u_2
inst✝¹ : Ring R
inst✝ : CommMonoid M
ψ : AddChar R M
n : ℕ
⊢ ψ ^ n = ψ.mulShift ↑n
state_after: case h
R : Type u_1
M : Type u_2
inst✝¹ : Ring R
inst✝ : CommMonoid M
ψ : AddChar R M
n : ℕ
x : R
⊢ (ψ ^ n) x = (ψ.mulShift ↑n) x

tactic: rw [pow_apply, ← mulShift_spec']
state_before: case h
R : Type u_1
M : Type u_2
inst✝¹ : Ring R
inst✝ : CommMonoid M
ψ : AddChar R M
n : ℕ
x : R
⊢ (ψ ^ n) x = (ψ.mulShift ↑n) x
state_after: no goals
Theorem: Filter.neBot_of_comap
File: Mathlib/Order/Filter/Basic.lean

tactic: rw [neBot_iff] at *
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : (comap m g).NeBot
⊢ g.NeBot
state_after: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : comap m g ≠ ⊥
⊢ g ≠ ⊥

tactic: contrapose! h
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : comap m g ≠ ⊥
⊢ g ≠ ⊥
state_after: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : g = ⊥
⊢ comap m g = ⊥

tactic: rw [h]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : g = ⊥
⊢ comap m g = ⊥
state_after: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : g = ⊥
⊢ comap m ⊥ = ⊥

tactic: exact comap_bot
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s : Set α
t : Set β
h : g = ⊥
⊢ comap m ⊥ = ⊥
state_after: no goals
Theorem: PMF.ofMultiset_apply_of_not_mem
File: Mathlib/Probability/Distributions/Uniform.lean

tactic: simpa only [ofMultiset_apply, ENNReal.div_eq_zero_iff, Nat.cast_eq_zero, Multiset.count_eq_zero,
  ENNReal.natCast_ne_top, or_false_iff] using ha
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
s : Multiset α
hs : s ≠ 0
a : α
ha : a ∉ s
⊢ (ofMultiset s hs) a = 0
state_after: no goals
Theorem: Set.finite_of_finite_preimage
File: Mathlib/Data/Set/Finite.lean

tactic: rw [← image_preimage_eq_of_subset hs]
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
f : α → β
s : Set β
h : (f ⁻¹' s).Finite
hs : s ⊆ range f
⊢ s.Finite
state_after: α : Type u
β : Type v
ι : Sort w
γ : Type x
f : α → β
s : Set β
h : (f ⁻¹' s).Finite
hs : s ⊆ range f
⊢ (f '' (f ⁻¹' s)).Finite

tactic: exact Finite.image f h
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
f : α → β
s : Set β
h : (f ⁻¹' s).Finite
hs : s ⊆ range f
⊢ (f '' (f ⁻¹' s)).Finite
state_after: no goals
Theorem: Right.one_le_inv_iff
File: Mathlib/Algebra/Order/Group/Defs.lean

tactic: rw [← mul_le_mul_iff_right a]
state_before: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : α
⊢ 1 ≤ a⁻¹ ↔ a ≤ 1
state_after: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : α
⊢ 1 * a ≤ a⁻¹ * a ↔ a ≤ 1

tactic: simp
state_before: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : α
⊢ 1 * a ≤ a⁻¹ * a ↔ a ≤ 1
state_after: no goals
Theorem: List.map_sub_range'
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: conv => lhs; rw [← Nat.add_sub_cancel' h]
state_before: step a s n : Nat
h : a ≤ s
⊢ map (fun x => x - a) (range' s n step) = range' (s - a) n step
state_after: step a s n : Nat
h : a ≤ s
⊢ map (fun x => x - a) (range' (a + (s - a)) n step) = range' (s - a) n step

tactic: rw [← map_add_range', map_map, (?_ : _∘_ = _), map_id]
state_before: step a s n : Nat
h : a ≤ s
⊢ map (fun x => x - a) (range' (a + (s - a)) n step) = range' (s - a) n step
state_after: step a s n : Nat
h : a ≤ s
⊢ ((fun x => x - a) ∘ fun x => a + x) = id

tactic: funext x
state_before: step a s n : Nat
h : a ≤ s
⊢ ((fun x => x - a) ∘ fun x => a + x) = id
state_after: case h
step a s n : Nat
h : a ≤ s
x : Nat
⊢ ((fun x => x - a) ∘ fun x => a + x) x = id x

tactic: apply Nat.add_sub_cancel_left
state_before: case h
step a s n : Nat
h : a ≤ s
x : Nat
⊢ ((fun x => x - a) ∘ fun x => a + x) x = id x
state_after: no goals
Theorem: ConvexCone.Blunt.salient
File: Mathlib/Analysis/Convex/Cone/Basic.lean

tactic: rw [salient_iff_not_flat, blunt_iff_not_pointed]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝² : OrderedSemiring 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
S✝ S : ConvexCone 𝕜 E
⊢ S.Blunt → S.Salient
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝² : OrderedSemiring 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
S✝ S : ConvexCone 𝕜 E
⊢ ¬S.Pointed → ¬S.Flat

tactic: exact mt Flat.pointed
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝² : OrderedSemiring 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
S✝ S : ConvexCone 𝕜 E
⊢ ¬S.Pointed → ¬S.Flat
state_after: no goals
Theorem: CategoryTheory.Limits.HasZeroObject.zeroIsoTerminal_hom
File: Mathlib/CategoryTheory/Limits/Shapes/ZeroMorphisms.lean

tactic: ext
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
D : Type u'
inst✝³ : Category.{v', u'} D
inst✝² : HasZeroObject C
inst✝¹ : HasZeroMorphisms C
inst✝ : HasTerminal C
⊢ zeroIsoTerminal.hom = 0
state_after: no goals
Theorem: LaurentSeries.coeff_coe_powerSeries
File: Mathlib/RingTheory/LaurentSeries.lean

tactic: rw [ofPowerSeries_apply_coeff]
state_before: R : Type u_1
inst✝ : Semiring R
x : PowerSeries R
n : ℕ
⊢ ((ofPowerSeries ℤ R) x).coeff ↑n = (PowerSeries.coeff R n) x
state_after: no goals
Theorem: Asymptotics.isBigOWith_neg_right
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: simp only [IsBigOWith_def, norm_neg]
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
⊢ (IsBigOWith c l f fun x => -g' x) ↔ IsBigOWith c l f g'
state_after: no goals
Theorem: List.cons_merge_cons_neg
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: rw [cons_merge_cons, if_neg h]
state_before: α : Type u_1
a b : α
s : α → α → Bool
l r : List α
h : ¬s a b = true
⊢ merge s (a :: l) (b :: r) = b :: merge s (a :: l) r
state_after: no goals
Theorem: InfClosed.preimage
File: Mathlib/Order/SupClosed.lean

tactic: simpa [map_inf] using hs ha hb
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝³ : SemilatticeInf α
inst✝² : SemilatticeInf β
ι : Sort u_4
S : Set (Set α)
f✝ : ι → Set α
s t : Set α
a✝ : α
inst✝¹ : FunLike F β α
inst✝ : InfHomClass F β α
hs : InfClosed s
f : F
a : β
ha : a ∈ ⇑f ⁻¹' s
b : β
hb : b ∈ ⇑f ⁻¹' s
⊢ a ⊓ b ∈ ⇑f ⁻¹' s
state_after: no goals
Theorem: Real.sqrt_inj
File: Mathlib/Data/Real/Sqrt.lean

tactic: simp [le_antisymm_iff, hx, hy]
state_before: x y : ℝ
hx : 0 ≤ x
hy : 0 ≤ y
⊢ √x = √y ↔ x = y
state_after: no goals
Theorem: EuclideanGeometry.Sphere.secondInter_zero
File: Mathlib/Geometry/Euclidean/Sphere/SecondInter.lean

tactic: simp [Sphere.secondInter]
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
s : Sphere P
p : P
⊢ s.secondInter p 0 = p
state_after: no goals
Theorem: hasFDerivWithinAt_of_nmem_closure
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: rwa [mem_closure_iff_nhdsWithin_neBot, not_neBot] at h
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
h : x ∉ closure s
⊢ 𝓝[s] x = ⊥
state_after: no goals
Theorem: StarAlgHom.realContinuousMapOfNNReal_injective
File: Mathlib/Topology/ContinuousFunction/UniqueCFC.lean

tactic: intro φ ψ h
state_before: X : Type u_1
inst✝⁵ : TopologicalSpace X
A : Type u_2
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra ℝ A
inst✝ : TopologicalRing A
⊢ Function.Injective realContinuousMapOfNNReal
state_after: X : Type u_1
inst✝⁵ : TopologicalSpace X
A : Type u_2
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra ℝ A
inst✝ : TopologicalRing A
φ ψ : C(X, ℝ≥0) →⋆ₐ[ℝ≥0] A
h : φ.realContinuousMapOfNNReal = ψ.realContinuousMapOfNNReal
⊢ φ = ψ

tactic: ext f
state_before: X : Type u_1
inst✝⁵ : TopologicalSpace X
A : Type u_2
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra ℝ A
inst✝ : TopologicalRing A
φ ψ : C(X, ℝ≥0) →⋆ₐ[ℝ≥0] A
h : φ.realContinuousMapOfNNReal = ψ.realContinuousMapOfNNReal
⊢ φ = ψ
state_after: case h
X : Type u_1
inst✝⁵ : TopologicalSpace X
A : Type u_2
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra ℝ A
inst✝ : TopologicalRing A
φ ψ : C(X, ℝ≥0) →⋆ₐ[ℝ≥0] A
h : φ.realContinuousMapOfNNReal = ψ.realContinuousMapOfNNReal
f : C(X, ℝ≥0)
⊢ φ f = ψ f

tactic: simpa using congr($(h) ((ContinuousMap.mk toReal continuous_coe).comp f))
state_before: case h
X : Type u_1
inst✝⁵ : TopologicalSpace X
A : Type u_2
inst✝⁴ : TopologicalSpace A
inst✝³ : Ring A
inst✝² : StarRing A
inst✝¹ : Algebra ℝ A
inst✝ : TopologicalRing A
φ ψ : C(X, ℝ≥0) →⋆ₐ[ℝ≥0] A
h : φ.realContinuousMapOfNNReal = ψ.realContinuousMapOfNNReal
f : C(X, ℝ≥0)
⊢ φ f = ψ f
state_after: no goals
Theorem: nat_mul_inj
File: Mathlib/Algebra/CharZero/Lemmas.lean

tactic: rw [← sub_eq_zero, ← mul_sub, mul_eq_zero, sub_eq_zero] at h
state_before: R : Type u_1
inst✝² : NonAssocRing R
inst✝¹ : NoZeroDivisors R
inst✝ : CharZero R
n : ℕ
a b : R
h : ↑n * a = ↑n * b
⊢ n = 0 ∨ a = b
state_after: R : Type u_1
inst✝² : NonAssocRing R
inst✝¹ : NoZeroDivisors R
inst✝ : CharZero R
n : ℕ
a b : R
h : ↑n = 0 ∨ a = b
⊢ n = 0 ∨ a = b

tactic: exact mod_cast h
state_before: R : Type u_1
inst✝² : NonAssocRing R
inst✝¹ : NoZeroDivisors R
inst✝ : CharZero R
n : ℕ
a b : R
h : ↑n = 0 ∨ a = b
⊢ n = 0 ∨ a = b
state_after: no goals
Theorem: IsLocallyInjective.comp_right
File: Mathlib/Topology/SeparatedMap.lean

tactic: rw [isLocallyInjective_iff_isOpen_diagonal] at hf ⊢
state_before: X : Type u_1
Y : Type u_2
A : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace A
f : X → Y
hf : IsLocallyInjective f
g : A → X
cont : Continuous g
hg : Function.Injective g
⊢ IsLocallyInjective (f ∘ g)
state_after: X : Type u_1
Y : Type u_2
A : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace A
f : X → Y
hf : IsOpen (Function.pullbackDiagonal f)
g : A → X
cont : Continuous g
hg : Function.Injective g
⊢ IsOpen (Function.pullbackDiagonal (f ∘ g))

tactic: rw [← hg.preimage_pullbackDiagonal]
state_before: X : Type u_1
Y : Type u_2
A : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace A
f : X → Y
hf : IsOpen (Function.pullbackDiagonal f)
g : A → X
cont : Continuous g
hg : Function.Injective g
⊢ IsOpen (Function.pullbackDiagonal (f ∘ g))
state_after: X : Type u_1
Y : Type u_2
A : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace A
f : X → Y
hf : IsOpen (Function.pullbackDiagonal f)
g : A → X
cont : Continuous g
hg : Function.Injective g
⊢ IsOpen (Function.mapPullback g id g ⋯ ⋯ ⁻¹' Function.pullbackDiagonal f)

tactic: apply hf.preimage (cont.mapPullback cont)
state_before: X : Type u_1
Y : Type u_2
A : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace A
f : X → Y
hf : IsOpen (Function.pullbackDiagonal f)
g : A → X
cont : Continuous g
hg : Function.Injective g
⊢ IsOpen (Function.mapPullback g id g ⋯ ⋯ ⁻¹' Function.pullbackDiagonal f)
state_after: no goals
Theorem: MeasureTheory.ofReal_setAverage
File: Mathlib/MeasureTheory/Integral/Average.lean

tactic: simpa using ofReal_average hf hf₀
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 : α → ℝ
hf : IntegrableOn f s μ
hf₀ : 0 ≤ᶠ[ae (μ.restrict s)] f
⊢ ENNReal.ofReal (⨍ (x : α) in s, f x ∂μ) = (∫⁻ (x : α) in s, ENNReal.ofReal (f x) ∂μ) / μ s
state_after: no goals
Theorem: Orientation.ne_of_oangle_ne_zero
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean

tactic: rintro rfl
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
h : o.oangle x y ≠ 0
⊢ x ≠ y
state_after: 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 : V
h : o.oangle x x ≠ 0
⊢ False

tactic: simp at h
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 : V
h : o.oangle x x ≠ 0
⊢ False
state_after: no goals