ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Int.sign_eq_ediv_abs
File: Mathlib/Algebra/Order/Group/Int.lean

Proof steps:
state_before: a : ℤ
az : a = 0
⊢ a.sign = a / |a|
state_after: no goals
tactic: simp [az]
Theorem: nhdsWithin_pi_univ_eq
File: Mathlib/Topology/ContinuousOn.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : TopologicalSpace α
ι : Type u_5
π : ι → Type u_6
inst✝¹ : (i : ι) → TopologicalSpace (π i)
inst✝ : Finite ι
s : (i : ι) → Set (π i)
x : (i : ι) → π i
⊢ 𝓝[univ.pi s] x = ⨅ i, comap (fun x => x i) (𝓝[s i] x i)
state_after: no goals
tactic: simpa [nhdsWithin] using nhdsWithin_pi_eq finite_univ s x
Theorem: monotone_iff_forall_covBy
File: Mathlib/Order/Interval/Finset/Basic.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝² : PartialOrder α
inst✝¹ : LocallyFiniteOrder α
inst✝ : Preorder β
f : α → β
⊢ Monotone f ↔ ∀ (a b : α), a ⋖ b → f a ≤ f b
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝² : PartialOrder α
inst✝¹ : LocallyFiniteOrder α
inst✝ : Preorder β
f : α → β
h : ∀ (a b : α), a ⋖ b → f a ≤ f b
a b : α
hab : a ≤ b
⊢ f a ≤ f b
tactic: refine ⟨fun hf _ _ h ↦ hf h.le, fun h a b hab ↦ ?_⟩
Theorem: Set.MulAntidiagonal.fst_eq_fst_iff_snd_eq_snd
File: Mathlib/Data/Set/MulAntidiagonal.lean

Proof steps:
state_before: α : Type u_1
inst✝ : CancelCommMonoid α
s t : Set α
a : α
x y : ↑(s.mulAntidiagonal t a)
h : (↑x).1 = (↑y).1
⊢ a = (↑y).1 * (↑x).2
state_after: α : Type u_1
inst✝ : CancelCommMonoid α
s t : Set α
a : α
x y : ↑(s.mulAntidiagonal t a)
h : (↑x).1 = (↑y).1
⊢ a = (↑x).1 * (↑x).2
tactic: rw [← h]
state_before: α : Type u_1
inst✝ : CancelCommMonoid α
s t : Set α
a : α
x y : ↑(s.mulAntidiagonal t a)
h : (↑x).1 = (↑y).1
⊢ a = (↑x).1 * (↑x).2
state_after: no goals
tactic: exact x.2.2.2.symm
state_before: α : Type u_1
inst✝ : CancelCommMonoid α
s t : Set α
a : α
x y : ↑(s.mulAntidiagonal t a)
h : (↑x).2 = (↑y).2
⊢ a = (↑x).1 * (↑y).2
state_after: α : Type u_1
inst✝ : CancelCommMonoid α
s t : Set α
a : α
x y : ↑(s.mulAntidiagonal t a)
h : (↑x).2 = (↑y).2
⊢ a = (↑x).1 * (↑x).2
tactic: rw [← h]
state_before: α : Type u_1
inst✝ : CancelCommMonoid α
s t : Set α
a : α
x y : ↑(s.mulAntidiagonal t a)
h : (↑x).2 = (↑y).2
⊢ a = (↑x).1 * (↑x).2
state_after: no goals
tactic: exact x.2.2.2.symm
Theorem: MeasureTheory.Measure.toSignedMeasure_add
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
⊢ (μ + ν).toSignedMeasure = μ.toSignedMeasure + ν.toSignedMeasure
state_after: case h
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
i : Set α
hi : MeasurableSet i
⊢ ↑(μ + ν).toSignedMeasure i = ↑(μ.toSignedMeasure + ν.toSignedMeasure) i
tactic: ext i hi
state_before: case h
α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
i : Set α
hi : MeasurableSet i
⊢ ↑(μ + ν).toSignedMeasure i = ↑(μ.toSignedMeasure + ν.toSignedMeasure) i
state_after: no goals
tactic: rw [toSignedMeasure_apply_measurable hi, add_apply,
    ENNReal.toReal_add (ne_of_lt (measure_lt_top _ _)) (ne_of_lt (measure_lt_top _ _)),
    VectorMeasure.add_apply, toSignedMeasure_apply_measurable hi,
    toSignedMeasure_apply_measurable hi]
Theorem: CategoryTheory.Limits.prod.leftUnitor_inv_naturality
File: Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean

Proof steps:
state_before: C : Type u
inst✝² : Category.{v, u} C
X Y : C
inst✝¹ : HasTerminal C
inst✝ : HasBinaryProducts C
f : X ⟶ Y
⊢ (leftUnitor X).inv ≫ map (𝟙 (⊤_ C)) f = f ≫ (leftUnitor Y).inv
state_after: no goals
tactic: rw [Iso.inv_comp_eq, ← Category.assoc, Iso.eq_comp_inv, prod.leftUnitor_hom_naturality]
Theorem: hasSum_sum_disjoint
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : CommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a✝ b : α
s✝ : Finset β
inst✝ : ContinuousMul α
ι : Type u_5
s : Finset ι
t : ι → Set β
a : ι → α
hs : (↑s).Pairwise (Disjoint on t)
hf : ∀ i ∈ s, HasProd (f ∘ Subtype.val) (a i)
⊢ HasProd (f ∘ Subtype.val) (∏ i ∈ s, a i)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : CommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a✝ b : α
s✝ : Finset β
inst✝ : ContinuousMul α
ι : Type u_5
s : Finset ι
t : ι → Set β
a : ι → α
hs : (↑s).Pairwise (Disjoint on t)
hf : ∀ i ∈ s, HasProd ((t i).mulIndicator f) (a i)
⊢ HasProd ((⋃ i ∈ s, t i).mulIndicator f) (∏ i ∈ s, a i)
tactic: simp_rw [hasProd_subtype_iff_mulIndicator] at *
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : CommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a✝ b : α
s✝ : Finset β
inst✝ : ContinuousMul α
ι : Type u_5
s : Finset ι
t : ι → Set β
a : ι → α
hs : (↑s).Pairwise (Disjoint on t)
hf : ∀ i ∈ s, HasProd ((t i).mulIndicator f) (a i)
⊢ HasProd ((⋃ i ∈ s, t i).mulIndicator f) (∏ i ∈ s, a i)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : CommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a✝ b : α
s✝ : Finset β
inst✝ : ContinuousMul α
ι : Type u_5
s : Finset ι
t : ι → Set β
a : ι → α
hs : (↑s).Pairwise (Disjoint on t)
hf : ∀ i ∈ s, HasProd ((t i).mulIndicator f) (a i)
⊢ HasProd (fun a => ∏ i ∈ s, (t i).mulIndicator f a) (∏ i ∈ s, a i)
tactic: rw [Finset.mulIndicator_biUnion _ _ hs]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝² : CommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a✝ b : α
s✝ : Finset β
inst✝ : ContinuousMul α
ι : Type u_5
s : Finset ι
t : ι → Set β
a : ι → α
hs : (↑s).Pairwise (Disjoint on t)
hf : ∀ i ∈ s, HasProd ((t i).mulIndicator f) (a i)
⊢ HasProd (fun a => ∏ i ∈ s, (t i).mulIndicator f a) (∏ i ∈ s, a i)
state_after: no goals
tactic: exact hasProd_prod hf
Theorem: isConj_iff_eq
File: Mathlib/Algebra/Group/Conj.lean

Proof steps:
state_before: α✝ : Type u
β : Type v
inst✝² : Monoid α✝
inst✝¹ : Monoid β
α : Type u_1
inst✝ : CommMonoid α
a b : α
x✝ : IsConj a b
c : αˣ
hc : SemiconjBy (↑c) a b
⊢ a = b
state_after: α✝ : Type u
β : Type v
inst✝² : Monoid α✝
inst✝¹ : Monoid β
α : Type u_1
inst✝ : CommMonoid α
a b : α
x✝ : IsConj a b
c : αˣ
hc : a = b
⊢ a = b
tactic: rw [SemiconjBy, mul_comm, ← Units.mul_inv_eq_iff_eq_mul, mul_assoc, c.mul_inv, mul_one] at hc
state_before: α✝ : Type u
β : Type v
inst✝² : Monoid α✝
inst✝¹ : Monoid β
α : Type u_1
inst✝ : CommMonoid α
a b : α
x✝ : IsConj a b
c : αˣ
hc : a = b
⊢ a = b
state_after: no goals
tactic: exact hc
state_before: α✝ : Type u
β : Type v
inst✝² : Monoid α✝
inst✝¹ : Monoid β
α : Type u_1
inst✝ : CommMonoid α
a b : α
h : a = b
⊢ IsConj a b
state_after: no goals
tactic: rw [h]
Theorem: MeasureTheory.AEStronglyMeasurable'.const_inner
File: Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean

Proof steps:
state_before: α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
hfm : AEStronglyMeasurable' m f μ
c : β
⊢ AEStronglyMeasurable' m (fun x => ⟪c, f x⟫_𝕜) μ
state_after: case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᶠ[ae μ] f'
⊢ AEStronglyMeasurable' m (fun x => ⟪c, f x⟫_𝕜) μ
tactic: rcases hfm with ⟨f', hf'_meas, hf_ae⟩
state_before: case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᶠ[ae μ] f'
⊢ AEStronglyMeasurable' m (fun x => ⟪c, f x⟫_𝕜) μ
state_after: case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᶠ[ae μ] f'
x : α
hx : f x = f' x
⊢ (fun x => ⟪c, f x⟫_𝕜) x = (fun x => ⟪c, f' x⟫_𝕜) x
tactic: refine
    ⟨fun x => (inner c (f' x) : 𝕜), (@stronglyMeasurable_const _ _ m _ c).inner hf'_meas,
      hf_ae.mono fun x hx => ?_⟩
state_before: case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᶠ[ae μ] f'
x : α
hx : f x = f' x
⊢ (fun x => ⟪c, f x⟫_𝕜) x = (fun x => ⟪c, f' x⟫_𝕜) x
state_after: case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᶠ[ae μ] f'
x : α
hx : f x = f' x
⊢ ⟪c, f x⟫_𝕜 = ⟪c, f' x⟫_𝕜
tactic: dsimp only
state_before: case intro.intro
α : Type u_1
β✝ : Type u_2
𝕜✝ : Type u_3
m m0 : MeasurableSpace α
μ : Measure α
inst✝³ : TopologicalSpace β✝
f✝ g : α → β✝
𝕜 : Type u_4
β : Type u_5
inst✝² : RCLike 𝕜
inst✝¹ : NormedAddCommGroup β
inst✝ : InnerProductSpace 𝕜 β
f : α → β
c : β
f' : α → β
hf'_meas : StronglyMeasurable f'
hf_ae : f =ᶠ[ae μ] f'
x : α
hx : f x = f' x
⊢ ⟪c, f x⟫_𝕜 = ⟪c, f' x⟫_𝕜
state_after: no goals
tactic: rw [hx]
Theorem: Rat.isSquare_natCast_iff
File: Mathlib/Data/Rat/Lemmas.lean

Proof steps:
state_before: n : ℕ
⊢ IsSquare ↑n ↔ IsSquare n
state_after: no goals
tactic: simp_rw [isSquare_iff, num_natCast, den_natCast, isSquare_one, and_true, Int.isSquare_natCast_iff]
Theorem: image_segment
File: Mathlib/Analysis/Convex/Segment.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
f : E →ᵃ[𝕜] F
a b : E
x : F
⊢ x ∈ ⇑f '' [a-[𝕜]b] ↔ x ∈ [f a-[𝕜]f b]
state_after: no goals
tactic: simp_rw [segment_eq_image_lineMap, mem_image, exists_exists_and_eq_and, AffineMap.apply_lineMap]
Theorem: LinearMap.BilinForm.compRight_id
File: Mathlib/LinearAlgebra/BilinearForm/Hom.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝⁷ : CommRing R₁
inst✝⁶ : AddCommGroup M₁
inst✝⁵ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝⁴ : Field K
inst✝³ : AddCommGroup V
inst✝² : Module K V
B✝ : BilinForm R M
B₁ : BilinForm R₁ M₁
M' : Type w
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
B : BilinForm R M
⊢ B.compRight id = B
state_after: case H
R : Type u_1
M : Type u_2
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝⁷ : CommRing R₁
inst✝⁶ : AddCommGroup M₁
inst✝⁵ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝⁴ : Field K
inst✝³ : AddCommGroup V
inst✝² : Module K V
B✝ : BilinForm R M
B₁ : BilinForm R₁ M₁
M' : Type w
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
B : BilinForm R M
x✝ y✝ : M
⊢ ((B.compRight id) x✝) y✝ = (B x✝) y✝
tactic: ext
state_before: case H
R : Type u_1
M : Type u_2
inst✝¹⁰ : CommSemiring R
inst✝⁹ : AddCommMonoid M
inst✝⁸ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝⁷ : CommRing R₁
inst✝⁶ : AddCommGroup M₁
inst✝⁵ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝⁴ : Field K
inst✝³ : AddCommGroup V
inst✝² : Module K V
B✝ : BilinForm R M
B₁ : BilinForm R₁ M₁
M' : Type w
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
B : BilinForm R M
x✝ y✝ : M
⊢ ((B.compRight id) x✝) y✝ = (B x✝) y✝
state_after: no goals
tactic: rfl
Theorem: CategoryTheory.Limits.BinaryCofan.isColimit_iff_isIso_inr
File: Mathlib/CategoryTheory/Limits/Shapes/BinaryProducts.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
X✝ Y✝ X Y : C
h : IsInitial X
c : BinaryCofan X Y
⊢ Nonempty (IsColimit c) ↔ IsIso c.inr
state_after: C : Type u
inst✝ : Category.{v, u} C
X✝ Y✝ X Y : C
h : IsInitial X
c : BinaryCofan X Y
⊢ Nonempty (IsColimit c) ↔ Nonempty (IsColimit (mk c.inr c.inl))
tactic: refine Iff.trans ?_ (BinaryCofan.isColimit_iff_isIso_inl h (BinaryCofan.mk c.inr c.inl))
state_before: C : Type u
inst✝ : Category.{v, u} C
X✝ Y✝ X Y : C
h : IsInitial X
c : BinaryCofan X Y
⊢ Nonempty (IsColimit c) ↔ Nonempty (IsColimit (mk c.inr c.inl))
state_after: no goals
tactic: exact
    ⟨fun h => ⟨BinaryCofan.isColimitFlip h.some⟩, fun h =>
      ⟨(BinaryCofan.isColimitFlip h.some).ofIsoColimit (isoBinaryCofanMk c).symm⟩⟩
Theorem: Set.image_mul_right'
File: Mathlib/Data/Set/Pointwise/Basic.lean

Proof steps:
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝ : Group α
s t : Set α
a b : α
⊢ (fun x => x * b⁻¹) '' t = (fun x => x * b) ⁻¹' t
state_after: no goals
tactic: simp
Theorem: MvPolynomial.homogeneousSubmodule_eq_finsupp_supported
File: Mathlib/RingTheory/MvPolynomial/Homogeneous.lean

Proof steps:
state_before: σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
inst✝¹ inst✝ : CommSemiring R
n : ℕ
⊢ homogeneousSubmodule σ R n = supported R R {d | d.degree = n}
state_after: σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
inst✝¹ inst✝ : CommSemiring R
n : ℕ
⊢ homogeneousSubmodule σ R n = supported R R {d | (weight 1) d = n}
tactic: simp_rw [degree_eq_weight_one]
state_before: σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
inst✝¹ inst✝ : CommSemiring R
n : ℕ
⊢ homogeneousSubmodule σ R n = supported R R {d | (weight 1) d = n}
state_after: no goals
tactic: exact weightedHomogeneousSubmodule_eq_finsupp_supported R 1 n
Theorem: MvPolynomial.eval₂_eq'
File: Mathlib/Algebra/MvPolynomial/Basic.lean

Proof steps:
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
g✝ : σ → S₁
inst✝ : Fintype σ
g : R →+* S₁
X : σ → S₁
f : MvPolynomial σ R
⊢ eval₂ g X f = ∑ d ∈ f.support, g (coeff d f) * ∏ i : σ, X i ^ d i
state_after: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
g✝ : σ → S₁
inst✝ : Fintype σ
g : R →+* S₁
X : σ → S₁
f : MvPolynomial σ R
⊢ ∑ d ∈ f.support, g (coeff d f) * ∏ i ∈ d.support, X i ^ d i =
    ∑ x ∈ f.support, g (coeff x f) * x.prod fun a b => X a ^ b
tactic: simp only [eval₂_eq, ← Finsupp.prod_pow]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
g✝ : σ → S₁
inst✝ : Fintype σ
g : R →+* S₁
X : σ → S₁
f : MvPolynomial σ R
⊢ ∑ d ∈ f.support, g (coeff d f) * ∏ i ∈ d.support, X i ^ d i =
    ∑ x ∈ f.support, g (coeff x f) * x.prod fun a b => X a ^ b
state_after: no goals
tactic: rfl
Theorem: Bornology.isVonNBounded_iff_smul_tendsto_zero
File: Mathlib/Analysis/LocallyConvex/Bounded.lean

Proof steps:
state_before: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
E' : Type u_4
F : Type u_5
ι : Type u_6
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousSMul 𝕜 E
ε : ι → 𝕜
l : Filter ι
inst✝ : l.NeBot
hε : Tendsto ε l (𝓝[≠] 0)
S : Set E
⊢ ∀ᶠ (n : ι) in l, ε n ≠ 0
state_after: no goals
tactic: exact hε self_mem_nhdsWithin
Theorem: CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux
File: Mathlib/CategoryTheory/Abelian/Pseudoelements.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Abelian C
P Q : C
f : Over P
x✝ : f ≈ Over.mk 0
R : C
p : R ⟶ f.left
q : R ⟶ (Over.mk 0).left
ep : Epi p
w✝ : Epi q
comm : p ≫ f.hom = q ≫ (Over.mk 0).hom
⊢ p ≫ f.hom = 0
state_after: no goals
tactic: simp [comm]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Abelian C
P Q : C
f : Over P
hf : f.hom = 0
⊢ biprod.fst ≫ f.hom = biprod.snd ≫ (Over.mk 0).hom
state_after: no goals
tactic: rw [hf, Over.coe_hom, HasZeroMorphisms.comp_zero, HasZeroMorphisms.comp_zero]
Theorem: DFA.evalFrom_reindex
File: Mathlib/Computability/DFA.lean

Proof steps:
state_before: α : Type u
σ : Type v
M : DFA α σ
α' : Type u_1
σ' : Type u_2
g : σ ≃ σ'
s : σ'
x : List α
⊢ ((reindex g) M).evalFrom s x = g (M.evalFrom (g.symm s) x)
state_after: no goals
tactic: induction x using List.list_reverse_induction with
  | base => simp
  | ind x a ih => simp [ih]
Theorem: Rat.MulRingNorm.exists_minimal_nat_zero_lt_mulRingNorm_lt_one
File: Mathlib/NumberTheory/Ostrowski.lean

Proof steps:
state_before: case intro.intro
f g : MulRingNorm ℚ
hf_nontriv : f ≠ 1
bdd : ∀ (n : ℕ), f ↑n ≤ 1
n : ℕ
hn1 : n ≠ 0
hn2 : f ↑n ≠ 1
⊢ ∃ p, (0 < f ↑p ∧ f ↑p < 1) ∧ ∀ (m : ℕ), 0 < f ↑m ∧ f ↑m < 1 → p ≤ m
state_after: case intro.intro
f g : MulRingNorm ℚ
hf_nontriv : f ≠ 1
bdd : ∀ (n : ℕ), f ↑n ≤ 1
n : ℕ
hn1 : n ≠ 0
hn2 : f ↑n ≠ 1
P : Set ℕ := {m | 0 < f ↑m ∧ f ↑m < 1}
⊢ ∃ p, (0 < f ↑p ∧ f ↑p < 1) ∧ ∀ (m : ℕ), 0 < f ↑m ∧ f ↑m < 1 → p ≤ m
tactic: set P := {m : ℕ | 0 < f ↑m ∧ f ↑m < 1}
state_before: case intro.intro
f g : MulRingNorm ℚ
hf_nontriv : f ≠ 1
bdd : ∀ (n : ℕ), f ↑n ≤ 1
n : ℕ
hn1 : n ≠ 0
hn2 : f ↑n ≠ 1
P : Set ℕ := {m | 0 < f ↑m ∧ f ↑m < 1}
⊢ ∃ p, (0 < f ↑p ∧ f ↑p < 1) ∧ ∀ (m : ℕ), 0 < f ↑m ∧ f ↑m < 1 → p ≤ m
state_after: case intro.intro
f g : MulRingNorm ℚ
hf_nontriv : f ≠ 1
bdd : ∀ (n : ℕ), f ↑n ≤ 1
n : ℕ
hn1 : n ≠ 0
hn2 : f ↑n ≠ 1
P : Set ℕ := {m | 0 < f ↑m ∧ f ↑m < 1}
hP : P.Nonempty
⊢ ∃ p, (0 < f ↑p ∧ f ↑p < 1) ∧ ∀ (m : ℕ), 0 < f ↑m ∧ f ↑m < 1 → p ≤ m
tactic: have hP : P.Nonempty :=
    ⟨n, map_pos_of_ne_zero f (Nat.cast_ne_zero.mpr hn1), lt_of_le_of_ne (bdd n) hn2⟩
state_before: case intro.intro
f g : MulRingNorm ℚ
hf_nontriv : f ≠ 1
bdd : ∀ (n : ℕ), f ↑n ≤ 1
n : ℕ
hn1 : n ≠ 0
hn2 : f ↑n ≠ 1
P : Set ℕ := {m | 0 < f ↑m ∧ f ↑m < 1}
hP : P.Nonempty
⊢ ∃ p, (0 < f ↑p ∧ f ↑p < 1) ∧ ∀ (m : ℕ), 0 < f ↑m ∧ f ↑m < 1 → p ≤ m
state_after: no goals
tactic: exact ⟨sInf P, Nat.sInf_mem hP, fun m hm ↦ Nat.sInf_le hm⟩
Theorem: MeasureTheory.toReal_rnDeriv_tilted_left
File: Mathlib/MeasureTheory/Measure/Tilted.lean

Proof steps:
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
⊢ (fun x => ((μ.tilted f).rnDeriv ν x).toReal) =ᶠ[ae ν] fun x =>
    (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * (μ.rnDeriv ν x).toReal
state_after: case h
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
x : α
hx : (μ.tilted f).rnDeriv ν x = ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x
⊢ ((μ.tilted f).rnDeriv ν x).toReal = (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * (μ.rnDeriv ν x).toReal
tactic: filter_upwards [rnDeriv_tilted_left μ hfν] with x hx
state_before: case h
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
x : α
hx : (μ.tilted f).rnDeriv ν x = ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x
⊢ ((μ.tilted f).rnDeriv ν x).toReal = (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * (μ.rnDeriv ν x).toReal
state_after: case h
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
x : α
hx : (μ.tilted f).rnDeriv ν x = ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x
⊢ (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x).toReal =
    (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * (μ.rnDeriv ν x).toReal
tactic: rw [hx]
state_before: case h
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
x : α
hx : (μ.tilted f).rnDeriv ν x = ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x
⊢ (ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x).toReal =
    (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * (μ.rnDeriv ν x).toReal
state_after: case h
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
x : α
hx : (μ.tilted f).rnDeriv ν x = ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x
⊢ 0 ≤ rexp (f x) / ∫ (x : α), rexp (f x) ∂μ ∨ (μ.rnDeriv ν x).toReal = 0
tactic: simp only [ENNReal.toReal_mul, mul_eq_mul_right_iff, ENNReal.toReal_ofReal_eq_iff]
state_before: case h
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SigmaFinite ν
hfν : AEMeasurable f ν
x : α
hx : (μ.tilted f).rnDeriv ν x = ENNReal.ofReal (rexp (f x) / ∫ (x : α), rexp (f x) ∂μ) * μ.rnDeriv ν x
⊢ 0 ≤ rexp (f x) / ∫ (x : α), rexp (f x) ∂μ ∨ (μ.rnDeriv ν x).toReal = 0
state_after: no goals
tactic: exact Or.inl (by positivity)
Theorem: Nat.sum_divisorsAntidiagonal
File: Mathlib/NumberTheory/Divisors.lean

Proof steps:
state_before: n✝ : ℕ
M : Type u_1
inst✝ : CommMonoid M
f : ℕ → ℕ → M
n : ℕ
⊢ ∏ i ∈ n.divisorsAntidiagonal, f i.1 i.2 = ∏ i ∈ n.divisors, f i (n / i)
state_after: n✝ : ℕ
M : Type u_1
inst✝ : CommMonoid M
f : ℕ → ℕ → M
n : ℕ
⊢ ∏ x ∈ n.divisors,
      f ({ toFun := fun d => (d, n / d), inj' := ⋯ } x).1 ({ toFun := fun d => (d, n / d), inj' := ⋯ } x).2 =
    ∏ i ∈ n.divisors, f i (n / i)
tactic: rw [← map_div_right_divisors, Finset.prod_map]
state_before: n✝ : ℕ
M : Type u_1
inst✝ : CommMonoid M
f : ℕ → ℕ → M
n : ℕ
⊢ ∏ x ∈ n.divisors,
      f ({ toFun := fun d => (d, n / d), inj' := ⋯ } x).1 ({ toFun := fun d => (d, n / d), inj' := ⋯ } x).2 =
    ∏ i ∈ n.divisors, f i (n / i)
state_after: no goals
tactic: rfl
Theorem: Finset.uIcc_eq_union
File: Mathlib/Order/Interval/Finset/Basic.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a a₁ a₂ b b₁ b₂ c x : α
⊢ ↑[[a, b]] = ↑(Icc a b ∪ Icc b a)
state_after: ι : Type u_1
α : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a a₁ a₂ b b₁ b₂ c x : α
⊢ Set.uIcc a b = Set.Icc a b ∪ Set.Icc b a
tactic: push_cast
state_before: ι : Type u_1
α : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a a₁ a₂ b b₁ b₂ c x : α
⊢ Set.uIcc a b = Set.Icc a b ∪ Set.Icc b a
state_after: no goals
tactic: exact Set.uIcc_eq_union
Theorem: DiscreteTopology.of_forall_le_norm'
File: Mathlib/Analysis/Normed/Group/Basic.lean

Proof steps:
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
hpos : 0 < r
hr : ∀ (x : E), x ≠ 1 → r ≤ ‖x‖
x y : E
hne : x ≠ y
⊢ (fun x x_1 => r ≤ dist x x_1) x y
state_after: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
hpos : 0 < r
hr : ∀ (x : E), x ≠ 1 → r ≤ ‖x‖
x y : E
hne : x ≠ y
⊢ r ≤ ‖x / y‖
tactic: simp only [dist_eq_norm_div]
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
hpos : 0 < r
hr : ∀ (x : E), x ≠ 1 → r ≤ ‖x‖
x y : E
hne : x ≠ y
⊢ r ≤ ‖x / y‖
state_after: no goals
tactic: exact hr _ (div_ne_one.2 hne)