tasksource/leandojo huggingface dataset:
Theorem: Module.End.hasEigenvalue_of_hasGeneralizedEigenvalue
File: Mathlib/LinearAlgebra/Eigenspace/Basic.lean

tactic: intro contra
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
k : ℕ
hμ : HasGeneralizedEigenvalue f μ k
⊢ HasEigenvalue f μ

tactic: apply hμ
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
k : ℕ
hμ : HasGeneralizedEigenvalue f μ k
contra : eigenspace f μ = ⊥
⊢ False

tactic: erw [LinearMap.ker_eq_bot] at contra ⊢
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
k : ℕ
hμ : HasGeneralizedEigenvalue f μ k
contra : eigenspace f μ = ⊥
⊢ ↑(generalizedEigenspace f μ) k = ⊥

tactic: rw [LinearMap.coe_pow]
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
k : ℕ
hμ : HasGeneralizedEigenvalue f μ k
contra : Function.Injective ↑(f - ↑(algebraMap R (End R M)) μ)
⊢ Function.Injective ↑((f - ↑(algebraMap R (End R M)) μ) ^ k)

tactic: exact Function.Injective.iterate contra k
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
μ : R
k : ℕ
hμ : HasGeneralizedEigenvalue f μ k
contra : Function.Injective ↑(f - ↑(algebraMap R (End R M)) μ)
⊢ Function.Injective (↑(f - ↑(algebraMap R (End R M)) μ)^[k])
Theorem: Submonoid.LocalizationMap.ofMulEquivOfDom_id
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: ext
state_before: M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type ?u.3102959
inst✝¹ : CommMonoid P
f : LocalizationMap S N
g : M →* P
hg : ∀ (y : { x // x ∈ S }), IsUnit (↑g ↑y)
T : Submonoid P
Q : Type ?u.3111444
inst✝ : CommMonoid Q
⊢ ofMulEquivOfDom f (_ : Submonoid.map (MulEquiv.toMonoidHom (MulEquiv.refl M)) S = S) = f

tactic: rfl
state_before: case h
M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type ?u.3102959
inst✝¹ : CommMonoid P
f : LocalizationMap S N
g : M →* P
hg : ∀ (y : { x // x ∈ S }), IsUnit (↑g ↑y)
T : Submonoid P
Q : Type ?u.3111444
inst✝ : CommMonoid Q
x✝ : M
⊢ ↑(toMap (ofMulEquivOfDom f (_ : Submonoid.map (MulEquiv.toMonoidHom (MulEquiv.refl M)) S = S))) x✝ = ↑(toMap f) x✝
Theorem: Ordinal.deriv_mul_eq_opow_omega_mul
File: Mathlib/SetTheory/Ordinal/FixedPoint.lean

tactic: revert b
state_before: a : Ordinal
ha : 0 < a
b : Ordinal
⊢ deriv (fun x => a * x) b = a ^ ω * b

tactic: rw [← funext_iff,
  IsNormal.eq_iff_zero_and_succ (deriv_isNormal _) (mul_isNormal (opow_pos omega ha))]
state_before: a : Ordinal
ha : 0 < a
⊢ ∀ (b : Ordinal), deriv (fun x => a * x) b = a ^ ω * b

tactic: refine' ⟨_, fun c h => _⟩
state_before: a : Ordinal
ha : 0 < a
⊢ deriv (fun x => a * x) 0 = (fun x x_1 => x * x_1) (a ^ ω) 0 ∧
    ∀ (a_1 : Ordinal),
      deriv (fun x => a * x) a_1 = (fun x x_1 => x * x_1) (a ^ ω) a_1 →
        deriv (fun x => a * x) (succ a_1) = (fun x x_1 => x * x_1) (a ^ ω) (succ a_1)

tactic: dsimp only
state_before: case refine'_1
a : Ordinal
ha : 0 < a
⊢ deriv (fun x => a * x) 0 = (fun x x_1 => x * x_1) (a ^ ω) 0

tactic: rw [deriv_zero, nfp_mul_zero, mul_zero]
state_before: case refine'_1
a : Ordinal
ha : 0 < a
⊢ deriv (fun x => a * x) 0 = a ^ ω * 0

tactic: rw [deriv_succ, h]
state_before: case refine'_2
a : Ordinal
ha : 0 < a
c : Ordinal
h : deriv (fun x => a * x) c = (fun x x_1 => x * x_1) (a ^ ω) c
⊢ deriv (fun x => a * x) (succ c) = (fun x x_1 => x * x_1) (a ^ ω) (succ c)

tactic: exact nfp_mul_opow_omega_add c ha zero_lt_one (one_le_iff_pos.2 (opow_pos _ ha))
state_before: case refine'_2
a : Ordinal
ha : 0 < a
c : Ordinal
h : deriv (fun x => a * x) c = (fun x x_1 => x * x_1) (a ^ ω) c
⊢ nfp (fun x => a * x) (succ ((fun x x_1 => x * x_1) (a ^ ω) c)) = (fun x x_1 => x * x_1) (a ^ ω) (succ c)
Theorem: EMetric.tendstoLocallyUniformlyOn_iff
File: Mathlib/Topology/MetricSpace/EMetricSpace.lean

tactic: refine' ⟨fun H ε hε => H _ (edist_mem_uniformity hε), fun H u hu x hx => _⟩
state_before: α : Type u
β : Type v
X : Type ?u.29841
inst✝¹ : PseudoEMetricSpace α
ι : Type u_1
inst✝ : TopologicalSpace β
F : ι → β → α
f : β → α
p : Filter ι
s : Set β
⊢ TendstoLocallyUniformlyOn F f p s ↔
    ∀ (ε : ℝ≥0∞),
      ε > 0 → ∀ (x : β), x ∈ s → ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → edist (f y) (F n y) < ε

tactic: rcases mem_uniformity_edist.1 hu with ⟨ε, εpos, hε⟩
state_before: α : Type u
β : Type v
X : Type ?u.29841
inst✝¹ : PseudoEMetricSpace α
ι : Type u_1
inst✝ : TopologicalSpace β
F : ι → β → α
f : β → α
p : Filter ι
s : Set β
H :
  ∀ (ε : ℝ≥0∞), ε > 0 → ∀ (x : β), x ∈ s → ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → edist (f y) (F n y) < ε
u : Set (α × α)
hu : u ∈ 𝓤 α
x : β
hx : x ∈ s
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → (f y, F n y) ∈ u

tactic: rcases H ε εpos x hx with ⟨t, ht, Ht⟩
state_before: case intro.intro
α : Type u
β : Type v
X : Type ?u.29841
inst✝¹ : PseudoEMetricSpace α
ι : Type u_1
inst✝ : TopologicalSpace β
F : ι → β → α
f : β → α
p : Filter ι
s : Set β
H :
  ∀ (ε : ℝ≥0∞), ε > 0 → ∀ (x : β), x ∈ s → ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → edist (f y) (F n y) < ε
u : Set (α × α)
hu : u ∈ 𝓤 α
x : β
hx : x ∈ s
ε : ℝ≥0∞
εpos : ε > 0
hε : ∀ {a b : α}, edist a b < ε → (a, b) ∈ u
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → (f y, F n y) ∈ u

tactic: exact ⟨t, ht, Ht.mono fun n hs x hx => hε (hs x hx)⟩
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
X : Type ?u.29841
inst✝¹ : PseudoEMetricSpace α
ι : Type u_1
inst✝ : TopologicalSpace β
F : ι → β → α
f : β → α
p : Filter ι
s : Set β
H :
  ∀ (ε : ℝ≥0∞), ε > 0 → ∀ (x : β), x ∈ s → ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → edist (f y) (F n y) < ε
u : Set (α × α)
hu : u ∈ 𝓤 α
x : β
hx : x ∈ s
ε : ℝ≥0∞
εpos : ε > 0
hε : ∀ {a b : α}, edist a b < ε → (a, b) ∈ u
t : Set β
ht : t ∈ 𝓝[s] x
Ht : ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → edist (f y) (F n y) < ε
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : β), y ∈ t → (f y, F n y) ∈ u
Theorem: SimpleGraph.Walk.copy_copy
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: subst_vars
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v u' v' u'' v'' : V
p : Walk G u v
hu : u = u'
hv : v = v'
hu' : u' = u''
hv' : v' = v''
⊢ Walk.copy (Walk.copy p hu hv) hu' hv' = Walk.copy p (_ : u = u'') (_ : v = v'')

tactic: rfl
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u'' v'' : V
p : Walk G u'' v''
⊢ Walk.copy (Walk.copy p (_ : u'' = u'') (_ : v'' = v'')) (_ : u'' = u'') (_ : v'' = v'') =
    Walk.copy p (_ : u'' = u'') (_ : v'' = v'')
Theorem: dvdNotUnit_of_dvdNotUnit_associated
File: Mathlib/Algebra/Associated.lean

tactic: obtain ⟨u, rfl⟩ := Associated.symm h'
state_before: α : Type u_1
β : Type ?u.348972
γ : Type ?u.348975
δ : Type ?u.348978
inst✝¹ : CommMonoidWithZero α
inst✝ : Nontrivial α
p q r : α
h : DvdNotUnit p q
h' : q ~ᵤ r
⊢ DvdNotUnit p r

tactic: obtain ⟨hp, x, hx⟩ := h
state_before: case intro
α : Type u_1
β : Type ?u.348972
γ : Type ?u.348975
δ : Type ?u.348978
inst✝¹ : CommMonoidWithZero α
inst✝ : Nontrivial α
p r : α
u : αˣ
h : DvdNotUnit p (r * ↑u)
h' : r * ↑u ~ᵤ r
⊢ DvdNotUnit p r

tactic: refine' ⟨hp, x * ↑u⁻¹, DvdNotUnit.not_unit ⟨u⁻¹.ne_zero, x, hx.left, mul_comm _ _⟩, _⟩
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.348972
γ : Type ?u.348975
δ : Type ?u.348978
inst✝¹ : CommMonoidWithZero α
inst✝ : Nontrivial α
p r : α
u : αˣ
h' : r * ↑u ~ᵤ r
hp : p ≠ 0
x : α
hx : ¬IsUnit x ∧ r * ↑u = p * x
⊢ DvdNotUnit p r

tactic: rw [← mul_assoc, ← hx.right, mul_assoc, Units.mul_inv, mul_one]
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.348972
γ : Type ?u.348975
δ : Type ?u.348978
inst✝¹ : CommMonoidWithZero α
inst✝ : Nontrivial α
p r : α
u : αˣ
h' : r * ↑u ~ᵤ r
hp : p ≠ 0
x : α
hx : ¬IsUnit x ∧ r * ↑u = p * x
⊢ r = p * (x * ↑u⁻¹)
Theorem: Metric.Sigma.isometry_mk
File: Mathlib/Topology/MetricSpace/Gluing.lean

tactic: simp
state_before: ι : Type u_2
E : ι → Type u_1
inst✝ : (i : ι) → MetricSpace (E i)
i : ι
x y : E i
⊢ dist { fst := i, snd := x } { fst := i, snd := y } = dist x y
Theorem: HahnSeries.addVal_le_of_coeff_ne_zero
File: Mathlib/RingTheory/HahnSeries.lean

tactic: rw [addVal_apply_of_ne (ne_zero_of_coeff_ne_zero h), WithTop.coe_le_coe]
state_before: Γ : Type u_1
R : Type u_2
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Ring R
inst✝ : IsDomain R
x : HahnSeries Γ R
g : Γ
h : coeff x g ≠ 0
⊢ ↑(addVal Γ R) x ≤ ↑g

tactic: exact order_le_of_coeff_ne_zero h
state_before: Γ : Type u_1
R : Type u_2
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Ring R
inst✝ : IsDomain R
x : HahnSeries Γ R
g : Γ
h : coeff x g ≠ 0
⊢ order x ≤ g
Theorem: MeasureTheory.tendstoInMeasure_of_tendsto_snorm
File: Mathlib/MeasureTheory/Function/ConvergenceInMeasure.lean

tactic: by_cases hp_ne_top : p = ∞
state_before: α : Type u_2
ι : Type u_1
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
l : Filter ι
hp_ne_zero : p ≠ 0
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
⊢ TendstoInMeasure μ f l g

tactic: subst hp_ne_top
state_before: case pos
α : Type u_2
ι : Type u_1
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
l : Filter ι
hp_ne_zero : p ≠ 0
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
hp_ne_top : p = ⊤
⊢ TendstoInMeasure μ f l g

tactic: exact tendstoInMeasure_of_tendsto_snorm_top hfg
state_before: case pos
α : Type u_2
ι : Type u_1
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
f : ι → α → E
g : α → E
l : Filter ι
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
hp_ne_zero : ⊤ ≠ 0
hfg : Tendsto (fun n => snorm (f n - g) ⊤ μ) l (𝓝 0)
⊢ TendstoInMeasure μ f l g

tactic: exact tendstoInMeasure_of_tendsto_snorm_of_ne_top hp_ne_zero hp_ne_top hf hg hfg
state_before: case neg
α : Type u_2
ι : Type u_1
E : Type u_3
m : MeasurableSpace α
μ : Measure α
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
f : ι → α → E
g : α → E
l : Filter ι
hp_ne_zero : p ≠ 0
hf : ∀ (n : ι), AEStronglyMeasurable (f n) μ
hg : AEStronglyMeasurable g μ
hfg : Tendsto (fun n => snorm (f n - g) p μ) l (𝓝 0)
hp_ne_top : ¬p = ⊤
⊢ TendstoInMeasure μ f l g
Theorem: HomologicalComplex.hom_f_injective
File: Mathlib/Algebra/Homology/HomologicalComplex.lean

tactic: aesop_cat
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category V
inst✝ : HasZeroMorphisms V
c : ComplexShape ι
C C₁ C₂ : HomologicalComplex V c
⊢ Function.Injective fun f => f.f
Theorem: closure_eq_inter_uniformity
File: Mathlib/Topology/UniformSpace/Basic.lean

tactic: simp only [compRel_assoc]
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort ?u.88389
inst✝ : UniformSpace α
t : Set (α × α)
⊢ (⋂ (V : Set (α × α)) (_ : V ∈ 𝓤 α), V ○ t ○ V) = ⋂ (V : Set (α × α)) (_ : V ∈ 𝓤 α), V ○ (t ○ V)
Theorem: Int.even_iff
File: Mathlib/Data/Int/Parity.lean

tactic: simp [← two_mul, hm]
state_before: m✝ n : ℤ
x✝ : Even n
m : ℤ
hm : n = m + m
⊢ n % 2 = 0

tactic: simp [← two_mul, h]
state_before: m n : ℤ
h : n % 2 = 0
⊢ n % 2 + 2 * (n / 2) = n / 2 + n / 2
Theorem: Dfinsupp.coprodMap_apply_single
File: Mathlib/LinearAlgebra/Dfinsupp.lean

tactic: simp [coprodMap_apply]
state_before: ι : Type u_4
R : Type u_1
S : Type ?u.308054
M : ι → Type u_2
N : Type u_3
dec_ι : DecidableEq ι
inst✝⁶ : Semiring R
inst✝⁵ : (i : ι) → AddCommMonoid (M i)
inst✝⁴ : (i : ι) → Module R (M i)
inst✝³ : AddCommMonoid N
inst✝² : Module R N
inst✝¹ : DecidableEq ι
inst✝ : (x : N) → Decidable (x ≠ 0)
f : (i : ι) → M i →ₗ[R] N
i : ι
x : M i
⊢ ↑(coprodMap f) (single i x) = ↑(f i) x
Theorem: Equiv.optionCongr_sign
File: Mathlib/GroupTheory/Perm/Option.lean

tactic: refine Perm.swap_induction_on e ?_ ?_
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
e : Perm α
⊢ ↑Perm.sign (optionCongr e) = ↑Perm.sign e

tactic: simp [Perm.one_def]
state_before: case refine_1
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
e : Perm α
⊢ ↑Perm.sign (optionCongr 1) = ↑Perm.sign 1

tactic: intro f x y hne h
state_before: case refine_2
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
e : Perm α
⊢ ∀ (f : Perm α) (x y : α),
    x ≠ y →
      ↑Perm.sign (optionCongr f) = ↑Perm.sign f → ↑Perm.sign (optionCongr (swap x y * f)) = ↑Perm.sign (swap x y * f)

tactic: simp [h, hne, Perm.mul_def, ← Equiv.optionCongr_trans]
state_before: case refine_2
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
e f : Perm α
x y : α
hne : x ≠ y
h : ↑Perm.sign (optionCongr f) = ↑Perm.sign f
⊢ ↑Perm.sign (optionCongr (swap x y * f)) = ↑Perm.sign (swap x y * f)
Theorem: Multiset.prod_eq_zero
File: Mathlib/Algebra/BigOperators/Multiset/Basic.lean

tactic: rcases Multiset.exists_cons_of_mem h with ⟨s', hs'⟩
state_before: ι : Type ?u.89646
α : Type u_1
β : Type ?u.89652
γ : Type ?u.89655
inst✝ : CommMonoidWithZero α
s : Multiset α
h : 0 ∈ s
⊢ prod s = 0

tactic: simp [hs', Multiset.prod_cons]
state_before: case intro
ι : Type ?u.89646
α : Type u_1
β : Type ?u.89652
γ : Type ?u.89655
inst✝ : CommMonoidWithZero α
s : Multiset α
h : 0 ∈ s
s' : Multiset α
hs' : s = 0 ::ₘ s'
⊢ prod s = 0
Theorem: interior_pi_set
File: Mathlib/Topology/Constructions.lean

tactic: ext a
state_before: α : Type u
β : Type v
γ : Type ?u.313054
δ : Type ?u.313057
ε : Type ?u.313060
ζ : Type ?u.313063
ι : Type u_1
π : ι → Type u_2
κ : Type ?u.313074
inst✝¹ : TopologicalSpace α
inst✝ : (i : ι) → TopologicalSpace (π i)
f : α → (i : ι) → π i
I : Set ι
hI : Set.Finite I
s : (i : ι) → Set (π i)
⊢ interior (Set.pi I s) = Set.pi I fun i => interior (s i)

tactic: simp only [Set.mem_pi, mem_interior_iff_mem_nhds, set_pi_mem_nhds_iff hI]
state_before: case h
α : Type u
β : Type v
γ : Type ?u.313054
δ : Type ?u.313057
ε : Type ?u.313060
ζ : Type ?u.313063
ι : Type u_1
π : ι → Type u_2
κ : Type ?u.313074
inst✝¹ : TopologicalSpace α
inst✝ : (i : ι) → TopologicalSpace (π i)
f : α → (i : ι) → π i
I : Set ι
hI : Set.Finite I
s : (i : ι) → Set (π i)
a : (i : ι) → π i
⊢ a ∈ interior (Set.pi I s) ↔ a ∈ Set.pi I fun i => interior (s i)
Theorem: AlgebraicGeometry.Polynomial.isOpenMap_comap_C
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/IsOpenComapC.lean

tactic: rintro U ⟨s, z⟩
state_before: R : Type u_1
inst✝ : CommRing R
f : R[X]
⊢ IsOpenMap ↑(PrimeSpectrum.comap C)

tactic: rw [← compl_compl U, ← z, ← iUnion_of_singleton_coe s, zeroLocus_iUnion, compl_iInter,
  image_iUnion]
state_before: case intro
R : Type u_1
inst✝ : CommRing R
f : R[X]
U : Set (PrimeSpectrum R[X])
s : Set R[X]
z : zeroLocus s = Uᶜ
⊢ IsOpen (↑(PrimeSpectrum.comap C) '' U)

tactic: simp_rw [← imageOfDf_eq_comap_C_compl_zeroLocus]
state_before: case intro
R : Type u_1
inst✝ : CommRing R
f : R[X]
U : Set (PrimeSpectrum R[X])
s : Set R[X]
z : zeroLocus s = Uᶜ
⊢ IsOpen (⋃ (i : ↑s), ↑(PrimeSpectrum.comap C) '' zeroLocus {↑i}ᶜ)

tactic: exact isOpen_iUnion fun f => isOpen_imageOfDf
state_before: case intro
R : Type u_1
inst✝ : CommRing R
f : R[X]
U : Set (PrimeSpectrum R[X])
s : Set R[X]
z : zeroLocus s = Uᶜ
⊢ IsOpen (⋃ (i : ↑s), imageOfDf ↑i)
Theorem: EMetric.exists_forall_closedBall_subset_aux₁
File: Mathlib/Topology/MetricSpace/PartitionOfUnity.lean

tactic: have := (ENNReal.continuous_ofReal.tendsto' 0 0 ENNReal.ofReal_zero).eventually
  (eventually_nhds_zero_forall_closedBall_subset hK hU hKU hfin x).curry
state_before: ι : Type u_2
X : Type u_1
inst✝ : EMetricSpace X
K U : ι → Set X
hK : ∀ (i : ι), IsClosed (K i)
hU : ∀ (i : ι), IsOpen (U i)
hKU : ∀ (i : ι), K i ⊆ U i
hfin : LocallyFinite K
x : X
⊢ ∃ r, ∀ᶠ (y : X) in 𝓝 x, r ∈ Ioi 0 ∩ ENNReal.ofReal ⁻¹' ⋂ (i : ι) (_ : y ∈ K i), {r | closedBall y r ⊆ U i}

tactic: rcases this.exists_gt with ⟨r, hr0, hr⟩
state_before: ι : Type u_2
X : Type u_1
inst✝ : EMetricSpace X
K U : ι → Set X
hK : ∀ (i : ι), IsClosed (K i)
hU : ∀ (i : ι), IsOpen (U i)
hKU : ∀ (i : ι), K i ⊆ U i
hfin : LocallyFinite K
x : X
this :
  ∀ᶠ (x_1 : ℝ) in 𝓝 0,
    ∀ᶠ (y : X) in 𝓝 x,
      ∀ (i : ι),
        (ENNReal.ofReal x_1, y).snd ∈ K i → closedBall (ENNReal.ofReal x_1, y).snd (ENNReal.ofReal x_1, y).fst ⊆ U i
⊢ ∃ r, ∀ᶠ (y : X) in 𝓝 x, r ∈ Ioi 0 ∩ ENNReal.ofReal ⁻¹' ⋂ (i : ι) (_ : y ∈ K i), {r | closedBall y r ⊆ U i}

tactic: refine' ⟨r, hr.mono fun y hy => ⟨hr0, _⟩⟩
state_before: case intro.intro
ι : Type u_2
X : Type u_1
inst✝ : EMetricSpace X
K U : ι → Set X
hK : ∀ (i : ι), IsClosed (K i)
hU : ∀ (i : ι), IsOpen (U i)
hKU : ∀ (i : ι), K i ⊆ U i
hfin : LocallyFinite K
x : X
this :
  ∀ᶠ (x_1 : ℝ) in 𝓝 0,
    ∀ᶠ (y : X) in 𝓝 x,
      ∀ (i : ι),
        (ENNReal.ofReal x_1, y).snd ∈ K i → closedBall (ENNReal.ofReal x_1, y).snd (ENNReal.ofReal x_1, y).fst ⊆ U i
r : ℝ
hr0 : r > 0
hr :
  ∀ᶠ (y : X) in 𝓝 x,
    ∀ (i : ι), (ENNReal.ofReal r, y).snd ∈ K i → closedBall (ENNReal.ofReal r, y).snd (ENNReal.ofReal r, y).fst ⊆ U i
⊢ ∃ r, ∀ᶠ (y : X) in 𝓝 x, r ∈ Ioi 0 ∩ ENNReal.ofReal ⁻¹' ⋂ (i : ι) (_ : y ∈ K i), {r | closedBall y r ⊆ U i}

tactic: rwa [mem_preimage, mem_iInter₂]
state_before: case intro.intro
ι : Type u_2
X : Type u_1
inst✝ : EMetricSpace X
K U : ι → Set X
hK : ∀ (i : ι), IsClosed (K i)
hU : ∀ (i : ι), IsOpen (U i)
hKU : ∀ (i : ι), K i ⊆ U i
hfin : LocallyFinite K
x : X
this :
  ∀ᶠ (x_1 : ℝ) in 𝓝 0,
    ∀ᶠ (y : X) in 𝓝 x,
      ∀ (i : ι),
        (ENNReal.ofReal x_1, y).snd ∈ K i → closedBall (ENNReal.ofReal x_1, y).snd (ENNReal.ofReal x_1, y).fst ⊆ U i
r : ℝ
hr0 : r > 0
hr :
  ∀ᶠ (y : X) in 𝓝 x,
    ∀ (i : ι), (ENNReal.ofReal r, y).snd ∈ K i → closedBall (ENNReal.ofReal r, y).snd (ENNReal.ofReal r, y).fst ⊆ U i
y : X
hy : ∀ (i : ι), (ENNReal.ofReal r, y).snd ∈ K i → closedBall (ENNReal.ofReal r, y).snd (ENNReal.ofReal r, y).fst ⊆ U i
⊢ r ∈ ENNReal.ofReal ⁻¹' ⋂ (i : ι) (_ : y ∈ K i), {r | closedBall y r ⊆ U i}
Theorem: LinearOrderedRing.orderOf_le_two
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: cases' ne_or_eq (|x|) 1 with h h
state_before: G : Type u
A : Type v
x y : G
a b : A
n m : ℕ
inst✝ : LinearOrderedRing G
⊢ orderOf x ≤ 2

tactic: rcases eq_or_eq_neg_of_abs_eq h with (rfl | rfl)
state_before: case inr
G : Type u
A : Type v
x y : G
a b : A
n m : ℕ
inst✝ : LinearOrderedRing G
h : abs x = 1
⊢ orderOf x ≤ 2

tactic: apply orderOf_le_of_pow_eq_one <;> norm_num
state_before: case inr.inr
G : Type u
A : Type v
y : G
a b : A
n m : ℕ
inst✝ : LinearOrderedRing G
h : abs (-1) = 1
⊢ orderOf (-1) ≤ 2

tactic: simp [orderOf_abs_ne_one h]
state_before: case inl
G : Type u
A : Type v
x y : G
a b : A
n m : ℕ
inst✝ : LinearOrderedRing G
h : abs x ≠ 1
⊢ orderOf x ≤ 2

tactic: simp
state_before: case inr.inl
G : Type u
A : Type v
y : G
a b : A
n m : ℕ
inst✝ : LinearOrderedRing G
h : abs 1 = 1
⊢ orderOf 1 ≤ 2
Theorem: Doset.right_bot_eq_right_quot
File: Mathlib/GroupTheory/DoubleCoset.lean

tactic: unfold Quotient
state_before: G : Type u_1
inst✝¹ : Group G
α : Type ?u.70749
inst✝ : Mul α
J : Subgroup G
g : G
H : Subgroup G
⊢ Quotient ↑H.toSubmonoid ↑⊥ = _root_.Quotient (QuotientGroup.rightRel H)

tactic: congr
state_before: G : Type u_1
inst✝¹ : Group G
α : Type ?u.70749
inst✝ : Mul α
J : Subgroup G
g : G
H : Subgroup G
⊢ _root_.Quotient (setoid ↑H.toSubmonoid ↑⊥) = _root_.Quotient (QuotientGroup.rightRel H)

tactic: ext
state_before: case e_s
G : Type u_1
inst✝¹ : Group G
α : Type ?u.70749
inst✝ : Mul α
J : Subgroup G
g : G
H : Subgroup G
⊢ setoid ↑H.toSubmonoid ↑⊥ = QuotientGroup.rightRel H

tactic: simp_rw [← rel_bot_eq_right_group_rel H]
state_before: case e_s.H
G : Type u_1
inst✝¹ : Group G
α : Type ?u.70749
inst✝ : Mul α
J : Subgroup G
g : G
H : Subgroup G
a✝ b✝ : G
⊢ Setoid.Rel (setoid ↑H.toSubmonoid ↑⊥) a✝ b✝ ↔ Setoid.Rel (QuotientGroup.rightRel H) a✝ b✝

tactic: rfl
state_before: case e_s.H
G : Type u_1
inst✝¹ : Group G
α : Type ?u.70749
inst✝ : Mul α
J : Subgroup G
g : G
H : Subgroup G
a✝ b✝ : G
⊢ Setoid.Rel (setoid ↑H.toSubmonoid ↑⊥) a✝ b✝ ↔ Setoid.Rel (setoid ↑H ↑⊥) a✝ b✝
Theorem: Multiset.length_ndinsert_of_not_mem
File: Mathlib/Data/Multiset/FinsetOps.lean

tactic: simp [h]
state_before: α : Type u_1
inst✝ : DecidableEq α
s✝ : Multiset α
a : α
s : Multiset α
h : ¬a ∈ s
⊢ ↑card (ndinsert a s) = ↑card s + 1
Theorem: Cardinal.power_lt_aleph0
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rw [← natCast_pow]
state_before: α β : Type u
a b : Cardinal
m n : ℕ
ha : ↑m < ℵ₀
hb : ↑n < ℵ₀
⊢ ↑m ^ ↑n < ℵ₀

tactic: apply nat_lt_aleph0
state_before: α β : Type u
a b : Cardinal
m n : ℕ
ha : ↑m < ℵ₀
hb : ↑n < ℵ₀
⊢ ↑(m ^ n) < ℵ₀
Theorem: lt_mul_right
File: Mathlib/Algebra/Order/Ring/Defs.lean

tactic: convert mul_lt_mul_of_pos_left hm hn
state_before: α : Type u
β : Type ?u.63411
inst✝ : StrictOrderedSemiring α
a b c d : α
hn : 0 < a
hm : 1 < b
⊢ a < a * b

tactic: rw [mul_one]
state_before: case h.e'_3
α : Type u
β : Type ?u.63411
inst✝ : StrictOrderedSemiring α
a b c d : α
hn : 0 < a
hm : 1 < b
⊢ a = a * 1
Theorem: bihimp_left_comm
File: Mathlib/Order/SymmDiff.lean

tactic: simp_rw [← bihimp_assoc, bihimp_comm]
state_before: ι : Type ?u.80811
α : Type u_1
β : Type ?u.80817
π : ι → Type ?u.80822
inst✝ : BooleanAlgebra α
a b c d : α
⊢ a ⇔ (b ⇔ c) = b ⇔ (a ⇔ c)
Theorem: Filter.Tendsto.atBot_div_const
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: simpa only [div_eq_mul_inv] using hf.atBot_mul_const (inv_pos.2 hr)
state_before: ι : Type ?u.249256
ι' : Type ?u.249259
α : Type u_1
β : Type u_2
γ : Type ?u.249268
inst✝ : LinearOrderedField α
l : Filter β
f : β → α
r : α
hr : 0 < r
hf : Tendsto f l atBot
⊢ Tendsto (fun x => f x / r) l atBot