ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: OmegaCompletePartialOrder.ContinuousHom.copy_apply
File: Mathlib/Order/OmegaCompletePartialOrder.lean

Proof steps:
state_before: α : Type u
α' : Type u_1
β : Type v
β' : Type u_2
γ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β
inst✝³ : OmegaCompletePartialOrder γ
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
f : α → β
g : α →𝒄 β
h : f = ⇑g
⊢ Continuous (g.copy f h)
state_after: α : Type u
α' : Type u_1
β : Type v
β' : Type u_2
γ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β
inst✝³ : OmegaCompletePartialOrder γ
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
f : α → β
g : α →𝒄 β
h : f = ⇑g
⊢ Continuous g.toOrderHom
tactic: rw [OrderHom.copy_eq]
state_before: α : Type u
α' : Type u_1
β : Type v
β' : Type u_2
γ : Type u_3
φ : Type u_4
inst✝⁵ : OmegaCompletePartialOrder α
inst✝⁴ : OmegaCompletePartialOrder β
inst✝³ : OmegaCompletePartialOrder γ
inst✝² : OmegaCompletePartialOrder φ
inst✝¹ : OmegaCompletePartialOrder α'
inst✝ : OmegaCompletePartialOrder β'
f : α → β
g : α →𝒄 β
h : f = ⇑g
⊢ Continuous g.toOrderHom
state_after: no goals
tactic: exact g.cont
Theorem: Real.nnnorm_two
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✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
⊢ ↑‖2‖₊ = ↑2
state_after: no goals
tactic: simp
Theorem: Set.image_sub_const_Ioo
File: Mathlib/Data/Set/Pointwise/Interval.lean

Proof steps:
state_before: α : Type u_1
inst✝ : OrderedAddCommGroup α
a b c : α
⊢ (fun x => x - a) '' Ioo b c = Ioo (b - a) (c - a)
state_after: no goals
tactic: simp [sub_eq_neg_add]
Theorem: Real.eulerMascheroniSeq_lt_eulerMascheroniSeq'
File: Mathlib/NumberTheory/Harmonic/EulerMascheroni.lean

Proof steps:
state_before: m n : ℕ
this : ∀ (r : ℕ), eulerMascheroniSeq r < eulerMascheroniSeq' r
⊢ eulerMascheroniSeq m < eulerMascheroniSeq' n
state_after: m n : ℕ
this : ∀ (r : ℕ), eulerMascheroniSeq r < eulerMascheroniSeq' r
⊢ eulerMascheroniSeq (max m n) < eulerMascheroniSeq' n
tactic: apply (strictMono_eulerMascheroniSeq.monotone (le_max_left m n)).trans_lt
state_before: m n : ℕ
this : ∀ (r : ℕ), eulerMascheroniSeq r < eulerMascheroniSeq' r
⊢ eulerMascheroniSeq (max m n) < eulerMascheroniSeq' n
state_after: no goals
tactic: exact (this _).trans_le (strictAnti_eulerMascheroniSeq'.antitone (le_max_right m n))
Theorem: AffineSubspace.mem_perpBisector_iff_inner_eq
File: Mathlib/Geometry/Euclidean/PerpBisector.lean

Proof steps:
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
c c₁ c₂ p₁ p₂ : P
⊢ c ∈ perpBisector p₁ p₂ ↔ ⟪c -ᵥ p₁, p₂ -ᵥ p₁⟫_ℝ = dist p₁ p₂ ^ 2 / 2
state_after: no goals
tactic: rw [mem_perpBisector_iff_inner_eq_zero, ← vsub_sub_vsub_cancel_right _ _ p₁, inner_sub_left,
    sub_eq_zero, midpoint_vsub_left, invOf_eq_inv, real_inner_smul_left, real_inner_self_eq_norm_sq,
    dist_eq_norm_vsub' V, div_eq_inv_mul]
Theorem: MeasureTheory.tendsto_measure_of_tendsto_indicator_of_isFiniteMeasure
File: Mathlib/MeasureTheory/Integral/Indicator.lean

Proof steps:
state_before: α : Type u_1
inst✝³ : MeasurableSpace α
A : Set α
ι : Type u_2
L : Filter ι
inst✝² : L.IsCountablyGenerated
As : ι → Set α
inst✝¹ : L.NeBot
μ : Measure α
inst✝ : IsFiniteMeasure μ
As_mble : ∀ (i : ι), MeasurableSet (As i)
h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A
⊢ Tendsto (fun i => μ (As i)) L (𝓝 (μ A))
state_after: α : Type u_1
inst✝³ : MeasurableSpace α
A : Set α
ι : Type u_2
L : Filter ι
inst✝² : L.IsCountablyGenerated
As : ι → Set α
inst✝¹ : L.NeBot
μ : Measure α
inst✝ : IsFiniteMeasure μ
As_mble : ∀ (i : ι), MeasurableSet (As i)
h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A
⊢ MeasurableSet A
tactic: apply tendsto_measure_of_ae_tendsto_indicator_of_isFiniteMeasure L ?_ As_mble (ae_of_all μ h_lim)
state_before: α : Type u_1
inst✝³ : MeasurableSpace α
A : Set α
ι : Type u_2
L : Filter ι
inst✝² : L.IsCountablyGenerated
As : ι → Set α
inst✝¹ : L.NeBot
μ : Measure α
inst✝ : IsFiniteMeasure μ
As_mble : ∀ (i : ι), MeasurableSet (As i)
h_lim : ∀ (x : α), ∀ᶠ (i : ι) in L, x ∈ As i ↔ x ∈ A
⊢ MeasurableSet A
state_after: no goals
tactic: exact measurableSet_of_tendsto_indicator L As_mble h_lim
Theorem: CompleteOrthogonalIdempotents.prod_one_sub
File: Mathlib/RingTheory/Idempotents.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
inst✝² : CommRing R
inst✝¹ : Ring S
f : R →+* S
I : Type u_3
inst✝ : Fintype I
e : I → R
he : CompleteOrthogonalIdempotents e
⊢ ∏ i : I, (1 - e i) = 0
state_after: no goals
tactic: rw [he.1.prod_one_sub, he.complete, sub_self]
Theorem: fermatLastTheoremThree_case_1
File: Mathlib/NumberTheory/FLT/Three.lean

Proof steps:
state_before: a b c : ℤ
hdvd : ¬3 ∣ a * b * c
⊢ a ^ 3 + b ^ 3 ≠ c ^ 3
state_after: a b c : ℤ
hdvd : (¬3 ∣ a ∧ ¬3 ∣ b) ∧ ¬3 ∣ c
⊢ a ^ 3 + b ^ 3 ≠ c ^ 3
tactic: simp_rw [Int.prime_three.dvd_mul, not_or] at hdvd
state_before: a b c : ℤ
hdvd : (¬3 ∣ a ∧ ¬3 ∣ b) ∧ ¬3 ∣ c
⊢ a ^ 3 + b ^ 3 ≠ c ^ 3
state_after: a b c : ℤ
hdvd : (¬3 ∣ a ∧ ¬3 ∣ b) ∧ ¬3 ∣ c
⊢ ¬↑(a ^ 3 + b ^ 3) = ↑(c ^ 3)
tactic: apply mt (congrArg (Int.cast : ℤ → ZMod 9))
state_before: a b c : ℤ
hdvd : (¬3 ∣ a ∧ ¬3 ∣ b) ∧ ¬3 ∣ c
⊢ ¬↑(a ^ 3 + b ^ 3) = ↑(c ^ 3)
state_after: a b c : ℤ
hdvd : (¬3 ∣ a ∧ ¬3 ∣ b) ∧ ¬3 ∣ c
⊢ ¬↑a ^ 3 + ↑b ^ 3 = ↑c ^ 3
tactic: simp_rw [Int.cast_add, Int.cast_pow]
state_before: a b c : ℤ
hdvd : (¬3 ∣ a ∧ ¬3 ∣ b) ∧ ¬3 ∣ c
⊢ ¬↑a ^ 3 + ↑b ^ 3 = ↑c ^ 3
state_after: no goals
tactic: rcases cube_of_not_dvd hdvd.1.1 with ha | ha <;>
  rcases cube_of_not_dvd hdvd.1.2 with hb | hb <;>
  rcases cube_of_not_dvd hdvd.2 with hc | hc <;>
  rw [ha, hb, hc] <;> decide
Theorem: Ideal.IsHomogeneous.iff_exists
File: Mathlib/RingTheory/GradedAlgebra/HomogeneousIdeal.lean

Proof steps:
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : SetLike σ A
inst✝³ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝² : DecidableEq ι
inst✝¹ : AddMonoid ι
inst✝ : GradedRing 𝒜
I : Ideal A
⊢ IsHomogeneous 𝒜 I ↔ ∃ S, I = span (Subtype.val '' S)
state_after: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : SetLike σ A
inst✝³ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝² : DecidableEq ι
inst✝¹ : AddMonoid ι
inst✝ : GradedRing 𝒜
I : Ideal A
⊢ I = (homogeneousCore 𝒜 I).toIdeal ↔ ∃ S, I = span (Subtype.val '' S)
tactic: rw [Ideal.IsHomogeneous.iff_eq, eq_comm]
state_before: ι : Type u_1
σ : Type u_2
R : Type u_3
A : Type u_4
inst✝⁵ : Semiring A
inst✝⁴ : SetLike σ A
inst✝³ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝² : DecidableEq ι
inst✝¹ : AddMonoid ι
inst✝ : GradedRing 𝒜
I : Ideal A
⊢ I = (homogeneousCore 𝒜 I).toIdeal ↔ ∃ S, I = span (Subtype.val '' S)
state_after: no goals
tactic: exact ((Set.image_preimage.compose (Submodule.gi _ _).gc).exists_eq_l _).symm
Theorem: Commute.sq_sub_sq
File: Mathlib/Algebra/Ring/Commute.lean

Proof steps:
state_before: α : Type u
β : Type v
γ : Type w
R : Type x
inst✝ : Ring R
a b : R
h : Commute a b
⊢ a ^ 2 - b ^ 2 = (a + b) * (a - b)
state_after: no goals
tactic: rw [sq, sq, h.mul_self_sub_mul_self_eq]
Theorem: MultilinearMap.domDomRestrict_aux_right
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₂
inst✝² : DecidableEq ι
P : ι → Prop
inst✝¹ : DecidablePred P
inst✝ : DecidableEq { a // ¬P a }
x : (i : { a // P a }) → M₁ ↑i
z : (i : { a // ¬P a }) → M₁ ↑i
i : { a // ¬P a }
c : M₁ ↑i
⊢ (fun j => if h : P j then x ⟨j, h⟩ else update z i c ⟨j, h⟩) =
    update (fun j => if h : P j then x ⟨j, h⟩ else z ⟨j, h⟩) (↑i) c
state_after: no goals
tactic: simpa only [dite_not] using domDomRestrict_aux _ z (fun j ↦ x ⟨j.1, not_not.mp j.2⟩) i c
Theorem: Complex.UnitDisc.coe_ne_neg_one
File: Mathlib/Analysis/Complex/UnitDisc/Basic.lean

Proof steps:
state_before: z : 𝔻
⊢ abs ↑z ≠ abs (-1)
state_after: z : 𝔻
⊢ abs ↑z ≠ 1
tactic: rw [abs.map_neg, map_one]
state_before: z : 𝔻
⊢ abs ↑z ≠ 1
state_after: no goals
tactic: exact z.abs_ne_one
Theorem: Real.Angle.sin_coe_pi
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean

Proof steps:
state_before: ⊢ (↑π).sin = 0
state_after: no goals
tactic: rw [sin_coe, Real.sin_pi]
Theorem: IsOpen.analyticSet_image
File: Mathlib/MeasureTheory/Constructions/Polish/Basic.lean

Proof steps:
state_before: α : Type u_1
ι : Type u_2
inst✝² : TopologicalSpace α
β : Type u_3
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
s : Set β
hs : IsOpen s
f : β → α
f_cont : Continuous f
⊢ AnalyticSet (f '' s)
state_after: α : Type u_1
ι : Type u_2
inst✝² : TopologicalSpace α
β : Type u_3
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
s : Set β
hs : IsOpen s
f : β → α
f_cont : Continuous f
⊢ AnalyticSet (range fun x => f ↑x)
tactic: rw [image_eq_range]
state_before: α : Type u_1
ι : Type u_2
inst✝² : TopologicalSpace α
β : Type u_3
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
s : Set β
hs : IsOpen s
f : β → α
f_cont : Continuous f
⊢ AnalyticSet (range fun x => f ↑x)
state_after: α : Type u_1
ι : Type u_2
inst✝² : TopologicalSpace α
β : Type u_3
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
s : Set β
hs : IsOpen s
f : β → α
f_cont : Continuous f
this : PolishSpace ↑s
⊢ AnalyticSet (range fun x => f ↑x)
tactic: haveI : PolishSpace s := hs.polishSpace
state_before: α : Type u_1
ι : Type u_2
inst✝² : TopologicalSpace α
β : Type u_3
inst✝¹ : TopologicalSpace β
inst✝ : PolishSpace β
s : Set β
hs : IsOpen s
f : β → α
f_cont : Continuous f
this : PolishSpace ↑s
⊢ AnalyticSet (range fun x => f ↑x)
state_after: no goals
tactic: exact analyticSet_range_of_polishSpace (f_cont.comp continuous_subtype_val)
Theorem: CFC.spectrum_one_eq
File: Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Unital.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : TopologicalSpace A
inst✝⁵ : Ring A
inst✝⁴ : StarRing A
inst✝³ : Algebra R A
inst✝² : ContinuousFunctionalCalculus R p
f g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝¹ : UniqueContinuousFunctionalCalculus R A
inst✝ : Nontrivial A
⊢ spectrum R 1 = {1}
state_after: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : TopologicalSpace A
inst✝⁵ : Ring A
inst✝⁴ : StarRing A
inst✝³ : Algebra R A
inst✝² : ContinuousFunctionalCalculus R p
f g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝¹ : UniqueContinuousFunctionalCalculus R A
inst✝ : Nontrivial A
this : 1 = (algebraMap R A) 1
⊢ spectrum R 1 = {1}
tactic: have : (1 : A) = algebraMap R A 1 := Eq.symm (RingHom.map_one (algebraMap R A))
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹¹ : CommSemiring R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : TopologicalSpace A
inst✝⁵ : Ring A
inst✝⁴ : StarRing A
inst✝³ : Algebra R A
inst✝² : ContinuousFunctionalCalculus R p
f g : R → R
a : A
ha : autoParam (p a) _auto✝
hf : autoParam (ContinuousOn f (spectrum R a)) _auto✝
hg : autoParam (ContinuousOn g (spectrum R a)) _auto✝
inst✝¹ : UniqueContinuousFunctionalCalculus R A
inst✝ : Nontrivial A
this : 1 = (algebraMap R A) 1
⊢ spectrum R 1 = {1}
state_after: no goals
tactic: rw [this, spectrum_algebraMap_eq]
Theorem: StarAlgHom.nnnorm_apply_le
File: Mathlib/Analysis/CstarAlgebra/Spectrum.lean

Proof steps:
state_before: F : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : NormedRing A
inst✝¹¹ : NormedAlgebra ℂ A
inst✝¹⁰ : CompleteSpace A
inst✝⁹ : StarRing A
inst✝⁸ : CstarRing A
inst✝⁷ : NormedRing B
inst✝⁶ : NormedAlgebra ℂ B
inst✝⁵ : CompleteSpace B
inst✝⁴ : StarRing B
inst✝³ : CstarRing B
inst✝² : FunLike F A B
inst✝¹ : AlgHomClass F ℂ A B
inst✝ : StarAlgHomClass F ℂ A B
φ : F
a : A
⊢ ‖φ a‖₊ ≤ ‖a‖₊
state_after: F : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : NormedRing A
inst✝¹¹ : NormedAlgebra ℂ A
inst✝¹⁰ : CompleteSpace A
inst✝⁹ : StarRing A
inst✝⁸ : CstarRing A
inst✝⁷ : NormedRing B
inst✝⁶ : NormedAlgebra ℂ B
inst✝⁵ : CompleteSpace B
inst✝⁴ : StarRing B
inst✝³ : CstarRing B
inst✝² : FunLike F A B
inst✝¹ : AlgHomClass F ℂ A B
inst✝ : StarAlgHomClass F ℂ A B
φ : F
a : A
⊢ ∀ (s : A), IsSelfAdjoint s → ‖φ s‖₊ ≤ ‖s‖₊
tactic: suffices ∀ s : A, IsSelfAdjoint s → ‖φ s‖₊ ≤ ‖s‖₊ by
    exact nonneg_le_nonneg_of_sq_le_sq zero_le' <| by
      simpa only [nnnorm_star_mul_self, map_star, map_mul]
      using this _ (IsSelfAdjoint.star_mul_self a)
state_before: F : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : NormedRing A
inst✝¹¹ : NormedAlgebra ℂ A
inst✝¹⁰ : CompleteSpace A
inst✝⁹ : StarRing A
inst✝⁸ : CstarRing A
inst✝⁷ : NormedRing B
inst✝⁶ : NormedAlgebra ℂ B
inst✝⁵ : CompleteSpace B
inst✝⁴ : StarRing B
inst✝³ : CstarRing B
inst✝² : FunLike F A B
inst✝¹ : AlgHomClass F ℂ A B
inst✝ : StarAlgHomClass F ℂ A B
φ : F
a : A
⊢ ∀ (s : A), IsSelfAdjoint s → ‖φ s‖₊ ≤ ‖s‖₊
state_after: F : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : NormedRing A
inst✝¹¹ : NormedAlgebra ℂ A
inst✝¹⁰ : CompleteSpace A
inst✝⁹ : StarRing A
inst✝⁸ : CstarRing A
inst✝⁷ : NormedRing B
inst✝⁶ : NormedAlgebra ℂ B
inst✝⁵ : CompleteSpace B
inst✝⁴ : StarRing B
inst✝³ : CstarRing B
inst✝² : FunLike F A B
inst✝¹ : AlgHomClass F ℂ A B
inst✝ : StarAlgHomClass F ℂ A B
φ : F
a s : A
hs : IsSelfAdjoint s
⊢ ‖φ s‖₊ ≤ ‖s‖₊
tactic: intro s hs
state_before: F : Type u_1
A : Type u_2
B : Type u_3
inst✝¹² : NormedRing A
inst✝¹¹ : NormedAlgebra ℂ A
inst✝¹⁰ : CompleteSpace A
inst✝⁹ : StarRing A
inst✝⁸ : CstarRing A
inst✝⁷ : NormedRing B
inst✝⁶ : NormedAlgebra ℂ B
inst✝⁵ : CompleteSpace B
inst✝⁴ : StarRing B
inst✝³ : CstarRing B
inst✝² : FunLike F A B
inst✝¹ : AlgHomClass F ℂ A B
inst✝ : StarAlgHomClass F ℂ A B
φ : F
a s : A
hs : IsSelfAdjoint s
⊢ ‖φ s‖₊ ≤ ‖s‖₊
state_after: no goals
tactic: simpa only [hs.spectralRadius_eq_nnnorm, (hs.starHom_apply φ).spectralRadius_eq_nnnorm,
    coe_le_coe] using
    show spectralRadius ℂ (φ s) ≤ spectralRadius ℂ s from
      iSup_le_iSup_of_subset (AlgHom.spectrum_apply_subset φ s)
Theorem: isOfFinAddOrder_of_finite
File: Mathlib/GroupTheory/OrderOfElement.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝¹ : LeftCancelMonoid G
inst✝ : Finite G
x✝ y : G
n : ℕ
x : G
⊢ IsOfFinOrder x
state_after: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝¹ : LeftCancelMonoid G
inst✝ : Finite G
x✝ y : G
n : ℕ
x : G
h : ¬IsOfFinOrder x
⊢ False
tactic: by_contra h
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝¹ : LeftCancelMonoid G
inst✝ : Finite G
x✝ y : G
n : ℕ
x : G
h : ¬IsOfFinOrder x
⊢ False
state_after: no goals
tactic: exact infinite_not_isOfFinOrder h <| Set.toFinite _
Theorem: MeasureTheory.Measure.QuasiMeasurePreserving.smul_ae_eq_of_ae_eq
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

Proof steps:
state_before: α✝ : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α✝
inst✝⁴ : MeasurableSpace β
inst✝³ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α✝
s✝ s' t✝ : Set α✝
f✝ : α✝ → β
μa μa' : Measure α✝
μb μb' : Measure β
μc : Measure γ
f : α✝ → β
G : Type u_8
α : Type u_9
inst✝² : Group G
inst✝¹ : MulAction G α
inst✝ : MeasurableSpace α
s t : Set α
μ : Measure α
g : G
h_qmp : QuasiMeasurePreserving (fun x => g⁻¹ • x) μ μ
h_ae_eq : s =ᵐ[μ] t
⊢ g • s =ᵐ[μ] g • t
state_after: no goals
tactic: simpa only [← preimage_smul_inv] using h_qmp.ae_eq h_ae_eq
Theorem: Rat.mul_inv_cancel
File: Mathlib/Data/Rat/Defs.lean

Proof steps:
state_before: q a b c : ℚ
n : ℤ
d : ℕ
hd : d ≠ 0
hn : n /. ↑d ≠ 0
⊢ n /. ↑d * (n /. ↑d)⁻¹ = 1
state_after: q a b c : ℚ
n : ℤ
d : ℕ
hd : d ≠ 0
hn : ¬n = 0
⊢ n /. ↑d * (n /. ↑d)⁻¹ = 1
tactic: simp only [divInt_ofNat, ne_eq, hd, not_false_eq_true, mkRat_eq_zero] at hn
state_before: q a b c : ℚ
n : ℤ
d : ℕ
hd : d ≠ 0
hn : ¬n = 0
⊢ n /. ↑d * (n /. ↑d)⁻¹ = 1
state_after: no goals
tactic: simp [-divInt_ofNat, mkRat_eq_divInt, Int.mul_comm, Int.mul_ne_zero hn (Int.ofNat_ne_zero.2 hd)]
Theorem: Filter.map_div_atTop_eq_nat
File: Mathlib/Order/Filter/AtTopBot.lean

Proof steps:
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
k : ℕ
hk : 0 < k
a b : ℕ
x✝ : b ≥ 1
⊢ a / k ≤ b ↔ a ≤ (fun b => b * k + (k - 1)) b
state_after: no goals
tactic: simp only [← Nat.lt_succ_iff, Nat.div_lt_iff_lt_mul hk, Nat.succ_eq_add_one,
      add_assoc, tsub_add_cancel_of_le (Nat.one_le_iff_ne_zero.2 hk.ne'), add_mul, one_mul]
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
k : ℕ
hk : 0 < k
b : ℕ
x✝ : b ≥ 1
⊢ b = b * k / k
state_after: no goals
tactic: rw [Nat.mul_div_cancel b hk]
Theorem: MeasureTheory.exists_integral_le
File: Mathlib/MeasureTheory/Integral/Average.lean

Proof steps:
state_before: α : Type u_1
E : Type u_2
F : Type u_3
m0 : MeasurableSpace α
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : CompleteSpace E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
inst✝¹ : CompleteSpace F
μ ν : Measure α
s t N : Set α
f : α → ℝ
inst✝ : IsProbabilityMeasure μ
hf : Integrable f μ
⊢ ∃ x, ∫ (a : α), f a ∂μ ≤ f x
state_after: no goals
tactic: simpa only [average_eq_integral] using exists_average_le (IsProbabilityMeasure.ne_zero μ) hf
Theorem: Inducing.mapClusterPt_iff
File: Mathlib/Topology/Maps/Basic.lean

Proof steps:
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
ι : Type u_4
f : X → Y
g : Y → Z
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
hf : Inducing f
x : X
l : Filter X
⊢ MapClusterPt (f x) l f ↔ ClusterPt x l
state_after: X : Type u_1
Y : Type u_2
Z : Type u_3
ι : Type u_4
f : X → Y
g : Y → Z
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
hf : Inducing f
x : X
l : Filter X
⊢ (𝓝 (f x) ⊓ map f l).NeBot ↔ (𝓝 x ⊓ l).NeBot
tactic: delta MapClusterPt ClusterPt
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
ι : Type u_4
f : X → Y
g : Y → Z
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
hf : Inducing f
x : X
l : Filter X
⊢ (𝓝 (f x) ⊓ map f l).NeBot ↔ (𝓝 x ⊓ l).NeBot
state_after: no goals
tactic: rw [← Filter.push_pull', ← hf.nhds_eq_comap, map_neBot_iff]
Theorem: AdjoinRoot.of.injective_of_degree_ne_zero
File: Mathlib/RingTheory/AdjoinRoot.lean

Proof steps:
state_before: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
⊢ Function.Injective ⇑(of f)
state_after: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
⊢ ∀ (a : R), (of f) a = 0 → a = 0
tactic: rw [injective_iff_map_eq_zero]
state_before: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
⊢ ∀ (a : R), (of f) a = 0 → a = 0
state_after: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
p : R
hp : (of f) p = 0
⊢ p = 0
tactic: intro p hp
state_before: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
p : R
hp : (of f) p = 0
⊢ p = 0
state_after: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
p : R
hp : f ∣ C p
⊢ p = 0
tactic: rw [AdjoinRoot.of, RingHom.comp_apply, AdjoinRoot.mk_eq_zero] at hp
state_before: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
p : R
hp : f ∣ C p
⊢ p = 0
state_after: case pos
R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
p : R
hp : f ∣ C p
h : f = 0
⊢ p = 0

case neg
R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
f : R[X]
inst✝ : IsDomain R
hf : f.degree ≠ 0
p : R
hp : f ∣ C p
h : ¬f = 0
⊢ p = 0
tactic: by_cases h : f = 0
Theorem: Matrix.det_apply'
File: Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean

Proof steps:
state_before: m : Type u_1
n : Type u_2
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
M : Matrix n n R
⊢ M.det = ∑ σ : Perm n, ↑↑(sign σ) * ∏ i : n, M (σ i) i
state_after: no goals
tactic: simp [det_apply, Units.smul_def]
Theorem: Equiv.bijOn
File: Mathlib/Data/Set/Function.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
π : α → Type u_5
e : α ≃ β
s : Set α
t : Set β
h : ∀ (a : α), e a ∈ t ↔ a ∈ s
b : β
hb : b ∈ t
⊢ e (e.symm b) ∈ t
state_after: no goals
tactic: rwa [apply_symm_apply]
Theorem: MeasureTheory.AEEqFun.coeFn_abs
File: Mathlib/MeasureTheory/Function/AEEqFun.lean

Proof steps:
state_before: α : Type u_1
β✝ : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁸ : MeasurableSpace α
μ ν : Measure α
inst✝⁷ : TopologicalSpace β✝
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : TopologicalSpace δ
β : Type u_5
inst✝⁴ : TopologicalSpace β
inst✝³ : Lattice β
inst✝² : TopologicalLattice β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f : α →ₘ[μ] β
⊢ ↑|f| =ᶠ[ae μ] fun x => |↑f x|
state_after: α : Type u_1
β✝ : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁸ : MeasurableSpace α
μ ν : Measure α
inst✝⁷ : TopologicalSpace β✝
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : TopologicalSpace δ
β : Type u_5
inst✝⁴ : TopologicalSpace β
inst✝³ : Lattice β
inst✝² : TopologicalLattice β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f : α →ₘ[μ] β
⊢ ↑(f ⊔ -f) =ᶠ[ae μ] fun x => ↑f x ⊔ -↑f x
tactic: simp_rw [abs]
state_before: α : Type u_1
β✝ : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁸ : MeasurableSpace α
μ ν : Measure α
inst✝⁷ : TopologicalSpace β✝
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : TopologicalSpace δ
β : Type u_5
inst✝⁴ : TopologicalSpace β
inst✝³ : Lattice β
inst✝² : TopologicalLattice β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f : α →ₘ[μ] β
⊢ ↑(f ⊔ -f) =ᶠ[ae μ] fun x => ↑f x ⊔ -↑f x
state_after: case h
α : Type u_1
β✝ : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁸ : MeasurableSpace α
μ ν : Measure α
inst✝⁷ : TopologicalSpace β✝
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : TopologicalSpace δ
β : Type u_5
inst✝⁴ : TopologicalSpace β
inst✝³ : Lattice β
inst✝² : TopologicalLattice β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f : α →ₘ[μ] β
x : α
hx_sup : ↑(f ⊔ -f) x = ↑f x ⊔ ↑(-f) x
hx_neg : ↑(-f) x = (-↑f) x
⊢ ↑(f ⊔ -f) x = ↑f x ⊔ -↑f x
tactic: filter_upwards [AEEqFun.coeFn_sup f (-f), AEEqFun.coeFn_neg f] with x hx_sup hx_neg
state_before: case h
α : Type u_1
β✝ : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁸ : MeasurableSpace α
μ ν : Measure α
inst✝⁷ : TopologicalSpace β✝
inst✝⁶ : TopologicalSpace γ
inst✝⁵ : TopologicalSpace δ
β : Type u_5
inst✝⁴ : TopologicalSpace β
inst✝³ : Lattice β
inst✝² : TopologicalLattice β
inst✝¹ : AddGroup β
inst✝ : TopologicalAddGroup β
f : α →ₘ[μ] β
x : α
hx_sup : ↑(f ⊔ -f) x = ↑f x ⊔ ↑(-f) x
hx_neg : ↑(-f) x = (-↑f) x
⊢ ↑(f ⊔ -f) x = ↑f x ⊔ -↑f x
state_after: no goals
tactic: rw [hx_sup, hx_neg, Pi.neg_apply]