1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Filter.Tendsto.atBot_zsmul_const
File: Mathlib/Order/Filter/Archimedean.lean

tactic: simp only [← tendsto_neg_atTop_iff, ← neg_zsmul] at hf ⊢
state_before: α : Type u_1
R : Type u_2
l : Filter α
f✝ : α → R
r : R
inst✝¹ : LinearOrderedAddCommGroup R
inst✝ : Archimedean R
f : α → ℤ
hr : 0 < r
hf : Tendsto f l atBot
⊢ Tendsto (fun x => f x • r) l atBot
state_after: α : Type u_1
R : Type u_2
l : Filter α
f✝ : α → R
r : R
inst✝¹ : LinearOrderedAddCommGroup R
inst✝ : Archimedean R
f : α → ℤ
hr : 0 < r
hf : Tendsto (fun x => -f x) l atTop
⊢ Tendsto (fun x => -f x • r) l atTop

tactic: exact hf.atTop_zsmul_const hr
state_before: α : Type u_1
R : Type u_2
l : Filter α
f✝ : α → R
r : R
inst✝¹ : LinearOrderedAddCommGroup R
inst✝ : Archimedean R
f : α → ℤ
hr : 0 < r
hf : Tendsto (fun x => -f x) l atTop
⊢ Tendsto (fun x => -f x • r) l atTop
state_after: no goals
Theorem: WithTop.range_coe
File: Mathlib/Order/Interval/Set/WithBotTop.lean

tactic: ext x
state_before: α : Type u_1
inst✝ : Preorder α
a b : α
⊢ range some = Iio ⊤
state_after: case h
α : Type u_1
inst✝ : Preorder α
a b : α
x : WithTop α
⊢ x ∈ range some ↔ x ∈ Iio ⊤

tactic: rw [mem_Iio, WithTop.lt_top_iff_ne_top, mem_range, ne_top_iff_exists]
state_before: case h
α : Type u_1
inst✝ : Preorder α
a b : α
x : WithTop α
⊢ x ∈ range some ↔ x ∈ Iio ⊤
state_after: no goals
Theorem: MeasureTheory.NullMeasurableSet.sUnion
File: Mathlib/MeasureTheory/Measure/NullMeasurable.lean

tactic: rw [sUnion_eq_biUnion]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0 : MeasurableSpace α
μ : Measure α
s✝ t : Set α
s : Set (Set α)
hs : s.Countable
h : ∀ t ∈ s, NullMeasurableSet t μ
⊢ NullMeasurableSet (⋃₀ s) μ
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0 : MeasurableSpace α
μ : Measure α
s✝ t : Set α
s : Set (Set α)
hs : s.Countable
h : ∀ t ∈ s, NullMeasurableSet t μ
⊢ NullMeasurableSet (⋃ i ∈ s, i) μ

tactic: exact MeasurableSet.biUnion hs h
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
m0 : MeasurableSpace α
μ : Measure α
s✝ t : Set α
s : Set (Set α)
hs : s.Countable
h : ∀ t ∈ s, NullMeasurableSet t μ
⊢ NullMeasurableSet (⋃ i ∈ s, i) μ
state_after: no goals
Theorem: nhdsWithin_compl_singleton_le
File: Mathlib/Topology/Separation.lean

tactic: rcases eq_or_ne x y with rfl|hy
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x y : X
⊢ 𝓝[≠] x ≤ 𝓝[{y}ᶜ] x
state_after: case inl
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x : X
⊢ 𝓝[≠] x ≤ 𝓝[≠] x

case inr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x y : X
hy : x ≠ y
⊢ 𝓝[≠] x ≤ 𝓝[{y}ᶜ] x

tactic: exact Eq.le rfl
state_before: case inl
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x : X
⊢ 𝓝[≠] x ≤ 𝓝[≠] x
state_after: no goals

tactic: rw [Ne.nhdsWithin_compl_singleton hy]
state_before: case inr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x y : X
hy : x ≠ y
⊢ 𝓝[≠] x ≤ 𝓝[{y}ᶜ] x
state_after: case inr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x y : X
hy : x ≠ y
⊢ 𝓝[≠] x ≤ 𝓝 x

tactic: exact nhdsWithin_le_nhds
state_before: case inr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : T1Space X
x y : X
hy : x ≠ y
⊢ 𝓝[≠] x ≤ 𝓝 x
state_after: no goals
Theorem: Matrix.mul_mul_apply
File: Mathlib/Data/Matrix/Basic.lean

tactic: rw [Matrix.mul_assoc]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝¹ : NonUnitalSemiring α
inst✝ : Fintype n
A B C : Matrix n n α
i j : n
⊢ (A * B * C) i j = A i ⬝ᵥ B *ᵥ Cᵀ j
state_after: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝¹ : NonUnitalSemiring α
inst✝ : Fintype n
A B C : Matrix n n α
i j : n
⊢ (A * (B * C)) i j = A i ⬝ᵥ B *ᵥ Cᵀ j

tactic: simp only [mul_apply, dotProduct, mulVec]
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝¹ : NonUnitalSemiring α
inst✝ : Fintype n
A B C : Matrix n n α
i j : n
⊢ (A * (B * C)) i j = A i ⬝ᵥ B *ᵥ Cᵀ j
state_after: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝¹ : NonUnitalSemiring α
inst✝ : Fintype n
A B C : Matrix n n α
i j : n
⊢ ∑ x : n, A i x * ∑ j_1 : n, B x j_1 * C j_1 j = ∑ x : n, A i x * ∑ x_1 : n, B x x_1 * Cᵀ j x_1

tactic: rfl
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
inst✝¹ : NonUnitalSemiring α
inst✝ : Fintype n
A B C : Matrix n n α
i j : n
⊢ ∑ x : n, A i x * ∑ j_1 : n, B x j_1 * C j_1 j = ∑ x : n, A i x * ∑ x_1 : n, B x x_1 * Cᵀ j x_1
state_after: no goals
Theorem: dite_dite_comm
File: Mathlib/Logic/Basic.lean

tactic: rw [dif_neg (h p), dif_pos p]
state_before: α : Sort u_1
σ : α → Sort u_2
P Q R : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B✝ : ¬P → α
B : Q → α
C : ¬P → ¬Q → α
h : P → ¬Q
p : P
⊢ A p = if q : Q then B q else if p : P then A p else C p q
state_after: no goals

tactic: congr
state_before: α : Sort u_1
σ : α → Sort u_2
P Q R : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B✝ : ¬P → α
B : Q → α
C : ¬P → ¬Q → α
h : P → ¬Q
np : ¬P
⊢ (if q : Q then B q else C np q) = if q : Q then B q else if p : P then A p else C p q
state_after: case e_e
α : Sort u_1
σ : α → Sort u_2
P Q R : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B✝ : ¬P → α
B : Q → α
C : ¬P → ¬Q → α
h : P → ¬Q
np : ¬P
⊢ (fun q => C np q) = fun q => if p : P then A p else C p q

tactic: funext _
state_before: case e_e
α : Sort u_1
σ : α → Sort u_2
P Q R : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B✝ : ¬P → α
B : Q → α
C : ¬P → ¬Q → α
h : P → ¬Q
np : ¬P
⊢ (fun q => C np q) = fun q => if p : P then A p else C p q
state_after: case e_e.h
α : Sort u_1
σ : α → Sort u_2
P Q R : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B✝ : ¬P → α
B : Q → α
C : ¬P → ¬Q → α
h : P → ¬Q
np : ¬P
x✝ : ¬Q
⊢ C np x✝ = if p : P then A p else C p x✝

tactic: rw [dif_neg np]
state_before: case e_e.h
α : Sort u_1
σ : α → Sort u_2
P Q R : Prop
inst✝¹ : Decidable P
inst✝ : Decidable Q
a b c : α
A : P → α
B✝ : ¬P → α
B : Q → α
C : ¬P → ¬Q → α
h : P → ¬Q
np : ¬P
x✝ : ¬Q
⊢ C np x✝ = if p : P then A p else C p x✝
state_after: no goals
Theorem: Filter.HasBasis.lift'_interior_eq_self
File: Mathlib/Topology/Basic.lean

tactic: simpa only [(ho i hi).interior_eq] using h.mem_of_mem hi
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s✝ s₁ s₂ t : Set X
p✝ p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
l : Filter X
p : ι → Prop
s : ι → Set X
h : l.HasBasis p s
ho : ∀ (i : ι), p i → IsOpen (s i)
i : ι
hi : p i
⊢ interior (s i) ∈ l
state_after: no goals
Theorem: DifferentiableAt.inversion
File: Mathlib/Geometry/Euclidean/Inversion/Calculus.lean

tactic: rw [← differentiableWithinAt_univ] at *
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
c x : E → F
R : E → ℝ
s : Set E
a : E
n : ℕ∞
hc : DifferentiableAt ℝ c a
hR : DifferentiableAt ℝ R a
hx : DifferentiableAt ℝ x a
hne : x a ≠ c a
⊢ DifferentiableAt ℝ (fun a => inversion (c a) (R a) (x a)) a
state_after: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
c x : E → F
R : E → ℝ
s : Set E
a : E
n : ℕ∞
hc : DifferentiableWithinAt ℝ c univ a
hR : DifferentiableWithinAt ℝ R univ a
hx : DifferentiableWithinAt ℝ x univ a
hne : x a ≠ c a
⊢ DifferentiableWithinAt ℝ (fun a => inversion (c a) (R a) (x a)) univ a

tactic: exact hc.inversion hR hx hne
state_before: E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
c x : E → F
R : E → ℝ
s : Set E
a : E
n : ℕ∞
hc : DifferentiableWithinAt ℝ c univ a
hR : DifferentiableWithinAt ℝ R univ a
hx : DifferentiableWithinAt ℝ x univ a
hne : x a ≠ c a
⊢ DifferentiableWithinAt ℝ (fun a => inversion (c a) (R a) (x a)) univ a
state_after: no goals
Theorem: Mon_.whiskerRight_hom
File: Mathlib/CategoryTheory/Monoidal/Mon_.lean

tactic: rw [← id_tensorHom]
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X Y Z : Mon_ C
f : Y ⟶ Z
⊢ (X ◁ f).hom = X.X ◁ f.hom
state_after: C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X Y Z : Mon_ C
f : Y ⟶ Z
⊢ (X ◁ f).hom = 𝟙 X.X ⊗ f.hom

tactic: rfl
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X Y Z : Mon_ C
f : Y ⟶ Z
⊢ (X ◁ f).hom = 𝟙 X.X ⊗ f.hom
state_after: no goals
Theorem: Function.mulSupport_comp_eq_of_range_subset
File: Mathlib/Algebra/Group/Support.lean

tactic: rw [Function.comp, hg (mem_range_self x)]
state_before: α : Type u_1
β : Type u_2
A : Type u_3
B : Type u_4
M : Type u_5
N : Type u_6
P : Type u_7
G : Type u_8
inst✝² : One M
inst✝¹ : One N
inst✝ : One P
g : M → N
f : α → M
hg : ∀ {x : M}, x ∈ range f → (g x = 1 ↔ x = 1)
x : α
⊢ (g ∘ f) x = 1 ↔ f x = 1
state_after: no goals
Theorem: Polynomial.integralNormalization_zero
File: Mathlib/RingTheory/Polynomial/IntegralNormalization.lean

tactic: simp [integralNormalization]
state_before: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
⊢ integralNormalization 0 = 0
state_after: no goals
Theorem: SimpleGraph.Subgraph.inclusion.injective
File: Mathlib/Combinatorics/SimpleGraph/Subgraph.lean

tactic: intro v w h
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
x y : G.Subgraph
h : x ≤ y
⊢ Function.Injective ⇑(inclusion h)
state_after: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
x y : G.Subgraph
h✝ : x ≤ y
v w : ↑x.verts
h : (inclusion h✝) v = (inclusion h✝) w
⊢ v = w

tactic: rw [inclusion, DFunLike.coe, Subtype.mk_eq_mk] at h
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
x y : G.Subgraph
h✝ : x ≤ y
v w : ↑x.verts
h : (inclusion h✝) v = (inclusion h✝) w
⊢ v = w
state_after: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
x y : G.Subgraph
h✝ : x ≤ y
v w : ↑x.verts
h :
  ↑(RelHom.instFunLike.1 { toFun := fun v => ⟨↑v, ⋯⟩, map_rel' := ⋯ } v) =
    ↑(RelHom.instFunLike.1 { toFun := fun v => ⟨↑v, ⋯⟩, map_rel' := ⋯ } w)
⊢ v = w

tactic: exact Subtype.ext h
state_before: ι : Sort u_1
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : G.Subgraph
a b : V
x y : G.Subgraph
h✝ : x ≤ y
v w : ↑x.verts
h :
  ↑(RelHom.instFunLike.1 { toFun := fun v => ⟨↑v, ⋯⟩, map_rel' := ⋯ } v) =
    ↑(RelHom.instFunLike.1 { toFun := fun v => ⟨↑v, ⋯⟩, map_rel' := ⋯ } w)
⊢ v = w
state_after: no goals
Theorem: Polynomial.natTrailingDegree_mul_mirror
File: Mathlib/Algebra/Polynomial/Mirror.lean

tactic: by_cases hp : p = 0
state_before: R : Type u_1
inst✝¹ : Semiring R
p q : R[X]
inst✝ : NoZeroDivisors R
⊢ (p * p.mirror).natTrailingDegree = 2 * p.natTrailingDegree
state_after: case pos
R : Type u_1
inst✝¹ : Semiring R
p q : R[X]
inst✝ : NoZeroDivisors R
hp : p = 0
⊢ (p * p.mirror).natTrailingDegree = 2 * p.natTrailingDegree

case neg
R : Type u_1
inst✝¹ : Semiring R
p q : R[X]
inst✝ : NoZeroDivisors R
hp : ¬p = 0
⊢ (p * p.mirror).natTrailingDegree = 2 * p.natTrailingDegree

tactic: rw [natTrailingDegree_mul hp (mt mirror_eq_zero.mp hp), mirror_natTrailingDegree, two_mul]
state_before: case neg
R : Type u_1
inst✝¹ : Semiring R
p q : R[X]
inst✝ : NoZeroDivisors R
hp : ¬p = 0
⊢ (p * p.mirror).natTrailingDegree = 2 * p.natTrailingDegree
state_after: no goals

tactic: rw [hp, zero_mul, natTrailingDegree_zero, mul_zero]
state_before: case pos
R : Type u_1
inst✝¹ : Semiring R
p q : R[X]
inst✝ : NoZeroDivisors R
hp : p = 0
⊢ (p * p.mirror).natTrailingDegree = 2 * p.natTrailingDegree
state_after: no goals
Theorem: StarRingEquiv.symm_symm
File: Mathlib/Algebra/Star/StarRingHom.lean

tactic: ext
state_before: A : Type u_1
B : Type u_2
C : Type u_3
inst✝⁸ : Add A
inst✝⁷ : Add B
inst✝⁶ : Mul A
inst✝⁵ : Mul B
inst✝⁴ : Star A
inst✝³ : Star B
inst✝² : Add C
inst✝¹ : Mul C
inst✝ : Star C
e : A ≃⋆+* B
⊢ e.symm.symm = e
state_after: case h
A : Type u_1
B : Type u_2
C : Type u_3
inst✝⁸ : Add A
inst✝⁷ : Add B
inst✝⁶ : Mul A
inst✝⁵ : Mul B
inst✝⁴ : Star A
inst✝³ : Star B
inst✝² : Add C
inst✝¹ : Mul C
inst✝ : Star C
e : A ≃⋆+* B
a✝ : A
⊢ e.symm.symm a✝ = e a✝

tactic: rfl
state_before: case h
A : Type u_1
B : Type u_2
C : Type u_3
inst✝⁸ : Add A
inst✝⁷ : Add B
inst✝⁶ : Mul A
inst✝⁵ : Mul B
inst✝⁴ : Star A
inst✝³ : Star B
inst✝² : Add C
inst✝¹ : Mul C
inst✝ : Star C
e : A ≃⋆+* B
a✝ : A
⊢ e.symm.symm a✝ = e a✝
state_after: no goals
Theorem: ext_inner_map
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← sub_eq_zero, ← inner_map_self_eq_zero]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : _root_.RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
V : Type u_4
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℂ V
S T : V →ₗ[ℂ] V
⊢ (∀ (x : V), ⟪S x, x⟫_ℂ = ⟪T x, x⟫_ℂ) ↔ S = T
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : _root_.RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
V : Type u_4
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℂ V
S T : V →ₗ[ℂ] V
⊢ (∀ (x : V), ⟪S x, x⟫_ℂ = ⟪T x, x⟫_ℂ) ↔ ∀ (x : V), ⟪(S - T) x, x⟫_ℂ = 0

tactic: refine forall_congr' fun x => ?_
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : _root_.RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
V : Type u_4
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℂ V
S T : V →ₗ[ℂ] V
⊢ (∀ (x : V), ⟪S x, x⟫_ℂ = ⟪T x, x⟫_ℂ) ↔ ∀ (x : V), ⟪(S - T) x, x⟫_ℂ = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : _root_.RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
V : Type u_4
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℂ V
S T : V →ₗ[ℂ] V
x : V
⊢ ⟪S x, x⟫_ℂ = ⟪T x, x⟫_ℂ ↔ ⟪(S - T) x, x⟫_ℂ = 0

tactic: rw [LinearMap.sub_apply, inner_sub_left, sub_eq_zero]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁶ : _root_.RCLike 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
V : Type u_4
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℂ V
S T : V →ₗ[ℂ] V
x : V
⊢ ⟪S x, x⟫_ℂ = ⟪T x, x⟫_ℂ ↔ ⟪(S - T) x, x⟫_ℂ = 0
state_after: no goals
Theorem: MeasureTheory.memℒp_finset_sum'
File: Mathlib/MeasureTheory/Function/LpSeminorm/TriangleInequality.lean

tactic: convert memℒp_finset_sum s hf using 1
state_before: α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
⊢ Memℒp (∑ i ∈ s, f i) p μ
state_after: case h.e'_5
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
⊢ ∑ i ∈ s, f i = fun a => ∑ i ∈ s, f i a

tactic: ext x
state_before: case h.e'_5
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
⊢ ∑ i ∈ s, f i = fun a => ∑ i ∈ s, f i a
state_after: case h.e'_5.h
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
x : α
⊢ (∑ i ∈ s, f i) x = ∑ i ∈ s, f i x

tactic: simp
state_before: case h.e'_5.h
α : Type u_1
E : Type u_2
m : MeasurableSpace α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
q : ℝ
μ : Measure α
f✝ g : α → E
ι : Type u_3
s : Finset ι
f : ι → α → E
hf : ∀ i ∈ s, Memℒp (f i) p μ
x : α
⊢ (∑ i ∈ s, f i) x = ∑ i ∈ s, f i x
state_after: no goals
Theorem: Fin.lt_castPred_iff
File: Mathlib/Data/Fin/Basic.lean

tactic: rw [← castSucc_lt_castSucc_iff, castSucc_castPred]
state_before: n m : ℕ
j : Fin n
i : Fin (n + 1)
hi : i ≠ last n
⊢ j < i.castPred hi ↔ j.castSucc < i
state_after: no goals
Theorem: ContinuousLinearMap.opNorm_prod
File: Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean

tactic: simpa only [prod_apply, Prod.norm_def, max_mul_of_nonneg, norm_nonneg] using
  max_le_max (le_opNorm f x) (le_opNorm g x)
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : SeminormedAddCommGroup E
inst✝⁴ : SeminormedAddCommGroup F
inst✝³ : SeminormedAddCommGroup G
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
inst✝ : NormedSpace 𝕜 G
f : E →L[𝕜] F
g : E →L[𝕜] G
x : E
⊢ ‖(f.prod g) x‖ ≤ ‖(f, g)‖ * ‖x‖
state_after: no goals
Theorem: aemeasurable_coe_nnreal_real_iff
File: Mathlib/MeasureTheory/Constructions/BorelSpace/Real.lean

tactic: simpa only [Real.toNNReal_coe] using h.real_toNNReal
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Sort y
s t u : Set α
inst✝ : MeasurableSpace α
f : α → ℝ≥0
μ : Measure α
h : AEMeasurable (fun x => ↑(f x)) μ
⊢ AEMeasurable f μ
state_after: no goals
Theorem: ProbabilityTheory.measure_zero_or_one_of_measurableSet_limsup
File: Mathlib/Probability/Independence/ZeroOne.lean

tactic: simpa only [ae_dirac_eq, Filter.eventually_pure]
  using kernel.measure_zero_or_one_of_measurableSet_limsup h_le h_indep hf hns hnsp hns_univ
    ht_tail
state_before: α✝ : Type u_1
Ω : Type u_2
ι : Type u_3
_mα : MeasurableSpace α✝
s : ι → MeasurableSpace Ω
m m0 : MeasurableSpace Ω
κ : ↥(kernel α✝ Ω)
μα : Measure α✝
μ : Measure Ω
inst✝¹ : IsMarkovKernel κ
inst✝ : IsProbabilityMeasure μ
α : Type u_4
p : Set ι → Prop
f : Filter ι
ns : α → Set ι
h_le : ∀ (n : ι), s n ≤ m0
h_indep : iIndep s μ
hf : ∀ (t : Set ι), p t → tᶜ ∈ f
hns : Directed (fun x x_1 => x ≤ x_1) ns
hnsp : ∀ (a : α), p (ns a)
hns_univ : ∀ (n : ι), ∃ a, n ∈ ns a
t : Set Ω
ht_tail : MeasurableSet t
⊢ μ t = 0 ∨ μ t = 1
state_after: no goals
Theorem: three_add_one_eq_four
File: Mathlib/Data/Nat/Cast/Defs.lean

tactic: rw [← two_add_one_eq_three, ← one_add_one_eq_two, ← Nat.cast_one,
  ← Nat.cast_add, ← Nat.cast_add, ← Nat.cast_add]
state_before: R : Type u_1
inst✝ : AddMonoidWithOne R
⊢ 3 + 1 = 4
state_after: R : Type u_1
inst✝ : AddMonoidWithOne R
⊢ ↑(1 + 1 + 1 + 1) = 4

tactic: apply congrArg
state_before: R : Type u_1
inst✝ : AddMonoidWithOne R
⊢ ↑(1 + 1 + 1 + 1) = 4
state_after: case h
R : Type u_1
inst✝ : AddMonoidWithOne R
⊢ 1 + 1 + 1 + 1 = 4

tactic: decide
state_before: case h
R : Type u_1
inst✝ : AddMonoidWithOne R
⊢ 1 + 1 + 1 + 1 = 4
state_after: no goals
Theorem: eq_iff_eq_of_cmp_eq_cmp
File: Mathlib/Order/Compare.lean

tactic: rw [le_antisymm_iff, le_antisymm_iff, le_iff_le_of_cmp_eq_cmp h,
    le_iff_le_of_cmp_eq_cmp (cmp_eq_cmp_symm.1 h)]
state_before: α : Type u_1
β✝ : Type u_2
inst✝¹ : LinearOrder α
x y : α
β : Type u_3
inst✝ : LinearOrder β
x' y' : β
h : cmp x y = cmp x' y'
⊢ x = y ↔ x' = y'
state_after: no goals
Theorem: List.reduceOption_singleton
File: Mathlib/Data/List/ReduceOption.lean

tactic: cases x <;> rfl
state_before: α : Type u_1
β : Type u_2
x : Option α
⊢ [x].reduceOption = x.toList
state_after: no goals
Theorem: Prime.isPrimePow
File: Mathlib/Algebra/IsPrimePow.lean

tactic: simp
state_before: R : Type u_1
inst✝ : CommMonoidWithZero R
n p✝ : R
k : ℕ
p : R
hp : Prime p
⊢ p ^ 1 = p
state_after: no goals
Theorem: MvPolynomial.bind₂_monomial_one
File: Mathlib/Algebra/MvPolynomial/Monad.lean

tactic: rw [bind₂_monomial, f.map_one, one_mul]
state_before: σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
T : Type u_5
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S
inst✝ : CommSemiring T
f✝ : σ → MvPolynomial τ R
f : R →+* MvPolynomial σ S
d : σ →₀ ℕ
⊢ (bind₂ f) ((monomial d) 1) = (monomial d) 1
state_after: no goals
Theorem: LocalizedModule.one_smul_aux
File: Mathlib/Algebra/Module/LocalizedModule.lean

tactic: induction' p with m s
state_before: R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
p : LocalizedModule S M
⊢ 1 • p = p
state_after: case h
R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
m : M
s : ↥S
⊢ 1 • mk m s = mk m s

tactic: rw [show (1:T) = IsLocalization.mk' T (1:R) (1:S) by rw [IsLocalization.mk'_one, map_one]]
state_before: case h
R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
m : M
s : ↥S
⊢ 1 • mk m s = mk m s
state_after: case h
R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
m : M
s : ↥S
⊢ IsLocalization.mk' T 1 1 • mk m s = mk m s

tactic: rw [mk'_smul_mk, one_smul, one_mul]
state_before: case h
R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
m : M
s : ↥S
⊢ IsLocalization.mk' T 1 1 • mk m s = mk m s
state_after: no goals

tactic: rw [IsLocalization.mk'_one, map_one]
state_before: R : Type u
inst✝⁵ : CommSemiring R
S : Submonoid R
M : Type v
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
T : Type u_1
inst✝² : CommSemiring T
inst✝¹ : Algebra R T
inst✝ : IsLocalization S T
m : M
s : ↥S
⊢ 1 = IsLocalization.mk' T 1 1
state_after: no goals
Theorem: BoxIntegral.HasIntegral.smul
File: Mathlib/Analysis/BoxIntegral/Basic.lean

tactic: simpa only [HasIntegral, ← integralSum_smul] using
  (tendsto_const_nhds : Tendsto _ _ (𝓝 c)).smul hf
state_before: ι : Type u
E : Type v
F : Type w
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℝ F
I J : Box ι
π : TaggedPrepartition I
inst✝ : Fintype ι
l : IntegrationParams
f g : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
y y' : F
hf : HasIntegral I l f vol y
c : ℝ
⊢ HasIntegral I l (c • f) vol (c • y)
state_after: no goals
Theorem: suffixLevenshtein_cons₁_fst
File: Mathlib/Data/List/EditDistance/Defs.lean

tactic: simp [suffixLevenshtein_cons₁]
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
inst✝¹ : AddZeroClass δ
inst✝ : Min δ
C : Cost α β δ
x : α
xs : List α
ys : List β
⊢ (suffixLevenshtein C (x :: xs) ys).val = levenshtein C (x :: xs) ys :: (suffixLevenshtein C xs ys).val
state_after: no goals
Theorem: Sum.Ioo_inr_inl
File: Mathlib/Data/Sum/Interval.lean

tactic: rfl
state_before: α : Type u_1
β : Type u_2
inst✝³ : Preorder α
inst✝² : Preorder β
inst✝¹ : LocallyFiniteOrder α
inst✝ : LocallyFiniteOrder β
a₁ a₂ : α
b₁ b₂ : β
a b : α ⊕ β
⊢ Ioo (inr b₁) (inl a₂) = ∅
state_after: no goals