ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Matrix.fromBlocks_neg
File: Mathlib/Data/Matrix/Block.lean

Proof steps:
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
p : Type u_5
q : Type u_6
m' : o → Type u_7
n' : o → Type u_8
p' : o → Type u_9
R : Type u_10
S : Type u_11
α : Type u_12
β : Type u_13
inst✝ : Neg R
A : Matrix n l R
B : Matrix n m R
C : Matrix o l R
D : Matrix o m R
⊢ -fromBlocks A B C D = fromBlocks (-A) (-B) (-C) (-D)
state_after: case a
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
p : Type u_5
q : Type u_6
m' : o → Type u_7
n' : o → Type u_8
p' : o → Type u_9
R : Type u_10
S : Type u_11
α : Type u_12
β : Type u_13
inst✝ : Neg R
A : Matrix n l R
B : Matrix n m R
C : Matrix o l R
D : Matrix o m R
i : n ⊕ o
j : l ⊕ m
⊢ (-fromBlocks A B C D) i j = fromBlocks (-A) (-B) (-C) (-D) i j
tactic: ext i j
state_before: case a
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
p : Type u_5
q : Type u_6
m' : o → Type u_7
n' : o → Type u_8
p' : o → Type u_9
R : Type u_10
S : Type u_11
α : Type u_12
β : Type u_13
inst✝ : Neg R
A : Matrix n l R
B : Matrix n m R
C : Matrix o l R
D : Matrix o m R
i : n ⊕ o
j : l ⊕ m
⊢ (-fromBlocks A B C D) i j = fromBlocks (-A) (-B) (-C) (-D) i j
state_after: no goals
tactic: cases i <;> cases j <;> simp [fromBlocks]
Theorem: Zsqrtd.intCast_im
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

Proof steps:
state_before: d n : ℤ
⊢ (↑n).im = 0
state_after: no goals
tactic: cases n <;> rfl
Theorem: SimpleGraph.Walk.subset_support_append_left
File: Mathlib/Combinatorics/SimpleGraph/Walk.lean

Proof steps:
state_before: V✝ : Type u
V' : Type v
V'' : Type w
G✝ : SimpleGraph V✝
G' : SimpleGraph V'
G'' : SimpleGraph V''
V : Type u
G : SimpleGraph V
u v w : V
p : G.Walk u v
q : G.Walk v w
⊢ p.support ⊆ (p.append q).support
state_after: no goals
tactic: simp only [Walk.support_append, List.subset_append_left]
Theorem: RCLike.nonneg_iff
File: Mathlib/Analysis/RCLike/Basic.lean

Proof steps:
state_before: K : Type u_1
E : Type u_2
inst✝ : RCLike K
z w : K
⊢ 0 ≤ z ↔ 0 ≤ re z ∧ im z = 0
state_after: no goals
tactic: simpa only [map_zero, eq_comm] using le_iff_re_im (z := 0) (w := z)
Theorem: tendsto_const_mul_zpow_atTop_nhds_iff
File: Mathlib/Topology/Algebra/Order/Field.lean

Proof steps:
state_before: 𝕜 : Type u_1
α : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : TopologicalSpace 𝕜
inst✝ : OrderTopology 𝕜
l : Filter α
f g : α → 𝕜
n : ℤ
c d : 𝕜
hc : c ≠ 0
⊢ Tendsto (fun x => c * x ^ n) atTop (𝓝 d) ↔ n = 0 ∧ c = d ∨ n < 0 ∧ d = 0
state_after: case refine_1
𝕜 : Type u_1
α : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : TopologicalSpace 𝕜
inst✝ : OrderTopology 𝕜
l : Filter α
f g : α → 𝕜
n : ℤ
c d : 𝕜
hc : c ≠ 0
h : Tendsto (fun x => c * x ^ n) atTop (𝓝 d)
⊢ n = 0 ∧ c = d ∨ n < 0 ∧ d = 0

case refine_2
𝕜 : Type u_1
α : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : TopologicalSpace 𝕜
inst✝ : OrderTopology 𝕜
l : Filter α
f g : α → 𝕜
n : ℤ
c d : 𝕜
hc : c ≠ 0
h : n = 0 ∧ c = d ∨ n < 0 ∧ d = 0
⊢ Tendsto (fun x => c * x ^ n) atTop (𝓝 d)
tactic: refine ⟨fun h => ?_, fun h => ?_⟩
Theorem: intervalIntegral.tendsto_integral_filter_of_dominated_convergence
File: Mathlib/MeasureTheory/Integral/DominatedConvergence.lean

Proof steps:
state_before: ι✝ : Type u_1
𝕜 : Type u_2
E : Type u_3
F✝ : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
μ : Measure ℝ
ι : Type u_5
l : Filter ι
inst✝ : l.IsCountablyGenerated
F : ι → ℝ → E
bound : ℝ → ℝ
hF_meas : ∀ᶠ (n : ι) in l, AEStronglyMeasurable (F n) (μ.restrict (Ι a b))
h_bound : ∀ᶠ (n : ι) in l, ∀ᵐ (x : ℝ) ∂μ, x ∈ Ι a b → ‖F n x‖ ≤ bound x
bound_integrable : IntervalIntegrable bound μ a b
h_lim : ∀ᵐ (x : ℝ) ∂μ, x ∈ Ι a b → Tendsto (fun n => F n x) l (𝓝 (f x))
⊢ Tendsto (fun n => ∫ (x : ℝ) in a..b, F n x ∂μ) l (𝓝 (∫ (x : ℝ) in a..b, f x ∂μ))
state_after: ι✝ : Type u_1
𝕜 : Type u_2
E : Type u_3
F✝ : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
μ : Measure ℝ
ι : Type u_5
l : Filter ι
inst✝ : l.IsCountablyGenerated
F : ι → ℝ → E
bound : ℝ → ℝ
hF_meas : ∀ᶠ (n : ι) in l, AEStronglyMeasurable (F n) (μ.restrict (Ι a b))
h_bound : ∀ᶠ (n : ι) in l, ∀ᵐ (x : ℝ) ∂μ.restrict (Ι a b), ‖F n x‖ ≤ bound x
bound_integrable : IntegrableOn bound (Ι a b) μ
h_lim : ∀ᵐ (x : ℝ) ∂μ.restrict (Ι a b), Tendsto (fun n => F n x) l (𝓝 (f x))
⊢ Tendsto (fun n => (if a ≤ b then 1 else -1) • ∫ (x : ℝ) in Ι a b, F n x ∂μ) l
    (𝓝 ((if a ≤ b then 1 else -1) • ∫ (x : ℝ) in Ι a b, f x ∂μ))
tactic: simp only [intervalIntegrable_iff, intervalIntegral_eq_integral_uIoc,
    ← ae_restrict_iff' (α := ℝ) (μ := μ) measurableSet_uIoc] at *
state_before: ι✝ : Type u_1
𝕜 : Type u_2
E : Type u_3
F✝ : Type u_4
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
a b : ℝ
f : ℝ → E
μ : Measure ℝ
ι : Type u_5
l : Filter ι
inst✝ : l.IsCountablyGenerated
F : ι → ℝ → E
bound : ℝ → ℝ
hF_meas : ∀ᶠ (n : ι) in l, AEStronglyMeasurable (F n) (μ.restrict (Ι a b))
h_bound : ∀ᶠ (n : ι) in l, ∀ᵐ (x : ℝ) ∂μ.restrict (Ι a b), ‖F n x‖ ≤ bound x
bound_integrable : IntegrableOn bound (Ι a b) μ
h_lim : ∀ᵐ (x : ℝ) ∂μ.restrict (Ι a b), Tendsto (fun n => F n x) l (𝓝 (f x))
⊢ Tendsto (fun n => (if a ≤ b then 1 else -1) • ∫ (x : ℝ) in Ι a b, F n x ∂μ) l
    (𝓝 ((if a ≤ b then 1 else -1) • ∫ (x : ℝ) in Ι a b, f x ∂μ))
state_after: no goals
tactic: exact tendsto_const_nhds.smul <|
    tendsto_integral_filter_of_dominated_convergence bound hF_meas h_bound bound_integrable h_lim
Theorem: Primrec.cond
File: Mathlib/Computability/Primrec.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
σ : Type u_5
inst✝⁴ : Primcodable α
inst✝³ : Primcodable β
inst✝² : Primcodable γ
inst✝¹ : Primcodable δ
inst✝ : Primcodable σ
c : α → Bool
f g : α → σ
hc : Primrec c
hf : Primrec f
hg : Primrec g
a : α
⊢ (Nat.casesOn (encode (c a)) (g a) fun b => f (a, b).1) = bif c a then f a else g a
state_after: no goals
tactic: cases c a <;> rfl
Theorem: CategoryTheory.MorphismProperty.IsInvertedBy.unop
File: Mathlib/CategoryTheory/MorphismProperty/IsInvertedBy.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u'
inst✝ : Category.{v', u'} D
W : MorphismProperty C
L : Cᵒᵖ ⥤ Dᵒᵖ
h : W.op.IsInvertedBy L
X Y : C
f : X ⟶ Y
hf : W f
⊢ IsIso (L.unop.map f)
state_after: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u'
inst✝ : Category.{v', u'} D
W : MorphismProperty C
L : Cᵒᵖ ⥤ Dᵒᵖ
h : W.op.IsInvertedBy L
X Y : C
f : X ⟶ Y
hf : W f
this : IsIso (L.map f.op)
⊢ IsIso (L.unop.map f)
tactic: haveI := h f.op hf
state_before: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u'
inst✝ : Category.{v', u'} D
W : MorphismProperty C
L : Cᵒᵖ ⥤ Dᵒᵖ
h : W.op.IsInvertedBy L
X Y : C
f : X ⟶ Y
hf : W f
this : IsIso (L.map f.op)
⊢ IsIso (L.unop.map f)
state_after: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u'
inst✝ : Category.{v', u'} D
W : MorphismProperty C
L : Cᵒᵖ ⥤ Dᵒᵖ
h : W.op.IsInvertedBy L
X Y : C
f : X ⟶ Y
hf : W f
this : IsIso (L.map f.op)
⊢ IsIso (L.map f.op).unop
tactic: dsimp
state_before: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u'
inst✝ : Category.{v', u'} D
W : MorphismProperty C
L : Cᵒᵖ ⥤ Dᵒᵖ
h : W.op.IsInvertedBy L
X Y : C
f : X ⟶ Y
hf : W f
this : IsIso (L.map f.op)
⊢ IsIso (L.map f.op).unop
state_after: no goals
tactic: infer_instance
Theorem: MultilinearMap.sum_apply
File: Mathlib/LinearAlgebra/Multilinear/Basic.lean

Proof steps:
state_before: R : Type uR
S : Type uS
ι : Type uι
n : ℕ
M : Fin n.succ → Type v
M₁ : ι → Type v₁
M₂ : Type v₂
M₃ : Type v₃
M' : Type v'
inst✝¹⁰ : Semiring R
inst✝⁹ : (i : Fin n.succ) → AddCommMonoid (M i)
inst✝⁸ : (i : ι) → AddCommMonoid (M₁ i)
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : AddCommMonoid M₃
inst✝⁵ : AddCommMonoid M'
inst✝⁴ : (i : Fin n.succ) → Module R (M i)
inst✝³ : (i : ι) → Module R (M₁ i)
inst✝² : Module R M₂
inst✝¹ : Module R M₃
inst✝ : Module R M'
f✝ f' : MultilinearMap R M₁ M₂
α : Type u_1
f : α → MultilinearMap R M₁ M₂
m : (i : ι) → M₁ i
s : Finset α
⊢ (∑ a ∈ s, f a) m = ∑ a ∈ s, (f a) m
state_after: no goals
tactic: simp
Theorem: Zsqrtd.Nonneg.add
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

Proof steps:
state_before: d : ℕ
a b : ℤ√↑d
ha : a.Nonneg
hb : b.Nonneg
⊢ (a + b).Nonneg
state_after: case intro.intro.inl.intro.intro.inl
d x y : ℕ
ha : { re := ↑x, im := ↑y }.Nonneg
z w : ℕ
hb : { re := ↑z, im := ↑w }.Nonneg
⊢ ({ re := ↑x, im := ↑y } + { re := ↑z, im := ↑w }).Nonneg

case intro.intro.inl.intro.intro.inr.inl
d x y : ℕ
ha : { re := ↑x, im := ↑y }.Nonneg
z w : ℕ
hb : { re := ↑z, im := -↑w }.Nonneg
⊢ ({ re := ↑x, im := ↑y } + { re := ↑z, im := -↑w }).Nonneg

case intro.intro.inl.intro.intro.inr.inr
d x y : ℕ
ha : { re := ↑x, im := ↑y }.Nonneg
z w : ℕ
hb : { re := -↑z, im := ↑w }.Nonneg
⊢ ({ re := ↑x, im := ↑y } + { re := -↑z, im := ↑w }).Nonneg

case intro.intro.inr.inl.intro.intro.inl
d x y : ℕ
ha : { re := ↑x, im := -↑y }.Nonneg
z w : ℕ
hb : { re := ↑z, im := ↑w }.Nonneg
⊢ ({ re := ↑x, im := -↑y } + { re := ↑z, im := ↑w }).Nonneg

case intro.intro.inr.inl.intro.intro.inr.inl
d x y : ℕ
ha : { re := ↑x, im := -↑y }.Nonneg
z w : ℕ
hb : { re := ↑z, im := -↑w }.Nonneg
⊢ ({ re := ↑x, im := -↑y } + { re := ↑z, im := -↑w }).Nonneg

case intro.intro.inr.inl.intro.intro.inr.inr
d x y : ℕ
ha : { re := ↑x, im := -↑y }.Nonneg
z w : ℕ
hb : { re := -↑z, im := ↑w }.Nonneg
⊢ ({ re := ↑x, im := -↑y } + { re := -↑z, im := ↑w }).Nonneg

case intro.intro.inr.inr.intro.intro.inl
d x y : ℕ
ha : { re := -↑x, im := ↑y }.Nonneg
z w : ℕ
hb : { re := ↑z, im := ↑w }.Nonneg
⊢ ({ re := -↑x, im := ↑y } + { re := ↑z, im := ↑w }).Nonneg

case intro.intro.inr.inr.intro.intro.inr.inl
d x y : ℕ
ha : { re := -↑x, im := ↑y }.Nonneg
z w : ℕ
hb : { re := ↑z, im := -↑w }.Nonneg
⊢ ({ re := -↑x, im := ↑y } + { re := ↑z, im := -↑w }).Nonneg

case intro.intro.inr.inr.intro.intro.inr.inr
d x y : ℕ
ha : { re := -↑x, im := ↑y }.Nonneg
z w : ℕ
hb : { re := -↑z, im := ↑w }.Nonneg
⊢ ({ re := -↑x, im := ↑y } + { re := -↑z, im := ↑w }).Nonneg
tactic: rcases nonneg_cases ha with ⟨x, y, rfl | rfl | rfl⟩ <;>
    rcases nonneg_cases hb with ⟨z, w, rfl | rfl | rfl⟩
Theorem: ZMod.euler_criterion
File: Mathlib/NumberTheory/LegendreSymbol/Basic.lean

Proof steps:
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ IsSquare a ↔ a ^ (p / 2) = 1
state_after: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ (∃ y, y ^ 2 = Units.mk0 a ha) ↔ IsSquare a
tactic: apply (iff_congr _ (by simp [Units.ext_iff])).mp (euler_criterion_units p (Units.mk0 a ha))
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ (∃ y, y ^ 2 = Units.mk0 a ha) ↔ IsSquare a
state_after: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ (∃ y, ↑y * ↑y = a) ↔ IsSquare a
tactic: simp only [Units.ext_iff, sq, Units.val_mk0, Units.val_mul]
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ (∃ y, ↑y * ↑y = a) ↔ IsSquare a
state_after: case mp
p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ (∃ y, ↑y * ↑y = a) → IsSquare a

case mpr
p : ℕ
inst✝ : Fact (Nat.Prime p)
a : ZMod p
ha : a ≠ 0
⊢ IsSquare a → ∃ y, ↑y * ↑y = a
tactic: constructor
Theorem: Batteries.HashMap.Imp.WF.empty
File: .lake/packages/batteries/Batteries/Data/HashMap/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
n : Nat
inst✝¹ : BEq α
inst✝ : Hashable α
⊢ (Imp.empty n).WF
state_after: α : Type u_1
β : Type u_2
n : Nat
inst✝¹ : BEq α
inst✝ : Hashable α
⊢ (let nbuckets := numBucketsForCapacity n;
    let n_1 := if h : nbuckets = 0 then ⟨8, empty.proof_1⟩ else ⟨nbuckets, ⋯⟩;
    Imp.empty' n_1.val ⋯).WF
tactic: unfold empty
state_before: α : Type u_1
β : Type u_2
n : Nat
inst✝¹ : BEq α
inst✝ : Hashable α
⊢ (let nbuckets := numBucketsForCapacity n;
    let n_1 := if h : nbuckets = 0 then ⟨8, empty.proof_1⟩ else ⟨nbuckets, ⋯⟩;
    Imp.empty' n_1.val ⋯).WF
state_after: no goals
tactic: apply empty'
Theorem: TopologicalSpace.Opens.mapMapIso_unitIso
File: Mathlib/Topology/Category/TopCat/Opens.lean

Proof steps:
state_before: X✝ Y✝ Z X Y : TopCat
H : X ≅ Y
U : Opens ↑Y
⊢ (𝟭 (Opens ↑Y)).obj U = (map H.hom ⋙ map H.inv).obj U
state_after: no goals
tactic: simp [map, Set.preimage_preimage]
state_before: X✝ Y✝ Z X Y : TopCat
H : X ≅ Y
U : Opens ↑X
⊢ (map H.inv ⋙ map H.hom).obj U = (𝟭 (Opens ↑X)).obj U
state_after: no goals
tactic: simp [map, Set.preimage_preimage]
Theorem: Nat.iInf_of_empty
File: Mathlib/Data/Nat/Lattice.lean

Proof steps:
state_before: ι : Sort u_1
inst✝ : IsEmpty ι
f : ι → ℕ
⊢ iInf f = 0
state_after: no goals
tactic: rw [iInf_of_isEmpty, sInf_empty]
Theorem: MonoidAlgebra.singleOneRingHom_apply
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

Proof steps:
state_before: k : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
inst✝¹ : Semiring k
inst✝ : MulOneClass G
x y : k
⊢ { toFun := (↑__src✝).toFun, map_one' := ⋯ }.toFun (x * y) =
    { toFun := (↑__src✝).toFun, map_one' := ⋯ }.toFun x * { toFun := (↑__src✝).toFun, map_one' := ⋯ }.toFun y
state_after: no goals
tactic: simp only [ZeroHom.toFun_eq_coe, AddMonoidHom.toZeroHom_coe, singleAddHom_apply,
        single_mul_single, mul_one]
Theorem: WeierstrassCurve.variableChange_c₆
File: Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean

Proof steps:
state_before: R : Type u
inst✝ : CommRing R
W : WeierstrassCurve R
C : VariableChange R
⊢ (W.variableChange C).c₆ = ↑C.u⁻¹ ^ 6 * W.c₆
state_after: R : Type u
inst✝ : CommRing R
W : WeierstrassCurve R
C : VariableChange R
⊢ -(↑C.u⁻¹ ^ 2 * (W.b₂ + 12 * C.r)) ^ 3 +
        36 * (↑C.u⁻¹ ^ 2 * (W.b₂ + 12 * C.r)) * (↑C.u⁻¹ ^ 4 * (W.b₄ + C.r * W.b₂ + 6 * C.r ^ 2)) -
      216 * (↑C.u⁻¹ ^ 6 * (W.b₆ + 2 * C.r * W.b₄ + C.r ^ 2 * W.b₂ + 4 * C.r ^ 3)) =
    ↑C.u⁻¹ ^ 6 * (-W.b₂ ^ 3 + 36 * W.b₂ * W.b₄ - 216 * W.b₆)
tactic: simp only [c₆, variableChange_b₂, variableChange_b₄, variableChange_b₆]
state_before: R : Type u
inst✝ : CommRing R
W : WeierstrassCurve R
C : VariableChange R
⊢ -(↑C.u⁻¹ ^ 2 * (W.b₂ + 12 * C.r)) ^ 3 +
        36 * (↑C.u⁻¹ ^ 2 * (W.b₂ + 12 * C.r)) * (↑C.u⁻¹ ^ 4 * (W.b₄ + C.r * W.b₂ + 6 * C.r ^ 2)) -
      216 * (↑C.u⁻¹ ^ 6 * (W.b₆ + 2 * C.r * W.b₄ + C.r ^ 2 * W.b₂ + 4 * C.r ^ 3)) =
    ↑C.u⁻¹ ^ 6 * (-W.b₂ ^ 3 + 36 * W.b₂ * W.b₄ - 216 * W.b₆)
state_after: no goals
tactic: ring1
Theorem: MeasureTheory.Memℒp.eLpNormEssSup_indicator_norm_ge_eq_zero
File: Mathlib/MeasureTheory/Function/UniformIntegrable.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
⊢ ∃ M, eLpNormEssSup ({x | M ≤ ↑‖f x‖₊}.indicator f) μ = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ ∃ M, eLpNormEssSup ({x | M ≤ ↑‖f x‖₊}.indicator f) μ = 0
tactic: have hbdd : eLpNormEssSup f μ < ∞ := hf.eLpNorm_lt_top
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ ∃ M, eLpNormEssSup ({x | M ≤ ↑‖f x‖₊}.indicator f) μ = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ eLpNormEssSup ({x | (eLpNorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}.indicator f) μ = 0
tactic: refine ⟨(eLpNorm f ∞ μ + 1).toReal, ?_⟩
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ eLpNormEssSup ({x | (eLpNorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}.indicator f) μ = 0
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ eLpNormEssSup f (μ.restrict {x | (eLpNorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}) = 0

α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ MeasurableSet {x | (eLpNorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}
tactic: rw [eLpNormEssSup_indicator_eq_eLpNormEssSup_restrict]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup β
p : ℝ≥0∞
f : α → β
hf : Memℒp f ⊤ μ
hmeas : StronglyMeasurable f
hbdd : eLpNormEssSup f μ < ⊤
⊢ MeasurableSet {x | (eLpNorm f ⊤ μ + 1).toReal ≤ ↑‖f x‖₊}
state_after: no goals
tactic: exact measurableSet_le measurable_const hmeas.nnnorm.measurable.subtype_coe
Theorem: AffineIndependent.eq_zero_of_sum_eq_zero_subtype
File: Mathlib/LinearAlgebra/AffineSpace/Independent.lean

Proof steps:
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
s✝ : Finset ι
w✝ w₁ w₂ : ι → k
p : ι → V
s : Finset V
hp : AffineIndependent k Subtype.val
w : V → k
hw₀ : ∑ x ∈ s, w x = 0
hw₁ : ∑ x ∈ s, w x • x = 0
⊢ ∀ x ∈ s, w x = 0
state_after: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
s✝ : Finset ι
w✝ w₁ w₂ : ι → k
p : ι → V
s : Finset V
hp : AffineIndependent k Subtype.val
w : V → k
hw₀ : ∑ x ∈ s.attach, w ↑x = 0
hw₁ : ∑ x ∈ s.attach, w ↑x • ↑x = 0
⊢ ∀ x ∈ s, w x = 0
tactic: rw [← sum_attach] at hw₀ hw₁
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
s✝ : Finset ι
w✝ w₁ w₂ : ι → k
p : ι → V
s : Finset V
hp : AffineIndependent k Subtype.val
w : V → k
hw₀ : ∑ x ∈ s.attach, w ↑x = 0
hw₁ : ∑ x ∈ s.attach, w ↑x • ↑x = 0
⊢ ∀ x ∈ s, w x = 0
state_after: no goals
tactic: exact fun x hx ↦ hp.eq_zero_of_sum_eq_zero hw₀ hw₁ ⟨x, hx⟩ (mem_univ _)
Theorem: AddMonCat.FilteredColimits.colimit_zero_eq
File: Mathlib/Algebra/Category/MonCat/FilteredColimits.lean

Proof steps:
state_before: J : Type v
inst✝¹ : SmallCategory J
F : J ⥤ MonCatMax
inst✝ : IsFiltered J
j : J
⊢ 1 = M.mk F ⟨j, 1⟩
state_after: case h
J : Type v
inst✝¹ : SmallCategory J
F : J ⥤ MonCatMax
inst✝ : IsFiltered J
j : J
⊢ ∃ k f g, (F.map f) ⟨⋯.some, 1⟩.snd = (F.map g) ⟨j, 1⟩.snd
tactic: apply M.mk_eq
state_before: case h
J : Type v
inst✝¹ : SmallCategory J
F : J ⥤ MonCatMax
inst✝ : IsFiltered J
j : J
⊢ ∃ k f g, (F.map f) ⟨⋯.some, 1⟩.snd = (F.map g) ⟨j, 1⟩.snd
state_after: case h
J : Type v
inst✝¹ : SmallCategory J
F : J ⥤ MonCatMax
inst✝ : IsFiltered J
j : J
⊢ (F.map (IsFiltered.leftToMax ⟨⋯.some, 1⟩.fst j)) ⟨⋯.some, 1⟩.snd =
    (F.map (IsFiltered.rightToMax ⟨⋯.some, 1⟩.fst j)) ⟨j, 1⟩.snd
tactic: refine ⟨max' _ j, IsFiltered.leftToMax _ j, IsFiltered.rightToMax _ j, ?_⟩
state_before: case h
J : Type v
inst✝¹ : SmallCategory J
F : J ⥤ MonCatMax
inst✝ : IsFiltered J
j : J
⊢ (F.map (IsFiltered.leftToMax ⟨⋯.some, 1⟩.fst j)) ⟨⋯.some, 1⟩.snd =
    (F.map (IsFiltered.rightToMax ⟨⋯.some, 1⟩.fst j)) ⟨j, 1⟩.snd
state_after: no goals
tactic: simp
Theorem: ConvexOn.translate_right
File: Mathlib/Analysis/Convex/Function.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
α : Type u_4
β : Type u_5
ι : Type u_6
inst✝⁶ : OrderedSemiring 𝕜
inst✝⁵ : AddCommMonoid E
inst✝⁴ : AddCommMonoid F
inst✝³ : OrderedAddCommMonoid α
inst✝² : OrderedAddCommMonoid β
inst✝¹ : Module 𝕜 E
inst✝ : SMul 𝕜 β
s : Set E
f : E → β
hf : ConvexOn 𝕜 s f
c x : E
hx : x ∈ (fun z => c + z) ⁻¹' s
y : E
hy : y ∈ (fun z => c + z) ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ f (c + (a • x + b • y)) = f (a • (c + x) + b • (c + y))
state_after: no goals
tactic: rw [smul_add, smul_add, add_add_add_comm, Convex.combo_self hab]
Theorem: HasCompactSupport.hasDerivAt_convolution_left
File: Mathlib/Analysis/Convolution.lean

Proof steps:
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedAddCommGroup E''
inst✝⁹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝⁸ : RCLike 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 E'
inst✝⁵ : NormedSpace ℝ F
inst✝⁴ : NormedSpace 𝕜 F
f₀ : 𝕜 → E
g₀ : 𝕜 → E'
n : ℕ∞
L : E →L[𝕜] E' →L[𝕜] F
inst✝³ : CompleteSpace F
μ : Measure 𝕜
inst✝² : μ.IsAddLeftInvariant
inst✝¹ : SFinite μ
inst✝ : μ.IsNegInvariant
hcf : HasCompactSupport f₀
hf : ContDiff 𝕜 1 f₀
hg : LocallyIntegrable g₀ μ
x₀ : 𝕜
⊢ HasDerivAt (f₀ ⋆[L, μ] g₀) ((deriv f₀ ⋆[L, μ] g₀) x₀) x₀
state_after: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedAddCommGroup E''
inst✝⁹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝⁸ : RCLike 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 E'
inst✝⁵ : NormedSpace ℝ F
inst✝⁴ : NormedSpace 𝕜 F
f₀ : 𝕜 → E
g₀ : 𝕜 → E'
n : ℕ∞
L : E →L[𝕜] E' →L[𝕜] F
inst✝³ : CompleteSpace F
μ : Measure 𝕜
inst✝² : μ.IsAddLeftInvariant
inst✝¹ : SFinite μ
inst✝ : μ.IsNegInvariant
hcf : HasCompactSupport f₀
hf : ContDiff 𝕜 1 f₀
hg : LocallyIntegrable g₀ μ
x₀ : 𝕜
⊢ HasDerivAt (g₀ ⋆[L.flip, μ] f₀) ((g₀ ⋆[L.flip, μ] deriv f₀) x₀) x₀
tactic: simp (config := { singlePass := true }) only [← convolution_flip]
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedAddCommGroup E''
inst✝⁹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝⁸ : RCLike 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 E'
inst✝⁵ : NormedSpace ℝ F
inst✝⁴ : NormedSpace 𝕜 F
f₀ : 𝕜 → E
g₀ : 𝕜 → E'
n : ℕ∞
L : E →L[𝕜] E' →L[𝕜] F
inst✝³ : CompleteSpace F
μ : Measure 𝕜
inst✝² : μ.IsAddLeftInvariant
inst✝¹ : SFinite μ
inst✝ : μ.IsNegInvariant
hcf : HasCompactSupport f₀
hf : ContDiff 𝕜 1 f₀
hg : LocallyIntegrable g₀ μ
x₀ : 𝕜
⊢ HasDerivAt (g₀ ⋆[L.flip, μ] f₀) ((g₀ ⋆[L.flip, μ] deriv f₀) x₀) x₀
state_after: no goals
tactic: exact hcf.hasDerivAt_convolution_right L.flip hg hf x₀
Theorem: Nat.beta_unbeta_coe
File: Mathlib/Logic/Godel/GodelBetaFunction.lean

Proof steps:
state_before: m : ℕ
l : List ℕ
i : Fin l.length
⊢ (unbeta l).beta ↑i = l.get i
state_after: no goals
tactic: simpa [beta, unbeta, coprimes] using mod_eq_of_modEq
    ((chineseRemainderOfFinset l.get (coprimes l.get) Finset.univ
      (by simp [coprimes])
      (by simpa using Set.pairwise_univ.mpr (pairwise_coprime_coprimes _))).prop i (by simp))
    (coprimes_lt l.get _)
Theorem: factorization_pow
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

Proof steps:
state_before: α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : UniqueFactorizationMonoid α
inst✝¹ : NormalizationMonoid α
inst✝ : DecidableEq α
x : α
n : ℕ
⊢ factorization (x ^ n) = n • factorization x
state_after: case h
α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : UniqueFactorizationMonoid α
inst✝¹ : NormalizationMonoid α
inst✝ : DecidableEq α
x : α
n : ℕ
a✝ : α
⊢ (factorization (x ^ n)) a✝ = (n • factorization x) a✝
tactic: ext
state_before: case h
α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : UniqueFactorizationMonoid α
inst✝¹ : NormalizationMonoid α
inst✝ : DecidableEq α
x : α
n : ℕ
a✝ : α
⊢ (factorization (x ^ n)) a✝ = (n • factorization x) a✝
state_after: no goals
tactic: simp [factorization]
Theorem: Finmap.keys_union
File: Mathlib/Data/Finmap.lean

Proof steps:
state_before: α : Type u
β : α → Type v
inst✝ : DecidableEq α
s₁✝ s₂✝ : Finmap β
s₁ s₂ : AList β
⊢ ∀ (a : α), a ∈ (⟦s₁⟧ ∪ ⟦s₂⟧).keys ↔ a ∈ ⟦s₁⟧.keys ∪ ⟦s₂⟧.keys
state_after: no goals
tactic: simp [keys]
Theorem: Set.ite_univ
File: Mathlib/Data/Set/Basic.lean

Proof steps:
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α
s✝ s₁ s₂ t t₁ t₂ u s s' : Set α
⊢ univ.ite s s' = s
state_after: no goals
tactic: simp [Set.ite]