ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Span.finsupp_total_repr
File: Mathlib/LinearAlgebra/Finsupp.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid N
inst✝ : Module R N
w : Set M
x : ↥(span R w)
⊢ (Finsupp.total (↑w) M R Subtype.val) (repr R w x) = ↑x
state_after: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid N
inst✝ : Module R N
w : Set M
x : ↥(span R w)
⊢ (Finsupp.total (↑w) M R Subtype.val) ⋯.choose = ↑x
tactic: rw [Span.repr_def]
state_before: R : Type u_1
M : Type u_2
N : Type u_3
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid N
inst✝ : Module R N
w : Set M
x : ↥(span R w)
⊢ (Finsupp.total (↑w) M R Subtype.val) ⋯.choose = ↑x
state_after: no goals
tactic: exact ((Finsupp.mem_span_iff_total _ _ _).mp x.2).choose_spec
Theorem: Num.div_zero
File: Mathlib/Data/Num/Lemmas.lean

Proof steps:
state_before: n : Num
⊢ n.div 0 = 0
state_after: case zero

⊢ zero.div 0 = 0

case pos
a✝ : PosNum
⊢ (pos a✝).div 0 = 0
tactic: cases n
Theorem: WeierstrassCurve.Jacobian.Y_ne_negY_of_Y_ne
File: Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean

Proof steps:
state_before: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : NoZeroDivisors R
P Q : Fin 3 → R
hP : W'.Equation P
hQ : W'.Equation Q
hx : P x * Q z ^ 2 = Q x * P z ^ 2
hy : P y * Q z ^ 3 ≠ Q y * P z ^ 3
⊢ P y ≠ W'.negY P
state_after: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : NoZeroDivisors R
P Q : Fin 3 → R
hP : W'.Equation P
hQ : W'.Equation Q
hx : P x * Q z ^ 2 = Q x * P z ^ 2
hy : P y * Q z ^ 3 ≠ Q y * P z ^ 3
hy' : P y * Q z ^ 3 - W'.negY Q * P z ^ 3 = 0
⊢ P y ≠ W'.negY P
tactic: have hy' : P y * Q z ^ 3 - W'.negY Q * P z ^ 3 = 0 :=
    (mul_eq_zero.mp <| Y_sub_Y_mul_Y_sub_negY hP hQ hx).resolve_left <| sub_ne_zero_of_ne hy
state_before: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : NoZeroDivisors R
P Q : Fin 3 → R
hP : W'.Equation P
hQ : W'.Equation Q
hx : P x * Q z ^ 2 = Q x * P z ^ 2
hy : P y * Q z ^ 3 ≠ Q y * P z ^ 3
hy' : P y * Q z ^ 3 - W'.negY Q * P z ^ 3 = 0
⊢ P y ≠ W'.negY P
state_after: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : NoZeroDivisors R
P Q : Fin 3 → R
hP : W'.Equation P
hQ : W'.Equation Q
hx : P x * Q z ^ 2 = Q x * P z ^ 2
hy' : P y * Q z ^ 3 - W'.negY Q * P z ^ 3 = 0
hy : P y = W'.negY P
⊢ P y * Q z ^ 3 = Q y * P z ^ 3
tactic: contrapose! hy
state_before: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : NoZeroDivisors R
P Q : Fin 3 → R
hP : W'.Equation P
hQ : W'.Equation Q
hx : P x * Q z ^ 2 = Q x * P z ^ 2
hy' : P y * Q z ^ 3 - W'.negY Q * P z ^ 3 = 0
hy : P y = W'.negY P
⊢ P y * Q z ^ 3 = Q y * P z ^ 3
state_after: no goals
tactic: linear_combination (norm := ring1) Y_sub_Y_add_Y_sub_negY P Q hx + Q z ^ 3 * hy - hy'
Theorem: AlgebraicGeometry.Scheme.Hom.image_le_image_of_le
File: Mathlib/AlgebraicGeometry/OpenImmersion.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
X Y : Scheme
f : X.Hom Y
H : IsOpenImmersion f
U V : X.Opens
e : U ≤ V
⊢ f ''ᵁ U ≤ f ''ᵁ V
state_after: case intro.intro
C : Type u
inst✝ : Category.{v, u} C
X Y : Scheme
f : X.Hom Y
H : IsOpenImmersion f
U V : X.Opens
e : U ≤ V
u : ↑↑X.toPresheafedSpace
hu : u ∈ ↑U
⊢ f.val.base u ∈ ↑(f ''ᵁ V)
tactic: rintro a ⟨u, hu, rfl⟩
state_before: case intro.intro
C : Type u
inst✝ : Category.{v, u} C
X Y : Scheme
f : X.Hom Y
H : IsOpenImmersion f
U V : X.Opens
e : U ≤ V
u : ↑↑X.toPresheafedSpace
hu : u ∈ ↑U
⊢ f.val.base u ∈ ↑(f ''ᵁ V)
state_after: no goals
tactic: exact Set.mem_image_of_mem (⇑f.val.base) (e hu)
Theorem: min_lt_max_of_add_lt_add
File: Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
h : a * b < c * d
⊢ min a b < max c d
state_after: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
h : a * b < c * d
⊢ (a < c ∨ a < d) ∨ b < c ∨ b < d
tactic: simp_rw [min_lt_iff, lt_max_iff]
state_before: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
h : a * b < c * d
⊢ (a < c ∨ a < d) ∨ b < c ∨ b < d
state_after: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
h : (c ≤ a ∧ d ≤ a) ∧ c ≤ b ∧ d ≤ b
⊢ c * d ≤ a * b
tactic: contrapose! h
state_before: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
h : (c ≤ a ∧ d ≤ a) ∧ c ≤ b ∧ d ≤ b
⊢ c * d ≤ a * b
state_after: no goals
tactic: exact mul_le_mul' h.1.1 h.2.2
Theorem: Matrix.inv_smul
File: Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean

Proof steps:
state_before: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝³ : Fintype n
inst✝² : DecidableEq n
inst✝¹ : CommRing α
A B : Matrix n n α
k : α
inst✝ : Invertible k
h : IsUnit A.det
⊢ ⅟k • A⁻¹ * k • A = 1
state_after: no goals
tactic: simp [h, smul_smul]
Theorem: Multiset.Ioc_self
File: Mathlib/Order/Interval/Multiset.lean

Proof steps:
state_before: α : Type u_1
inst✝¹ : Preorder α
inst✝ : LocallyFiniteOrder α
a b c : α
⊢ Ioc a a = 0
state_after: no goals
tactic: rw [Ioc, Finset.Ioc_self, Finset.empty_val]
Theorem: Set.iInter_eq_empty_iff
File: Mathlib/Data/Set/Lattice.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
f : ι → Set α
⊢ ⋂ i, f i = ∅ ↔ ∀ (x : α), ∃ i, x ∉ f i
state_after: no goals
tactic: simp [Set.eq_empty_iff_forall_not_mem]
Theorem: Nat.one_div_pos_of_nat
File: Mathlib/Data/Nat/Cast/Order/Field.lean

Proof steps:
state_before: α : Type u_1
inst✝ : LinearOrderedSemifield α
n : ℕ
⊢ 0 < 1 / (↑n + 1)
state_after: α : Type u_1
inst✝ : LinearOrderedSemifield α
n : ℕ
⊢ 0 < (↑n + 1)⁻¹
tactic: rw [one_div]
state_before: α : Type u_1
inst✝ : LinearOrderedSemifield α
n : ℕ
⊢ 0 < (↑n + 1)⁻¹
state_after: no goals
tactic: exact inv_pos_of_nat
Theorem: RatFunc.induction_on'
File: Mathlib/FieldTheory/RatFunc/Defs.lean

Proof steps:
state_before: K : Type u
inst✝¹ : CommRing K
inst✝ : IsDomain K
P : RatFunc K → Prop
x : FractionRing K[X]
f : ∀ (p q : K[X]), q ≠ 0 → P (RatFunc.mk p q)
x✝ : K[X] × ↥K[X]⁰
p : K[X]
q : ↥K[X]⁰
⊢ P { toFractionRing := Localization.mk (p, q).1 (p, q).2 }
state_after: no goals
tactic: simpa only [mk_coe_def, Localization.mk_eq_mk'] using
        f p q (mem_nonZeroDivisors_iff_ne_zero.mp q.2)
Theorem: smul_add_smul_le_smul_add_smul
File: Mathlib/Algebra/Order/Module/Defs.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ b₂ : α
a d : β
hab : b₁ ≤ b₂
hcd : a ≤ d
⊢ b₁ • d + b₂ • a ≤ b₁ • a + b₂ • d
state_after: case intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a d : β
hcd : a ≤ d
b₂ : α
hab : b₁ ≤ b₁ + b₂
⊢ b₁ • d + (b₁ + b₂) • a ≤ b₁ • a + (b₁ + b₂) • d
tactic: obtain ⟨b₂, rfl⟩ := exists_add_of_le hab
state_before: case intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a d : β
hcd : a ≤ d
b₂ : α
hab : b₁ ≤ b₁ + b₂
⊢ b₁ • d + (b₁ + b₂) • a ≤ b₁ • a + (b₁ + b₂) • d
state_after: case intro.intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a : β
b₂ : α
hab : b₁ ≤ b₁ + b₂
d : β
hcd : a ≤ a + d
⊢ b₁ • (a + d) + (b₁ + b₂) • a ≤ b₁ • a + (b₁ + b₂) • (a + d)
tactic: obtain ⟨d, rfl⟩ := exists_add_of_le hcd
state_before: case intro.intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a : β
b₂ : α
hab : b₁ ≤ b₁ + b₂
d : β
hcd : a ≤ a + d
⊢ b₁ • (a + d) + (b₁ + b₂) • a ≤ b₁ • a + (b₁ + b₂) • (a + d)
state_after: case intro.intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a : β
b₂ : α
hab : b₁ ≤ b₁ + b₂
d : β
hcd : a ≤ a + d
⊢ b₁ • a + (b₁ + b₂) • a + b₁ • d ≤ b₁ • a + (b₁ + b₂) • a + (b₁ • d + b₂ • d)
tactic: rw [smul_add, add_right_comm, smul_add, ← add_assoc, add_smul _ _ d]
state_before: case intro.intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a : β
b₂ : α
hab : b₁ ≤ b₁ + b₂
d : β
hcd : a ≤ a + d
⊢ b₁ • a + (b₁ + b₂) • a + b₁ • d ≤ b₁ • a + (b₁ + b₂) • a + (b₁ • d + b₂ • d)
state_after: case intro.intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a : β
b₂ : α
hab : 0 ≤ b₂
d : β
hcd : 0 ≤ d
⊢ b₁ • a + (b₁ + b₂) • a + b₁ • d ≤ b₁ • a + (b₁ + b₂) • a + (b₁ • d + b₂ • d)
tactic: rw [le_add_iff_nonneg_right] at hab hcd
state_before: case intro.intro
α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b b₁✝ b₂✝ : β
inst✝³ : OrderedRing α
inst✝² : OrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulMono α β
b₁ : α
a : β
b₂ : α
hab : 0 ≤ b₂
d : β
hcd : 0 ≤ d
⊢ b₁ • a + (b₁ + b₂) • a + b₁ • d ≤ b₁ • a + (b₁ + b₂) • a + (b₁ • d + b₂ • d)
state_after: no goals
tactic: exact add_le_add_left (le_add_of_nonneg_right <| smul_nonneg hab hcd) _
Theorem: List.alternatingProd_cons_cons
File: Mathlib/Algebra/BigOperators/Group/List.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
G : Type u_7
inst✝ : DivInvMonoid α
a b : α
l : List α
⊢ (a :: b :: l).alternatingProd = a / b * l.alternatingProd
state_after: no goals
tactic: rw [div_eq_mul_inv, alternatingProd_cons_cons']
Theorem: HasFiniteFPowerSeriesOnBall.eq_partialSum
File: Mathlib/Analysis/Analytic/CPolynomial.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
N : ℕ
hN : N ∉ Finset.range m
⊢ (fun m => (p m) fun x => y) N = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
N : ℕ
hN : N ∉ Finset.range m
⊢ ((p N) fun x => y) = 0
tactic: simp only
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
N : ℕ
hN : N ∉ Finset.range m
⊢ ((p N) fun x => y) = 0
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
N : ℕ
hN : m ≤ N
⊢ ((p N) fun x => y) = 0
tactic: simp only [Finset.mem_range, not_lt] at hN
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
n m✝ : ℕ
hf : HasFiniteFPowerSeriesOnBall f p x n r
y : E
hy : y ∈ EMetric.ball 0 r
m : ℕ
hm : n ≤ m
N : ℕ
hN : m ≤ N
⊢ ((p N) fun x => y) = 0
state_after: no goals
tactic: rw [hf.finite _ (le_trans hm hN), ContinuousMultilinearMap.zero_apply]
Theorem: Set.preimage_const_sub_Ioc
File: Mathlib/Data/Set/Pointwise/Interval.lean

Proof steps:
state_before: α : Type u_1
inst✝ : OrderedAddCommGroup α
a b c : α
⊢ (fun x => a - x) ⁻¹' Ioc b c = Ico (a - c) (a - b)
state_after: no goals
tactic: simp [← Ioi_inter_Iic, ← Ici_inter_Iio, inter_comm]
Theorem: BoundedContinuousFunction.norm_normComp
File: Mathlib/Topology/ContinuousFunction/Bounded.lean

Proof steps:
state_before: F : Type u_1
α : Type u
β : Type v
γ : Type w
inst✝¹ : TopologicalSpace α
inst✝ : SeminormedAddCommGroup β
f g : α →ᵇ β
x : α
C : ℝ
⊢ ‖f.normComp‖ = ‖f‖
state_after: no goals
tactic: simp only [norm_eq, coe_normComp, norm_norm, Function.comp]
Theorem: MeasureTheory.eLpNorm_measure_zero
File: Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
⊢ eLpNorm f p 0 = 0
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : p = 0
⊢ eLpNorm f p 0 = 0

case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : ¬p = 0
⊢ eLpNorm f p 0 = 0
tactic: by_cases h0 : p = 0
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : ¬p = 0
⊢ eLpNorm f p 0 = 0
state_after: case pos
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : ¬p = 0
h_top : p = ⊤
⊢ eLpNorm f p 0 = 0

case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : ¬p = 0
h_top : ¬p = ⊤
⊢ eLpNorm f p 0 = 0
tactic: by_cases h_top : p = ∞
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : ¬p = 0
h_top : ¬p = ⊤
⊢ eLpNorm f p 0 = 0
state_after: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : p ≠ 0
h_top : ¬p = ⊤
⊢ eLpNorm f p 0 = 0
tactic: rw [← Ne] at h0
state_before: case neg
α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝³ : NormedAddCommGroup E
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedAddCommGroup G
inst✝ : MeasurableSpace α
f : α → F
h0 : p ≠ 0
h_top : ¬p = ⊤
⊢ eLpNorm f p 0 = 0
state_after: no goals
tactic: simp [eLpNorm_eq_eLpNorm' h0 h_top, eLpNorm', ENNReal.toReal_pos h0 h_top]
Theorem: RingOfIntegers.norm_norm
File: Mathlib/NumberTheory/NumberField/Norm.lean

Proof steps:
state_before: L : Type u_1
K : Type u_2
inst✝¹² : Field K
inst✝¹¹ : Field L
inst✝¹⁰ : Algebra K L
inst✝⁹ : FiniteDimensional K L
F : Type u_3
inst✝⁸ : Field F
inst✝⁷ : Algebra K F
inst✝⁶ : Algebra.IsSeparable K F
inst✝⁵ : FiniteDimensional K F
inst✝⁴ : Algebra.IsSeparable K L
inst✝³ : Algebra F L
inst✝² : Algebra.IsSeparable F L
inst✝¹ : FiniteDimensional F L
inst✝ : IsScalarTower K F L
x : 𝓞 L
⊢ (norm K) ((norm F) x) = (norm K) x
state_after: no goals
tactic: rw [RingOfIntegers.ext_iff, coe_norm, coe_norm, coe_norm, Algebra.norm_norm]
Theorem: Polynomial.Chebyshev.U_two
File: Mathlib/RingTheory/Polynomial/Chebyshev.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
⊢ U R 2 = 4 * X ^ 2 - 1
state_after: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
this : U R (0 + 2) = 2 * X * U R (0 + 1) - U R 0
⊢ U R 2 = 4 * X ^ 2 - 1
tactic: have := U_add_two R 0
state_before: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
this : U R (0 + 2) = 2 * X * U R (0 + 1) - U R 0
⊢ U R 2 = 4 * X ^ 2 - 1
state_after: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
this : U R 2 = 2 * X * (2 * X) - 1
⊢ U R 2 = 4 * X ^ 2 - 1
tactic: simp only [zero_add, U_one, U_zero] at this
state_before: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
this : U R 2 = 2 * X * (2 * X) - 1
⊢ U R 2 = 4 * X ^ 2 - 1
state_after: no goals
tactic: linear_combination this
Theorem: IsLeftRegular.ne_zero
File: Mathlib/Algebra/Regular/Basic.lean

Proof steps:
state_before: R : Type u_1
inst✝¹ : MulZeroClass R
a b : R
inst✝ : Nontrivial R
la : IsLeftRegular a
⊢ a ≠ 0
state_after: R : Type u_1
inst✝¹ : MulZeroClass R
b : R
inst✝ : Nontrivial R
la : IsLeftRegular 0
⊢ False
tactic: rintro rfl
state_before: R : Type u_1
inst✝¹ : MulZeroClass R
b : R
inst✝ : Nontrivial R
la : IsLeftRegular 0
⊢ False
state_after: case intro.intro
R : Type u_1
inst✝¹ : MulZeroClass R
b : R
inst✝ : Nontrivial R
la : IsLeftRegular 0
x y : R
xy : x ≠ y
⊢ False
tactic: rcases exists_pair_ne R with ⟨x, y, xy⟩
state_before: case intro.intro
R : Type u_1
inst✝¹ : MulZeroClass R
b : R
inst✝ : Nontrivial R
la : IsLeftRegular 0
x y : R
xy : x ≠ y
⊢ False
state_after: case intro.intro
R : Type u_1
inst✝¹ : MulZeroClass R
b : R
inst✝ : Nontrivial R
la : IsLeftRegular 0
x y : R
xy : x ≠ y
⊢ 0 * x = 0 * y
tactic: refine xy (la (?_ : 0 * x = 0 * y))
state_before: case intro.intro
R : Type u_1
inst✝¹ : MulZeroClass R
b : R
inst✝ : Nontrivial R
la : IsLeftRegular 0
x y : R
xy : x ≠ y
⊢ 0 * x = 0 * y
state_after: no goals
tactic: rw [zero_mul, zero_mul]
Theorem: MeasureTheory.lintegral_subtype_comap
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
s : Set α
hs : MeasurableSet s
f : α → ℝ≥0∞
⊢ ∫⁻ (x : ↑s), f ↑x ∂Measure.comap Subtype.val μ = ∫⁻ (x : α) in s, f x ∂μ
state_after: no goals
tactic: rw [← (MeasurableEmbedding.subtype_coe hs).lintegral_map, map_comap_subtype_coe hs]
Theorem: TrivSqZeroExt.hasSum_expSeries_of_smul_comm
File: Mathlib/Analysis/Normed/Algebra/TrivSqZeroExt.lean

Proof steps:
state_before: 𝕜 : Type u_1
S : Type u_2
R : Type u_3
M : Type u_4
inst✝¹⁶ : Field 𝕜
inst✝¹⁵ : CharZero 𝕜
inst✝¹⁴ : Ring R
inst✝¹³ : AddCommGroup M
inst✝¹² : Algebra 𝕜 R
inst✝¹¹ : Module 𝕜 M
inst✝¹⁰ : Module R M
inst✝⁹ : Module Rᵐᵒᵖ M
inst✝⁸ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁷ : IsScalarTower 𝕜 R M
inst✝⁶ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝⁵ : TopologicalSpace R
inst✝⁴ : TopologicalSpace M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op x.fst • x.snd = x.fst • x.snd
e : R
h : HasSum (fun n => (expSeries 𝕜 R n) fun x_1 => x.fst) e
⊢ HasSum (fun n => (expSeries 𝕜 (tsze R M) n) fun x_1 => x) (inl e + inr (e • x.snd))
state_after: 𝕜 : Type u_1
S : Type u_2
R : Type u_3
M : Type u_4
inst✝¹⁶ : Field 𝕜
inst✝¹⁵ : CharZero 𝕜
inst✝¹⁴ : Ring R
inst✝¹³ : AddCommGroup M
inst✝¹² : Algebra 𝕜 R
inst✝¹¹ : Module 𝕜 M
inst✝¹⁰ : Module R M
inst✝⁹ : Module Rᵐᵒᵖ M
inst✝⁸ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁷ : IsScalarTower 𝕜 R M
inst✝⁶ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝⁵ : TopologicalSpace R
inst✝⁴ : TopologicalSpace M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op x.fst • x.snd = x.fst • x.snd
e : R
h : HasSum (fun n => (expSeries 𝕜 R n) fun x_1 => x.fst) e
this : HasSum (fun n => ((expSeries 𝕜 (tsze R M) n) fun x_1 => x).fst) e
⊢ HasSum (fun n => (expSeries 𝕜 (tsze R M) n) fun x_1 => x) (inl e + inr (e • x.snd))
tactic: have : HasSum (fun n => fst (expSeries 𝕜 (tsze R M) n fun _ => x)) e := by
    simpa [fst_expSeries] using h
state_before: 𝕜 : Type u_1
S : Type u_2
R : Type u_3
M : Type u_4
inst✝¹⁶ : Field 𝕜
inst✝¹⁵ : CharZero 𝕜
inst✝¹⁴ : Ring R
inst✝¹³ : AddCommGroup M
inst✝¹² : Algebra 𝕜 R
inst✝¹¹ : Module 𝕜 M
inst✝¹⁰ : Module R M
inst✝⁹ : Module Rᵐᵒᵖ M
inst✝⁸ : SMulCommClass R Rᵐᵒᵖ M
inst✝⁷ : IsScalarTower 𝕜 R M
inst✝⁶ : IsScalarTower 𝕜 Rᵐᵒᵖ M
inst✝⁵ : TopologicalSpace R
inst✝⁴ : TopologicalSpace M
inst✝³ : TopologicalRing R
inst✝² : TopologicalAddGroup M
inst✝¹ : ContinuousSMul R M
inst✝ : ContinuousSMul Rᵐᵒᵖ M
x : tsze R M
hx : MulOpposite.op x.fst • x.snd = x.fst • x.snd
e : R
h : HasSum (fun n => (expSeries 𝕜 R n) fun x_1 => x.fst) e
this : HasSum (fun n => ((expSeries 𝕜 (tsze R M) n) fun x_1 => x).fst) e
⊢ HasSum (fun n => (expSeries 𝕜 (tsze R M) n) fun x_1 => x) (inl e + inr (e • x.snd))
state_after: no goals
tactic: simpa only [inl_fst_add_inr_snd_eq] using
    (hasSum_inl _ <| this).add (hasSum_inr _ <| hasSum_snd_expSeries_of_smul_comm 𝕜 x hx h)
Theorem: MeasureTheory.Content.le_outerMeasure_compacts
File: Mathlib/MeasureTheory/Measure/Content.lean

Proof steps:
state_before: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
K : Compacts G
⊢ (fun s => ↑(μ.toFun s)) K ≤ μ.outerMeasure ↑K
state_after: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
K : Compacts G
⊢ (fun s => ↑(μ.toFun s)) K ≤ ⨅ t, ⨅ (ht : IsOpen t), ⨅ (_ : ↑K ⊆ t), μ.innerContent { carrier := t, is_open' := ht }

case PU
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
K : Compacts G
⊢ ∀ ⦃f : ℕ → Set G⦄, (∀ (i : ℕ), IsOpen (f i)) → IsOpen (⋃ i, f i)

case msU
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
K : Compacts G
⊢ ∀ ⦃f : ℕ → Set G⦄ (hm : ∀ (i : ℕ), IsOpen (f i)),
    μ.innerContent { carrier := ⋃ i, f i, is_open' := ⋯ } ≤ ∑' (i : ℕ), μ.innerContent { carrier := f i, is_open' := ⋯ }

case m_mono
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : R1Space G
K : Compacts G
⊢ ∀ ⦃s₁ s₂ : Set G⦄ (hs₁ : IsOpen s₁) (hs₂ : IsOpen s₂),
    s₁ ⊆ s₂ → μ.innerContent { carrier := s₁, is_open' := hs₁ } ≤ μ.innerContent { carrier := s₂, is_open' := hs₂ }
tactic: rw [Content.outerMeasure, inducedOuterMeasure_eq_iInf]