ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: multiplicity.multiplicity_mk_eq_multiplicity
File: Mathlib/RingTheory/Multiplicity.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝² : CommMonoidWithZero α
inst✝¹ : DecidableRel fun x x_1 => x ∣ x_1
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
a b : α
⊢ multiplicity (Associates.mk a) (Associates.mk b) = multiplicity a b
state_after: case pos
α : Type u_1
β : Type u_2
inst✝² : CommMonoidWithZero α
inst✝¹ : DecidableRel fun x x_1 => x ∣ x_1
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
a b : α
h : Finite a b
⊢ multiplicity (Associates.mk a) (Associates.mk b) = multiplicity a b

case neg
α : Type u_1
β : Type u_2
inst✝² : CommMonoidWithZero α
inst✝¹ : DecidableRel fun x x_1 => x ∣ x_1
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
a b : α
h : ¬Finite a b
⊢ multiplicity (Associates.mk a) (Associates.mk b) = multiplicity a b
tactic: by_cases h : Finite a b
Theorem: IsPathConnected.union
File: Mathlib/Topology/Connected/PathConnected.lean

Proof steps:
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x y z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
hUV : (U ∩ V).Nonempty
⊢ IsPathConnected (U ∪ V)
state_after: case intro.intro
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
x : X
xU : x ∈ U
xV : x ∈ V
⊢ IsPathConnected (U ∪ V)
tactic: rcases hUV with ⟨x, xU, xV⟩
state_before: case intro.intro
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
x : X
xU : x ∈ U
xV : x ∈ V
⊢ IsPathConnected (U ∪ V)
state_after: case right
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
x : X
xU : x ∈ U
xV : x ∈ V
⊢ ∀ {y : X}, y ∈ U ∪ V → JoinedIn (U ∪ V) x y
tactic: use x, Or.inl xU
state_before: case right
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
x : X
xU : x ∈ U
xV : x ∈ V
⊢ ∀ {y : X}, y ∈ U ∪ V → JoinedIn (U ∪ V) x y
state_after: case right.inl
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y✝ z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
x : X
xU : x ∈ U
xV : x ∈ V
y : X
yU : y ∈ U
⊢ JoinedIn (U ∪ V) x y

case right.inr
X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x✝ y✝ z : X
ι : Type u_3
F U V : Set X
hU : IsPathConnected U
hV : IsPathConnected V
x : X
xU : x ∈ U
xV : x ∈ V
y : X
yV : y ∈ V
⊢ JoinedIn (U ∪ V) x y
tactic: rintro y (yU | yV)
Theorem: Submodule.le_comap_mkQ
File: Mathlib/LinearAlgebra/Quotient.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
r : R
x y : M
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
p p'✝ : Submodule R M
R₂ : Type u_3
M₂ : Type u_4
inst✝² : Ring R₂
inst✝¹ : AddCommGroup M₂
inst✝ : Module R₂ M₂
τ₁₂ : R →+* R₂
p' : Submodule R (M ⧸ p)
⊢ p ≤ comap p.mkQ p'
state_after: no goals
tactic: simpa using (comap_mono bot_le : ker p.mkQ ≤ comap p.mkQ p')
Theorem: MeasureTheory.unifTight_iff_ennreal
File: Mathlib/MeasureTheory/Function/UnifTight.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ UnifTight f p μ ↔ ∀ ⦃ε : ℝ≥0∞⦄, 0 < ε → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ε
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ UnifTight f p μ ↔
    (∀ (r : ℝ≥0), 0 < r → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑r) ∧
      (0 < ⊤ → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ⊤)
tactic: simp only [ENNReal.forall_ennreal, ENNReal.coe_pos]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ UnifTight f p μ ↔
    (∀ (r : ℝ≥0), 0 < r → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ↑r) ∧
      (0 < ⊤ → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ⊤)
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ 0 < ⊤ → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ⊤
tactic: refine (and_iff_left ?_).symm
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ 0 < ⊤ → ∃ s, μ s ≠ ⊤ ∧ ∀ (i : ι), eLpNorm (sᶜ.indicator (f i)) p μ ≤ ⊤
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ ∃ s, μ s ≠ ⊤
tactic: simp only [zero_lt_top, le_top, implies_true, and_true, true_implies]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ ∃ s, μ s ≠ ⊤
state_after: case h
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ μ ∅ ≠ ⊤
tactic: use ∅
state_before: case h
α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
μ✝ : Measure α
inst✝ : NormedAddCommGroup β
f✝ g : ι → α → β
p✝ : ℝ≥0∞
x✝ : MeasurableSpace α
f : ι → α → β
p : ℝ≥0∞
μ : Measure α
⊢ μ ∅ ≠ ⊤
state_after: no goals
tactic: simpa only [measure_empty] using zero_ne_top
Theorem: Bornology.IsVonNBounded.vadd
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✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousSMul 𝕜 E
inst✝ : ContinuousAdd E
s t : Set E
hs : IsVonNBounded 𝕜 s
x : E
⊢ IsVonNBounded 𝕜 (x +ᵥ s)
state_after: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
E' : Type u_4
F : Type u_5
ι : Type u_6
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousSMul 𝕜 E
inst✝ : ContinuousAdd E
s t : Set E
hs : IsVonNBounded 𝕜 s
x : E
⊢ IsVonNBounded 𝕜 ({x} +ᵥ s)
tactic: rw [← singleton_vadd]
state_before: 𝕜 : Type u_1
𝕜' : Type u_2
E : Type u_3
E' : Type u_4
F : Type u_5
ι : Type u_6
inst✝⁵ : NormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousSMul 𝕜 E
inst✝ : ContinuousAdd E
s t : Set E
hs : IsVonNBounded 𝕜 s
x : E
⊢ IsVonNBounded 𝕜 ({x} +ᵥ s)
state_after: no goals
tactic: exact IsVonNBounded.add (isVonNBounded_singleton x) hs
Theorem: MeasureTheory.tilted_comm
File: Mathlib/MeasureTheory/Measure/Tilted.lean

Proof steps:
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
hf : Integrable (fun x => rexp (f x)) μ
g : α → ℝ
hg : Integrable (fun x => rexp (g x)) μ
⊢ (μ.tilted f).tilted g = (μ.tilted g).tilted f
state_after: no goals
tactic: rw [tilted_tilted hf, add_comm, tilted_tilted hg]
Theorem: Cardinal.mk_bounded_subset
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

Proof steps:
state_before: α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
⊢ #{ s // Bounded r s } = #α
state_after: case inl
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha : #α = 0
⊢ #{ s // Bounded r s } = #α

case inr
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha : #α ≠ 0
⊢ #{ s // Bounded r s } = #α
tactic: rcases eq_or_ne #α 0 with (ha | ha)
state_before: case inr
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha : #α ≠ 0
⊢ #{ s // Bounded r s } = #α
state_after: case inr
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha : #α ≠ 0
h' : (#α).IsStrongLimit
⊢ #{ s // Bounded r s } = #α
tactic: have h' : IsStrongLimit #α := ⟨ha, h⟩
state_before: case inr
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha : #α ≠ 0
h' : (#α).IsStrongLimit
⊢ #{ s // Bounded r s } = #α
state_after: case inr
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha✝ : #α ≠ 0
h' : (#α).IsStrongLimit
ha : ℵ₀ ≤ #α
⊢ #{ s // Bounded r s } = #α
tactic: have ha := h'.isLimit.aleph0_le
state_before: case inr
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha✝ : #α ≠ 0
h' : (#α).IsStrongLimit
ha : ℵ₀ ≤ #α
⊢ #{ s // Bounded r s } = #α
state_after: case inr.a
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha✝ : #α ≠ 0
h' : (#α).IsStrongLimit
ha : ℵ₀ ≤ #α
⊢ #{ s // Bounded r s } ≤ #α

case inr.a
α✝ : Type u_1
r✝ : α✝ → α✝ → Prop
α : Type u_2
h : ∀ x < #α, 2 ^ x < #α
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (#α).ord = type r
ha✝ : #α ≠ 0
h' : (#α).IsStrongLimit
ha : ℵ₀ ≤ #α
⊢ #α ≤ #{ s // Bounded r s }
tactic: apply le_antisymm
Theorem: MonoidAlgebra.mem_ideal_span_of_image
File: Mathlib/Algebra/MonoidAlgebra/Ideal.lean

Proof steps:
state_before: k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
⊢ x ∈ Ideal.span (⇑(of k G) '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d * m'
state_after: k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
RHS : Ideal (MonoidAlgebra k G) :=
  { carrier := {p | ∀ m ∈ p.support, ∃ m' ∈ s, ∃ d, m = d * m'}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
⊢ x ∈ Ideal.span (⇑(of k G) '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d * m'
tactic: let RHS : Ideal (MonoidAlgebra k G) :=
    { carrier := { p | ∀ m : G, m ∈ p.support → ∃ m' ∈ s, ∃ d, m = d * m' }
      add_mem' := fun {x y} hx hy m hm => by
        classical exact (Finset.mem_union.1 <| Finsupp.support_add hm).elim (hx m) (hy m)
      zero_mem' := fun m hm => by cases hm
      smul_mem' := fun x y hy m hm => by
        classical
        rw [smul_eq_mul, mul_def] at hm
        replace hm := Finset.mem_biUnion.mp (Finsupp.support_sum hm)
        obtain ⟨xm, -, hm⟩ := hm
        replace hm := Finset.mem_biUnion.mp (Finsupp.support_sum hm)
        obtain ⟨ym, hym, hm⟩ := hm
        obtain rfl := Finset.mem_singleton.mp (Finsupp.support_single_subset hm)
        refine (hy _ hym).imp fun sm p => And.imp_right ?_ p
        rintro ⟨d, rfl⟩
        exact ⟨xm * d, (mul_assoc _ _ _).symm⟩ }
state_before: k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
RHS : Ideal (MonoidAlgebra k G) :=
  { carrier := {p | ∀ m ∈ p.support, ∃ m' ∈ s, ∃ d, m = d * m'}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
⊢ x ∈ Ideal.span (⇑(of k G) '' s) ↔ ∀ m ∈ x.support, ∃ m' ∈ s, ∃ d, m = d * m'
state_after: k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
RHS : Ideal (MonoidAlgebra k G) :=
  { carrier := {p | ∀ m ∈ p.support, ∃ m' ∈ s, ∃ d, m = d * m'}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
⊢ x ∈ Ideal.span (⇑(of k G) '' s) ↔ x ∈ RHS
tactic: change _ ↔ x ∈ RHS
state_before: k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
RHS : Ideal (MonoidAlgebra k G) :=
  { carrier := {p | ∀ m ∈ p.support, ∃ m' ∈ s, ∃ d, m = d * m'}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
⊢ x ∈ Ideal.span (⇑(of k G) '' s) ↔ x ∈ RHS
state_after: case mp
k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
RHS : Ideal (MonoidAlgebra k G) :=
  { carrier := {p | ∀ m ∈ p.support, ∃ m' ∈ s, ∃ d, m = d * m'}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
⊢ x ∈ Ideal.span (⇑(of k G) '' s) → x ∈ RHS

case mpr
k : Type u_1
A : Type u_2
G : Type u_3
inst✝¹ : Monoid G
inst✝ : Semiring k
s : Set G
x : MonoidAlgebra k G
RHS : Ideal (MonoidAlgebra k G) :=
  { carrier := {p | ∀ m ∈ p.support, ∃ m' ∈ s, ∃ d, m = d * m'}, add_mem' := ⋯, zero_mem' := ⋯, smul_mem' := ⋯ }
⊢ x ∈ RHS → x ∈ Ideal.span (⇑(of k G) '' s)
tactic: constructor
Theorem: le_add_iff_nonneg_right
File: Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝³ : MulOneClass α
inst✝² : LE α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : ContravariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b : α
⊢ a ≤ a * b ↔ a * 1 ≤ a * b
state_after: no goals
tactic: rw [mul_one]
Theorem: YoungDiagram.mk_mem_row_iff
File: Mathlib/Combinatorics/Young/YoungDiagram.lean

Proof steps:
state_before: μ : YoungDiagram
i j : ℕ
⊢ (i, j) ∈ μ.row i ↔ (i, j) ∈ μ
state_after: no goals
tactic: simp [row]
Theorem: _private.Mathlib.RingTheory.Jacobson.0.Ideal.Polynomial.isJacobson_polynomial_of_domain
File: Mathlib/RingTheory/Jacobson.lean

Proof steps:
state_before: R✝ : Type u_1
S : Type u_2
inst✝⁷ : CommRing R✝
inst✝⁶ : CommRing S
inst✝⁵ : IsDomain S
Rₘ : Type u_3
Sₘ : Type u_4
inst✝⁴ : CommRing Rₘ
inst✝³ : CommRing Sₘ
R : Type u_5
inst✝² : CommRing R
inst✝¹ : IsDomain R
hR : IsJacobson R
P : Ideal R[X]
inst✝ : P.IsPrime
hP : ∀ (x : R), C x ∈ P → x = 0
⊢ P.jacobson = P
state_after: case pos
R✝ : Type u_1
S : Type u_2
inst✝⁷ : CommRing R✝
inst✝⁶ : CommRing S
inst✝⁵ : IsDomain S
Rₘ : Type u_3
Sₘ : Type u_4
inst✝⁴ : CommRing Rₘ
inst✝³ : CommRing Sₘ
R : Type u_5
inst✝² : CommRing R
inst✝¹ : IsDomain R
hR : IsJacobson R
P : Ideal R[X]
inst✝ : P.IsPrime
hP : ∀ (x : R), C x ∈ P → x = 0
Pb : P = ⊥
⊢ P.jacobson = P

case neg
R✝ : Type u_1
S : Type u_2
inst✝⁷ : CommRing R✝
inst✝⁶ : CommRing S
inst✝⁵ : IsDomain S
Rₘ : Type u_3
Sₘ : Type u_4
inst✝⁴ : CommRing Rₘ
inst✝³ : CommRing Sₘ
R : Type u_5
inst✝² : CommRing R
inst✝¹ : IsDomain R
hR : IsJacobson R
P : Ideal R[X]
inst✝ : P.IsPrime
hP : ∀ (x : R), C x ∈ P → x = 0
Pb : ¬P = ⊥
⊢ P.jacobson = P
tactic: by_cases Pb : P = ⊥
Theorem: MeasureTheory.Measure.countable_meas_level_set_pos₀
File: Mathlib/MeasureTheory/Measure/Typeclasses.lean

Proof steps:
state_before: α✝ : Type u_1
β✝ : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝³ : MeasurableSpace β✝
μ✝ ν ν₁ ν₂ : Measure α✝
s t : Set α✝
α : Type u_5
β : Type u_6
x✝ : MeasurableSpace α
μ : Measure α
inst✝² : SFinite μ
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSingletonClass β
g : α → β
g_mble : NullMeasurable g μ
⊢ {t | 0 < μ {a | g a = t}}.Countable
state_after: α✝ : Type u_1
β✝ : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝³ : MeasurableSpace β✝
μ✝ ν ν₁ ν₂ : Measure α✝
s t : Set α✝
α : Type u_5
β : Type u_6
x✝ : MeasurableSpace α
μ : Measure α
inst✝² : SFinite μ
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSingletonClass β
g : α → β
g_mble : NullMeasurable g μ
level_sets_disjoint : Pairwise (Disjoint on fun t => {a | g a = t})
⊢ {t | 0 < μ {a | g a = t}}.Countable
tactic: have level_sets_disjoint : Pairwise (Disjoint on fun t : β => { a : α | g a = t }) :=
    fun s t hst => Disjoint.preimage g (disjoint_singleton.mpr hst)
state_before: α✝ : Type u_1
β✝ : Type u_2
δ : Type u_3
ι : Type u_4
m0 : MeasurableSpace α✝
inst✝³ : MeasurableSpace β✝
μ✝ ν ν₁ ν₂ : Measure α✝
s t : Set α✝
α : Type u_5
β : Type u_6
x✝ : MeasurableSpace α
μ : Measure α
inst✝² : SFinite μ
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSingletonClass β
g : α → β
g_mble : NullMeasurable g μ
level_sets_disjoint : Pairwise (Disjoint on fun t => {a | g a = t})
⊢ {t | 0 < μ {a | g a = t}}.Countable
state_after: no goals
tactic: exact Measure.countable_meas_pos_of_disjoint_iUnion₀
    (fun b => g_mble (‹MeasurableSingletonClass β›.measurableSet_singleton b))
    ((fun _ _ h ↦ Disjoint.aedisjoint (level_sets_disjoint h)))
Theorem: WeierstrassCurve.Affine.slope_of_Y_ne
File: Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean

Proof steps:
state_before: R : Type u
inst✝¹ : CommRing R
W✝ : Affine R
F : Type u
inst✝ : Field F
W : Affine F
x₁ x₂ y₁ y₂ : F
hx : x₁ = x₂
hy : y₁ ≠ W.negY x₂ y₂
⊢ W.slope x₁ x₂ y₁ y₂ = (3 * x₁ ^ 2 + 2 * W.a₂ * x₁ + W.a₄ - W.a₁ * y₁) / (y₁ - W.negY x₁ y₁)
state_after: no goals
tactic: rw [slope, if_pos hx, if_neg hy]
Theorem: Filter.Tendsto.div_atTop
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 : α → 𝕜
a : 𝕜
h : Tendsto f l (𝓝 a)
hg : Tendsto g l atTop
⊢ Tendsto (fun x => f x / g x) l (𝓝 0)
state_after: 𝕜 : Type u_1
α : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : TopologicalSpace 𝕜
inst✝ : OrderTopology 𝕜
l : Filter α
f g : α → 𝕜
a : 𝕜
h : Tendsto f l (𝓝 a)
hg : Tendsto g l atTop
⊢ Tendsto (fun x => f x * (g x)⁻¹) l (𝓝 0)
tactic: simp only [div_eq_mul_inv]
state_before: 𝕜 : Type u_1
α : Type u_2
inst✝² : LinearOrderedField 𝕜
inst✝¹ : TopologicalSpace 𝕜
inst✝ : OrderTopology 𝕜
l : Filter α
f g : α → 𝕜
a : 𝕜
h : Tendsto f l (𝓝 a)
hg : Tendsto g l atTop
⊢ Tendsto (fun x => f x * (g x)⁻¹) l (𝓝 0)
state_after: no goals
tactic: exact mul_zero a ▸ h.mul (tendsto_inv_atTop_zero.comp hg)
Theorem: Embedding.separableSpace
File: Mathlib/Topology/Bases.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : TopologicalSpace β
f✝ : α → β
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : SecondCountableTopology β
f : α → β
hf : _root_.Embedding f
⊢ SeparableSpace α
state_after: α : Type u_1
β : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : TopologicalSpace β
f✝ : α → β
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : SecondCountableTopology β
f : α → β
hf : _root_.Embedding f
this : SecondCountableTopology α
⊢ SeparableSpace α
tactic: have := hf.secondCountableTopology
state_before: α : Type u_1
β : Type u_2
inst✝⁴ : TopologicalSpace α
inst✝³ : TopologicalSpace β
f✝ : α → β
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : SecondCountableTopology β
f : α → β
hf : _root_.Embedding f
this : SecondCountableTopology α
⊢ SeparableSpace α
state_after: no goals
tactic: exact SecondCountableTopology.to_separableSpace
Theorem: List.one_le_prod_of_one_le
File: Mathlib/Algebra/Order/BigOperators/Group/List.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
l : List M
hl₁ : ∀ x ∈ l, 1 ≤ x
⊢ 1 ≤ l.prod
state_after: case nil
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hl₁ : ∀ x ∈ [], 1 ≤ x
⊢ 1 ≤ [].prod

case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ (hd :: tl).prod
tactic: induction' l with hd tl ih
state_before: case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ (hd :: tl).prod
state_after: case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ hd * tl.prod
tactic: rw [prod_cons]
state_before: case cons
ι : Type u_1
α : Type u_2
M : Type u_3
N : Type u_4
P : Type u_5
M₀ : Type u_6
G : Type u_7
R : Type u_8
inst✝² : Monoid M
inst✝¹ : Preorder M
inst✝ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
hd : M
tl : List M
ih : (∀ x ∈ tl, 1 ≤ x) → 1 ≤ tl.prod
hl₁ : ∀ x ∈ hd :: tl, 1 ≤ x
⊢ 1 ≤ hd * tl.prod
state_after: no goals
tactic: exact one_le_mul (hl₁ hd (mem_cons_self hd tl)) (ih fun x h => hl₁ x (mem_cons_of_mem hd h))
Theorem: Finset.powersetCard_empty_subsingleton
File: Mathlib/Data/Finset/Powerset.lean

Proof steps:
state_before: α : Type u_1
s✝ t✝ : Finset α
n✝ : ?m.14976
s t : Finset α
n : ℕ
⊢ (↑(powersetCard n ∅)).Subsingleton
state_after: no goals
tactic: simp [Set.Subsingleton, subset_empty]
Theorem: IsCyclotomicExtension.Rat.Three.lambda_pow_four_dvd_cube_sub_one_or_add_one_of_lambda_not_dvd
File: Mathlib/NumberTheory/Cyclotomic/Three.lean

Proof steps:
state_before: K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
x✝ x : 𝓞 K
h : ¬λ ∣ x
⊢ λ ^ 4 ∣ x ^ 3 - 1 ∨ λ ^ 4 ∣ x ^ 3 + 1
state_after: case inl
K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
x✝ x : 𝓞 K
h : ¬λ ∣ x
H : λ ∣ x
⊢ λ ^ 4 ∣ x ^ 3 - 1 ∨ λ ^ 4 ∣ x ^ 3 + 1

case inr.inl
K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
x✝ x : 𝓞 K
h : ¬λ ∣ x
H : λ ∣ x - 1
⊢ λ ^ 4 ∣ x ^ 3 - 1 ∨ λ ^ 4 ∣ x ^ 3 + 1

case inr.inr
K : Type u_1
inst✝² : Field K
inst✝¹ : NumberField K
inst✝ : IsCyclotomicExtension {3} ℚ K
ζ : K
hζ : IsPrimitiveRoot ζ ↑3
u : (𝓞 K)ˣ
x✝ x : 𝓞 K
h : ¬λ ∣ x
H : λ ∣ x + 1
⊢ λ ^ 4 ∣ x ^ 3 - 1 ∨ λ ^ 4 ∣ x ^ 3 + 1
tactic: rcases lambda_dvd_or_dvd_sub_one_or_dvd_add_one hζ x with H | H | H
Theorem: WithSeminorms.image_isVonNBounded_iff_seminorm_bounded
File: Mathlib/Analysis/LocallyConvex/WithSeminorms.lean

Proof steps:
state_before: 𝕜 : Type u_1
𝕜₂ : Type u_2
𝕝 : Type u_3
𝕝₂ : Type u_4
E : Type u_5
F : Type u_6
G : Type u_7
ι : Type u_8
ι' : Type u_9
inst✝⁴ : NontriviallyNormedField 𝕜
inst✝³ : AddCommGroup E
inst✝² : Module 𝕜 E
inst✝¹ : Nonempty ι
p : SeminormFamily 𝕜 E ι
inst✝ : TopologicalSpace E
f : G → E
s : Set G
hp : WithSeminorms p
⊢ Bornology.IsVonNBounded 𝕜 (f '' s) ↔ ∀ (i : ι), ∃ r > 0, ∀ x ∈ s, (p i) (f x) < r
state_after: no goals
tactic: simp_rw [hp.isVonNBounded_iff_seminorm_bounded, Set.forall_mem_image]
Theorem: exists_square_le
File: Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝² : MulOneClass α
inst✝¹ : LinearOrder α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
a : α
⊢ ∃ b, b * b ≤ a
state_after: case pos
α : Type u_1
β : Type u_2
inst✝² : MulOneClass α
inst✝¹ : LinearOrder α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
a : α
h : a < 1
⊢ ∃ b, b * b ≤ a

case neg
α : Type u_1
β : Type u_2
inst✝² : MulOneClass α
inst✝¹ : LinearOrder α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
a : α
h : ¬a < 1
⊢ ∃ b, b * b ≤ a
tactic: by_cases h : a < 1