ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: ValuationSubring.idealOfLE_le_of_le
File: Mathlib/RingTheory/Valuation/ValuationSubring.lean

Proof steps:
state_before: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
⊢ R.valuation ↑((A.inclusion R hR) x) < 1
state_after: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : ¬R.valuation ↑((A.inclusion R hR) x) < 1
⊢ False
tactic: by_contra c
state_before: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : ¬R.valuation ↑((A.inclusion R hR) x) < 1
⊢ False
state_after: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : 1 ≤ R.valuation ↑((A.inclusion R hR) x)
⊢ False
tactic: push_neg at c
state_before: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : 1 ≤ R.valuation ↑((A.inclusion R hR) x)
⊢ False
state_after: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : (R.mapOfLE S h) 1 ≤ (R.mapOfLE S h) (R.valuation ↑((A.inclusion R hR) x))
⊢ False
tactic: replace c := monotone_mapOfLE R S h c
state_before: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : (R.mapOfLE S h) 1 ≤ (R.mapOfLE S h) (R.valuation ↑((A.inclusion R hR) x))
⊢ False
state_after: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : 1 ≤ S.valuation ↑((A.inclusion R hR) x)
⊢ False
tactic: rw [(mapOfLE _ _ _).map_one, mapOfLE_valuation_apply] at c
state_before: K : Type u
inst✝ : Field K
A R S : ValuationSubring K
hR : A ≤ R
hS : A ≤ S
h : R ≤ S
x : ↥A
hx : x ∈ A.idealOfLE S hS
c : 1 ≤ S.valuation ↑((A.inclusion R hR) x)
⊢ False
state_after: no goals
tactic: apply not_le_of_lt ((valuation_lt_one_iff S _).1 hx) c
Theorem: StarConvex.affine_preimage
File: Mathlib/Analysis/Convex/Star.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y : E
s✝ t : Set E
f : E →ᵃ[𝕜] F
s : Set F
hs : StarConvex 𝕜 (f x) s
⊢ StarConvex 𝕜 x (⇑f ⁻¹' s)
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y✝ : E
s✝ t : Set E
f : E →ᵃ[𝕜] F
s : Set F
hs : StarConvex 𝕜 (f x) s
y : E
hy : y ∈ ⇑f ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ ⇑f ⁻¹' s
tactic: intro y hy a b ha hb hab
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y✝ : E
s✝ t : Set E
f : E →ᵃ[𝕜] F
s : Set F
hs : StarConvex 𝕜 (f x) s
y : E
hy : y ∈ ⇑f ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • x + b • y ∈ ⇑f ⁻¹' s
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y✝ : E
s✝ t : Set E
f : E →ᵃ[𝕜] F
s : Set F
hs : StarConvex 𝕜 (f x) s
y : E
hy : y ∈ ⇑f ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • f x + b • f y ∈ s
tactic: rw [mem_preimage, Convex.combo_affine_apply hab]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y✝ : E
s✝ t : Set E
f : E →ᵃ[𝕜] F
s : Set F
hs : StarConvex 𝕜 (f x) s
y : E
hy : y ∈ ⇑f ⁻¹' s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • f x + b • f y ∈ s
state_after: no goals
tactic: exact hs hy ha hb hab
Theorem: CategoryTheory.MonoidalCategory.whiskerLeft_hom_inv
File: Mathlib/CategoryTheory/Monoidal/Category.lean

Proof steps:
state_before: C : Type u
𝒞 : Category.{v, u} C
inst✝ : MonoidalCategory C
X Y Z : C
f : Y ≅ Z
⊢ X ◁ f.hom ≫ X ◁ f.inv = 𝟙 (X ⊗ Y)
state_after: no goals
tactic: rw [← whiskerLeft_comp, hom_inv_id, whiskerLeft_id]
Theorem: PolyEquivTensor.left_inv
File: Mathlib/RingTheory/PolynomialAlgebra.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
inst✝² : CommSemiring R
inst✝¹ : Semiring A
inst✝ : Algebra R A
x : A ⊗[R] R[X]
⊢ invFun R A ((toFunAlgHom R A) x) = x
state_after: case refine_1
R : Type u_1
A : Type u_2
inst✝² : CommSemiring R
inst✝¹ : Semiring A
inst✝ : Algebra R A
x : A ⊗[R] R[X]
⊢ invFun R A ((toFunAlgHom R A) 0) = 0

case refine_2
R : Type u_1
A : Type u_2
inst✝² : CommSemiring R
inst✝¹ : Semiring A
inst✝ : Algebra R A
x : A ⊗[R] R[X]
⊢ ∀ (x : A) (y : R[X]), invFun R A ((toFunAlgHom R A) (x ⊗ₜ[R] y)) = x ⊗ₜ[R] y

case refine_3
R : Type u_1
A : Type u_2
inst✝² : CommSemiring R
inst✝¹ : Semiring A
inst✝ : Algebra R A
x : A ⊗[R] R[X]
⊢ ∀ (x y : A ⊗[R] R[X]),
    invFun R A ((toFunAlgHom R A) x) = x →
      invFun R A ((toFunAlgHom R A) y) = y → invFun R A ((toFunAlgHom R A) (x + y)) = x + y
tactic: refine TensorProduct.induction_on x ?_ ?_ ?_
Theorem: add_rotate
File: Mathlib/Algebra/Group/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
G : Type u_3
M : Type u_4
inst✝ : CommSemigroup G
a b c : G
⊢ a * b * c = b * c * a
state_after: no goals
tactic: simp only [mul_left_comm, mul_comm]
Theorem: Set.inter_biInter
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
ι : Type u_11
α : Type u_12
s : Set ι
hs : s.Nonempty
f : ι → Set α
t : Set α
⊢ ⋂ i ∈ s, t ∩ f i = t ∩ ⋂ i ∈ s, f i
state_after: α✝ : 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
ι : Type u_11
α : Type u_12
s : Set ι
hs : s.Nonempty
f : ι → Set α
t : Set α
⊢ ⋂ i ∈ s, t ∩ f i = ⋂ i ∈ s, f i ∩ t
tactic: rw [inter_comm, ← biInter_inter hs]
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
ι : Type u_11
α : Type u_12
s : Set ι
hs : s.Nonempty
f : ι → Set α
t : Set α
⊢ ⋂ i ∈ s, t ∩ f i = ⋂ i ∈ s, f i ∩ t
state_after: no goals
tactic: simp [inter_comm]
Theorem: FormalMultilinearSeries.rightInv_coeff
File: Mathlib/Analysis/Analytic/Inverse.lean

Proof steps:
state_before: 𝕜 : Type u_1
inst✝⁴ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
F : Type u_3
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
p : FormalMultilinearSeries 𝕜 E F
i : E ≃L[𝕜] F
n : ℕ
hn : 2 ≤ n
⊢ p.rightInv i n =
    -(↑i.symm).compContinuousMultilinearMap (∑ c ∈ {c | 1 < c.length}.toFinset, p.compAlongComposition (p.rightInv i) c)
state_after: no goals
tactic: match n with
  | 0 => exact False.elim (zero_lt_two.not_le hn)
  | 1 => exact False.elim (one_lt_two.not_le hn)
  | n + 2 =>
    simp only [rightInv, neg_inj]
    congr (config := { closePost := false }) 1
    ext v
    have N : 0 < n + 2 := by norm_num
    have : ((p 1) fun i : Fin 1 => 0) = 0 := ContinuousMultilinearMap.map_zero _
    simp [comp_rightInv_aux1 N, lt_irrefl n, this, comp_rightInv_aux2, -Set.toFinset_setOf]
Theorem: isOpen_analyticAt
File: Mathlib/Analysis/Analytic/Basic.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
inst✝ : CompleteSpace F
f : E → F
p : FormalMultilinearSeries 𝕜 E F
x y : E
r : ℝ≥0∞
⊢ IsOpen {x | AnalyticAt 𝕜 f x}
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
inst✝ : CompleteSpace F
f : E → F
p : FormalMultilinearSeries 𝕜 E F
x y : E
r : ℝ≥0∞
⊢ ∀ x ∈ {x | AnalyticAt 𝕜 f x}, {x | AnalyticAt 𝕜 f x} ∈ 𝓝 x
tactic: rw [isOpen_iff_mem_nhds]
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
inst✝ : CompleteSpace F
f : E → F
p : FormalMultilinearSeries 𝕜 E F
x y : E
r : ℝ≥0∞
⊢ ∀ x ∈ {x | AnalyticAt 𝕜 f x}, {x | AnalyticAt 𝕜 f x} ∈ 𝓝 x
state_after: case intro.intro
𝕜 : 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
inst✝ : CompleteSpace F
f : E → F
p✝ : FormalMultilinearSeries 𝕜 E F
x✝ y : E
r✝ : ℝ≥0∞
x : E
p : FormalMultilinearSeries 𝕜 E F
r : ℝ≥0∞
hr : HasFPowerSeriesOnBall f p x r
⊢ {x | AnalyticAt 𝕜 f x} ∈ 𝓝 x
tactic: rintro x ⟨p, r, hr⟩
state_before: case intro.intro
𝕜 : 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
inst✝ : CompleteSpace F
f : E → F
p✝ : FormalMultilinearSeries 𝕜 E F
x✝ y : E
r✝ : ℝ≥0∞
x : E
p : FormalMultilinearSeries 𝕜 E F
r : ℝ≥0∞
hr : HasFPowerSeriesOnBall f p x r
⊢ {x | AnalyticAt 𝕜 f x} ∈ 𝓝 x
state_after: no goals
tactic: exact mem_of_superset (EMetric.ball_mem_nhds _ hr.r_pos) fun y hy => hr.analyticAt_of_mem hy
Theorem: memPartitionSet_mem
File: Mathlib/Data/Set/MemPartition.lean

Proof steps:
state_before: α : Type u_1
f : ℕ → Set α
n : ℕ
a : α
⊢ memPartitionSet f n a ∈ memPartition f n
state_after: no goals
tactic: induction n with
  | zero => simp [memPartitionSet]
  | succ n ih =>
    classical
    rw [memPartitionSet_succ, memPartition_succ]
    refine ⟨memPartitionSet f n a, ?_⟩
    split_ifs <;> simp [ih]
Theorem: t0Space_iff_not_inseparable
File: Mathlib/Topology/Separation.lean

Proof steps:
state_before: X✝ : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X✝
X : Type u
inst✝ : TopologicalSpace X
⊢ T0Space X ↔ Pairwise fun x y => ¬Inseparable x y
state_after: no goals
tactic: simp only [t0Space_iff_inseparable, Ne, not_imp_not, Pairwise]
Theorem: Real.inv_logb
File: Mathlib/Analysis/SpecialFunctions/Log/Base.lean

Proof steps:
state_before: b✝ x y a b : ℝ
⊢ (logb a b)⁻¹ = logb b a
state_after: no goals
tactic: simp_rw [logb, inv_div]
Theorem: Homeomorph.isClosed_preimage
File: Mathlib/Topology/Homeomorph.lean

Proof steps:
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Z
X' : Type u_4
Y' : Type u_5
inst✝¹ : TopologicalSpace X'
inst✝ : TopologicalSpace Y'
h : X ≃ₜ Y
s : Set Y
⊢ IsClosed (⇑h ⁻¹' s) ↔ IsClosed s
state_after: no goals
tactic: simp only [← isOpen_compl_iff, ← preimage_compl, isOpen_preimage]
Theorem: MeasureTheory.lintegral_eq_of_lmarginal_eq
File: Mathlib/MeasureTheory/Integral/Marginal.lean

Proof steps:
state_before: δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝³ : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝² : ∀ (i : δ), SigmaFinite (μ i)
inst✝¹ : DecidableEq δ
s✝ t : Finset δ
f✝ g✝ : ((i : δ) → π i) → ℝ≥0∞
x y : (i : δ) → π i
i : δ
inst✝ : Fintype δ
s : Finset δ
f g : ((i : δ) → π i) → ℝ≥0∞
hf : Measurable f
hg : Measurable g
hfg : ∫⋯∫⁻_s, f ∂μ = ∫⋯∫⁻_s, g ∂μ
⊢ ∫⁻ (x : (i : δ) → π i), f x ∂Measure.pi μ = ∫⁻ (x : (i : δ) → π i), g x ∂Measure.pi μ
state_after: case inl
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝³ : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝² : ∀ (i : δ), SigmaFinite (μ i)
inst✝¹ : DecidableEq δ
s✝ t : Finset δ
f✝ g✝ : ((i : δ) → π i) → ℝ≥0∞
x y : (i : δ) → π i
i : δ
inst✝ : Fintype δ
s : Finset δ
f g : ((i : δ) → π i) → ℝ≥0∞
hf : Measurable f
hg : Measurable g
hfg : ∫⋯∫⁻_s, f ∂μ = ∫⋯∫⁻_s, g ∂μ
h : IsEmpty ((i : δ) → π i)
⊢ ∫⁻ (x : (i : δ) → π i), f x ∂Measure.pi μ = ∫⁻ (x : (i : δ) → π i), g x ∂Measure.pi μ

case inr.intro
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝³ : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝² : ∀ (i : δ), SigmaFinite (μ i)
inst✝¹ : DecidableEq δ
s✝ t : Finset δ
f✝ g✝ : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
inst✝ : Fintype δ
s : Finset δ
f g : ((i : δ) → π i) → ℝ≥0∞
hf : Measurable f
hg : Measurable g
hfg : ∫⋯∫⁻_s, f ∂μ = ∫⋯∫⁻_s, g ∂μ
x : (i : δ) → π i
⊢ ∫⁻ (x : (i : δ) → π i), f x ∂Measure.pi μ = ∫⁻ (x : (i : δ) → π i), g x ∂Measure.pi μ
tactic: rcases isEmpty_or_nonempty (∀ i, π i) with h|⟨⟨x⟩⟩
state_before: case inr.intro
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝³ : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝² : ∀ (i : δ), SigmaFinite (μ i)
inst✝¹ : DecidableEq δ
s✝ t : Finset δ
f✝ g✝ : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
inst✝ : Fintype δ
s : Finset δ
f g : ((i : δ) → π i) → ℝ≥0∞
hf : Measurable f
hg : Measurable g
hfg : ∫⋯∫⁻_s, f ∂μ = ∫⋯∫⁻_s, g ∂μ
x : (i : δ) → π i
⊢ ∫⁻ (x : (i : δ) → π i), f x ∂Measure.pi μ = ∫⁻ (x : (i : δ) → π i), g x ∂Measure.pi μ
state_after: no goals
tactic: simp_rw [lintegral_eq_lmarginal_univ x, lmarginal_eq_of_subset (Finset.subset_univ s) hf hg hfg]
Theorem: GenContFract.zeroth_conv_eq_h
File: Mathlib/Algebra/ContinuedFractions/Translations.lean

Proof steps:
state_before: K : Type u_1
g : GenContFract K
n : ℕ
inst✝ : DivisionRing K
⊢ g.convs 0 = g.h
state_after: no goals
tactic: simp [conv_eq_num_div_den, num_eq_conts_a, den_eq_conts_b, div_one]
Theorem: CommGroup.center_eq_top
File: Mathlib/GroupTheory/Subgroup/Center.lean

Proof steps:
state_before: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
⊢ center G = ⊤
state_after: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
⊢ ∀ (x : G), x ∈ center G
tactic: rw [eq_top_iff']
state_before: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
⊢ ∀ (x : G), x ∈ center G
state_after: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
x : G
⊢ x ∈ center G
tactic: intro x
state_before: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
x : G
⊢ x ∈ center G
state_after: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
x : G
⊢ ∀ (g : G), g * x = x * g
tactic: rw [Subgroup.mem_center_iff]
state_before: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
x : G
⊢ ∀ (g : G), g * x = x * g
state_after: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
x y : G
⊢ y * x = x * y
tactic: intro y
state_before: G✝ : Type u_1
inst✝¹ : Group G✝
G : Type u_2
inst✝ : CommGroup G
x y : G
⊢ y * x = x * y
state_after: no goals
tactic: exact mul_comm y x
Theorem: homTensorHomEquiv_apply
File: Mathlib/LinearAlgebra/Contraction.lean

Proof steps:
state_before: ι : Type w
R : Type u
M : Type v₁
N : Type v₂
P : Type v₃
Q : Type v₄
inst✝¹³ : CommRing R
inst✝¹² : AddCommGroup M
inst✝¹¹ : AddCommGroup N
inst✝¹⁰ : AddCommGroup P
inst✝⁹ : AddCommGroup Q
inst✝⁸ : Module R M
inst✝⁷ : Module R N
inst✝⁶ : Module R P
inst✝⁵ : Module R Q
inst✝⁴ : Free R M
inst✝³ : Module.Finite R M
inst✝² : Free R N
inst✝¹ : Module.Finite R N
inst✝ : Nontrivial R
x : (M →ₗ[R] P) ⊗[R] (N →ₗ[R] Q)
⊢ (homTensorHomEquiv R M N P Q) x = (homTensorHomMap R M N P Q) x
state_after: no goals
tactic: rw [← LinearEquiv.coe_toLinearMap, homTensorHomEquiv_toLinearMap]
Theorem: Memℓp.finset_sum
File: Mathlib/Analysis/Normed/Lp/lpSpace.lean

Proof steps:
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
hf : ∀ i ∈ s, Memℓp (f i) p
⊢ Memℓp (fun a => ∑ i ∈ s, f i a) p
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
hf : ∀ i ∈ s, Memℓp (f i) p
this : DecidableEq ι
⊢ Memℓp (fun a => ∑ i ∈ s, f i a) p
tactic: haveI : DecidableEq ι := Classical.decEq _
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
hf : ∀ i ∈ s, Memℓp (f i) p
this : DecidableEq ι
⊢ Memℓp (fun a => ∑ i ∈ s, f i a) p
state_after: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
this : DecidableEq ι
⊢ (∀ i ∈ s, Memℓp (f i) p) → Memℓp (fun a => ∑ i ∈ s, f i a) p
tactic: revert hf
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
this : DecidableEq ι
⊢ (∀ i ∈ s, Memℓp (f i) p) → Memℓp (fun a => ∑ i ∈ s, f i a) p
state_after: case refine_1
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
this : DecidableEq ι
⊢ (∀ i ∈ ∅, Memℓp (f i) p) → Memℓp (fun a => ∑ i ∈ ∅, f i a) p

case refine_2
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
ι : Type u_3
s : Finset ι
f : ι → (i : α) → E i
this : DecidableEq ι
⊢ ∀ ⦃a : ι⦄ {s : Finset ι},
    a ∉ s →
      ((∀ i ∈ s, Memℓp (f i) p) → Memℓp (fun a => ∑ i ∈ s, f i a) p) →
        (∀ i ∈ insert a s, Memℓp (f i) p) → Memℓp (fun a_3 => ∑ i ∈ insert a s, f i a_3) p
tactic: refine Finset.induction_on s ?_ ?_
Theorem: factorsThrough_of_gaussSum_ne_zero
File: Mathlib/NumberTheory/DirichletCharacter/GaussSum.lean

Proof steps:
state_before: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
⊢ χ.FactorsThrough d
state_after: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
⊢ (ZMod.unitsMap hd).ker ≤ (MulChar.toUnitHom χ).ker
tactic: rw [DirichletCharacter.factorsThrough_iff_ker_unitsMap hd]
state_before: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
⊢ (ZMod.unitsMap hd).ker ≤ (MulChar.toUnitHom χ).ker
state_after: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
u : (ZMod N)ˣ
hu : u ∈ (ZMod.unitsMap hd).ker
⊢ u ∈ (MulChar.toUnitHom χ).ker
tactic: intro u hu
state_before: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
u : (ZMod N)ˣ
hu : u ∈ (ZMod.unitsMap hd).ker
⊢ u ∈ (MulChar.toUnitHom χ).ker
state_after: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
u : (ZMod N)ˣ
hu : u ∈ (ZMod.unitsMap hd).ker
⊢ χ ↑u = ↑1
tactic: rw [MonoidHom.mem_ker, ← Units.eq_iff, MulChar.coe_toUnitHom]
state_before: N : ℕ
inst✝² : NeZero N
R : Type u_1
inst✝¹ : CommRing R
e : AddChar (ZMod N) R
inst✝ : IsDomain R
χ : DirichletCharacter R N
d : ℕ
hd : d ∣ N
he : e.mulShift ↑d = 1
h_ne : gaussSum χ e ≠ 0
u : (ZMod N)ˣ
hu : u ∈ (ZMod.unitsMap hd).ker
⊢ χ ↑u = ↑1
state_after: no goals
tactic: simpa only [Units.val_one, ne_eq, h_ne, not_false_eq_true, mul_eq_right₀] using
    gaussSum_aux_of_mulShift e χ hd he hu
Theorem: Ordinal.sup_sequence_lt_omega1
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

Proof steps:
state_before: α✝ : Type u_1
r : α✝ → α✝ → Prop
α : Type u_2
inst✝ : Countable α
o : α → Ordinal.{max u_3 u_2}
ho : ∀ (n : α), o n < (aleph 1).ord
⊢ sup o < (aleph 1).ord
state_after: α✝ : Type u_1
r : α✝ → α✝ → Prop
α : Type u_2
inst✝ : Countable α
o : α → Ordinal.{max u_3 u_2}
ho : ∀ (n : α), o n < (aleph 1).ord
⊢ Cardinal.lift.{u_3, u_2} #α < (aleph 1).ord.cof
tactic: apply sup_lt_ord_lift _ ho
state_before: α✝ : Type u_1
r : α✝ → α✝ → Prop
α : Type u_2
inst✝ : Countable α
o : α → Ordinal.{max u_3 u_2}
ho : ∀ (n : α), o n < (aleph 1).ord
⊢ Cardinal.lift.{u_3, u_2} #α < (aleph 1).ord.cof
state_after: α✝ : Type u_1
r : α✝ → α✝ → Prop
α : Type u_2
inst✝ : Countable α
o : α → Ordinal.{max u_3 u_2}
ho : ∀ (n : α), o n < (aleph 1).ord
⊢ Cardinal.lift.{u_3, u_2} #α < aleph 1
tactic: rw [Cardinal.isRegular_aleph_one.cof_eq]
state_before: α✝ : Type u_1
r : α✝ → α✝ → Prop
α : Type u_2
inst✝ : Countable α
o : α → Ordinal.{max u_3 u_2}
ho : ∀ (n : α), o n < (aleph 1).ord
⊢ Cardinal.lift.{u_3, u_2} #α < aleph 1
state_after: no goals
tactic: exact lt_of_le_of_lt mk_le_aleph0 aleph0_lt_aleph_one
Theorem: UpperHalfPlane.exp_half_dist
File: Mathlib/Analysis/Complex/UpperHalfPlane/Metric.lean

Proof steps:
state_before: z✝ w✝ : ℍ
r R : ℝ
z w : ℍ
⊢ rexp (dist z w / 2) = (dist ↑z ↑w + dist (↑z) ((starRingEnd ℂ) ↑w)) / (2 * √(z.im * w.im))
state_after: no goals
tactic: rw [← sinh_add_cosh, sinh_half_dist, cosh_half_dist, add_div]
Theorem: ProbabilityTheory.gaussianPDFReal_pos
File: Mathlib/Probability/Distributions/Gaussian.lean

Proof steps:
state_before: μ : ℝ
v : ℝ≥0
x : ℝ
hv : v ≠ 0
⊢ 0 < gaussianPDFReal μ v x
state_after: μ : ℝ
v : ℝ≥0
x : ℝ
hv : v ≠ 0
⊢ 0 < (√(2 * π * ↑v))⁻¹ * rexp (-(x - μ) ^ 2 / (2 * ↑v))
tactic: rw [gaussianPDFReal]
state_before: μ : ℝ
v : ℝ≥0
x : ℝ
hv : v ≠ 0
⊢ 0 < (√(2 * π * ↑v))⁻¹ * rexp (-(x - μ) ^ 2 / (2 * ↑v))
state_after: no goals
tactic: positivity
Theorem: antivary_inv
File: Mathlib/Algebra/Order/Monovary.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : OrderedCommGroup α
inst✝ : OrderedCommGroup β
s : Set ι
f f₁ f₂ : ι → α
g g₁ g₂ : ι → β
⊢ Antivary f⁻¹ g⁻¹ ↔ Antivary f g
state_after: no goals
tactic: simp
Theorem: schnirelmannDensity_setOf_prime
File: Mathlib/Combinatorics/Schnirelmann.lean

Proof steps:
state_before: ⊢ 1 ∉ setOf Nat.Prime
state_after: no goals
tactic: simp [Nat.not_prime_one]
Theorem: Right.inv_le_one_iff
File: Mathlib/Algebra/Order/Group/Unbundled/Basic.lean

Proof steps:
state_before: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : α
⊢ a⁻¹ ≤ 1 ↔ 1 ≤ a
state_after: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : α
⊢ a⁻¹ * a ≤ 1 * a ↔ 1 ≤ a
tactic: rw [← mul_le_mul_iff_right a]
state_before: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : α
⊢ a⁻¹ * a ≤ 1 * a ↔ 1 ≤ a
state_after: no goals
tactic: simp
Theorem: Nat.sum_properDivisors_prime_nsmul
File: Mathlib/NumberTheory/Divisors.lean

Proof steps:
state_before: n : ℕ
α : Type u_1
inst✝ : CommMonoid α
k p : ℕ
f : ℕ → α
h : Prime p
⊢ ∏ x ∈ (p ^ k).properDivisors, f x = ∏ x ∈ range k, f (p ^ x)
state_after: no goals
tactic: simp [h, properDivisors_prime_pow]
Theorem: MeasureTheory.tilted_apply_eq_ofReal_integral
File: Mathlib/MeasureTheory/Measure/Tilted.lean

Proof steps:
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f✝ : α → ℝ
inst✝ : SFinite μ
f : α → ℝ
s : Set α
⊢ (μ.tilted f) s = ENNReal.ofReal (∫ (a : α) in s, rexp (f a) / ∫ (x : α), rexp (f x) ∂μ ∂μ)
state_after: case pos
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f✝ : α → ℝ
inst✝ : SFinite μ
f : α → ℝ
s : Set α
hf : Integrable (fun x => rexp (f x)) μ
⊢ (μ.tilted f) s = ENNReal.ofReal (∫ (a : α) in s, rexp (f a) / ∫ (x : α), rexp (f x) ∂μ ∂μ)

case neg
α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f✝ : α → ℝ
inst✝ : SFinite μ
f : α → ℝ
s : Set α
hf : ¬Integrable (fun x => rexp (f x)) μ
⊢ (μ.tilted f) s = ENNReal.ofReal (∫ (a : α) in s, rexp (f a) / ∫ (x : α), rexp (f x) ∂μ ∂μ)
tactic: by_cases hf : Integrable (fun x ↦ exp (f x)) μ