tasksource/leandojo huggingface dataset:
Theorem: TopologicalSpace.NoetherianSpace.finite_irreducibleComponents
File: Mathlib/Topology/NoetherianSpace.lean

tactic: obtain ⟨S : Set (Set α), hSf, hSc, hSi, hSU⟩ :=
  NoetherianSpace.exists_finite_set_isClosed_irreducible isClosed_univ
state_before: α : Type u_1
β : Type ?u.25119
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
⊢ Set.Finite (irreducibleComponents α)

tactic: refine hSf.subset fun s hs => ?_
state_before: case intro.intro.intro.intro
α : Type u_1
β : Type ?u.25119
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
S : Set (Set α)
hSf : Set.Finite S
hSc : ∀ (t : Set α), t ∈ S → IsClosed t
hSi : ∀ (t : Set α), t ∈ S → IsIrreducible t
hSU : Set.univ = ⋃₀ S
⊢ Set.Finite (irreducibleComponents α)

tactic: lift S to Finset (Set α) using hSf
state_before: case intro.intro.intro.intro
α : Type u_1
β : Type ?u.25119
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
S : Set (Set α)
hSf : Set.Finite S
hSc : ∀ (t : Set α), t ∈ S → IsClosed t
hSi : ∀ (t : Set α), t ∈ S → IsIrreducible t
hSU : Set.univ = ⋃₀ S
s : Set α
hs : s ∈ irreducibleComponents α
⊢ s ∈ S

tactic: rcases isIrreducible_iff_sUnion_closed.1 hs.1 S hSc (hSU ▸ Set.subset_univ _) with ⟨t, htS, ht⟩
state_before: case intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.25119
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α
hs : s ∈ irreducibleComponents α
S : Finset (Set α)
hSc : ∀ (t : Set α), t ∈ ↑S → IsClosed t
hSi : ∀ (t : Set α), t ∈ ↑S → IsIrreducible t
hSU : Set.univ = ⋃₀ ↑S
⊢ s ∈ ↑S

tactic: rwa [ht.antisymm (hs.2 (hSi _ htS) ht)]
state_before: case intro.intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type ?u.25119
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSpace β
inst✝ : NoetherianSpace α
s : Set α
hs : s ∈ irreducibleComponents α
S : Finset (Set α)
hSc : ∀ (t : Set α), t ∈ ↑S → IsClosed t
hSi : ∀ (t : Set α), t ∈ ↑S → IsIrreducible t
hSU : Set.univ = ⋃₀ ↑S
t : Set α
htS : t ∈ S
ht : s ⊆ t
⊢ s ∈ ↑S
Theorem: Function.Periodic.add_antiperiod
File: Mathlib/Algebra/Periodic.lean

tactic: simp_all [← add_assoc]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.211684
f g : α → β
c c₁ c₂ x : α
inst✝¹ : AddGroup α
inst✝ : Neg β
h1 : Periodic f c₁
h2 : Antiperiodic f c₂
⊢ Antiperiodic f (c₁ + c₂)
Theorem: Lists'.Subset.refl
File: Mathlib/SetTheory/Lists.lean

tactic: rw [← Lists'.of_toList l]
state_before: α : Type u_1
l : Lists' α true
⊢ l ⊆ l

tactic: exact ofList_subset (List.Subset.refl _)
state_before: α : Type u_1
l : Lists' α true
⊢ ofList (toList l) ⊆ ofList (toList l)
Theorem: MeasureTheory.norm_integral_le_of_norm_le_const
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: rw [integral_const, smul_eq_mul, mul_comm]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1268526
𝕜 : Type ?u.1268529
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace ℝ E
inst✝⁹ : CompleteSpace E
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : SMulCommClass ℝ 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1271220
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : IsFiniteMeasure μ
f : α → E
C : ℝ
h : ∀ᵐ (x : α) ∂μ, ‖f x‖ ≤ C
⊢ (∫ (x : α), C ∂μ) = C * ENNReal.toReal (↑↑μ univ)
Theorem: Matrix.diagonal_add
File: Mathlib/Data/Matrix/Basic.lean

tactic: ext i j
state_before: l : Type ?u.51115
m : Type ?u.51118
n : Type u_1
o : Type ?u.51124
m' : o → Type ?u.51129
n' : o → Type ?u.51134
R : Type ?u.51137
S : Type ?u.51140
α : Type v
β : Type w
γ : Type ?u.51147
inst✝¹ : DecidableEq n
inst✝ : AddZeroClass α
d₁ d₂ : n → α
⊢ diagonal d₁ + diagonal d₂ = diagonal fun i => d₁ i + d₂ i

tactic: by_cases h : i = j <;>
simp [h]
state_before: case a.h
l : Type ?u.51115
m : Type ?u.51118
n : Type u_1
o : Type ?u.51124
m' : o → Type ?u.51129
n' : o → Type ?u.51134
R : Type ?u.51137
S : Type ?u.51140
α : Type v
β : Type w
γ : Type ?u.51147
inst✝¹ : DecidableEq n
inst✝ : AddZeroClass α
d₁ d₂ : n → α
i j : n
⊢ (diagonal d₁ + diagonal d₂) i j = diagonal (fun i => d₁ i + d₂ i) i j
Theorem: EuclideanGeometry.dist_center_eq_dist_center_of_mem_sphere
File: Mathlib/Geometry/Euclidean/Sphere/Basic.lean

tactic: rw [mem_sphere.1 hp₁, mem_sphere.1 hp₂]
state_before: V : Type ?u.5000
P : Type u_1
inst✝ : MetricSpace P
p₁ p₂ : P
s : Sphere P
hp₁ : p₁ ∈ s
hp₂ : p₂ ∈ s
⊢ dist p₁ s.center = dist p₂ s.center
Theorem: HasStrictDerivAt.neg
File: Mathlib/Analysis/Calculus/Deriv/Add.lean

tactic: simpa using h.neg.hasStrictDerivAt
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L : Filter 𝕜
h : HasStrictDerivAt f f' x
⊢ HasStrictDerivAt (fun x => -f x) (-f') x
Theorem: List.insert_equiv_cons
File: Mathlib/Data/List/Card.lean

tactic: simp
state_before: α : Type u_1
inst✝ : DecidableEq α
a : α
as : List α
x : α
⊢ x ∈ List.insert a as ↔ x ∈ a :: as
Theorem: Filter.Tendsto.atTop_mul_neg_const'
File: Mathlib/Order/Filter/Archimedean.lean

tactic: simpa only [tendsto_neg_atTop_iff, mul_neg] using hf.atTop_mul_const' (neg_pos.mpr hr)
state_before: α : Type u_2
R : Type u_1
l : Filter α
f : α → R
r : R
inst✝¹ : LinearOrderedRing R
inst✝ : Archimedean R
hr : r < 0
hf : Tendsto f l atTop
⊢ Tendsto (fun x => f x * r) l atBot
Theorem: CategoryTheory.Limits.kernelSubobject_arrow_comp
File: Mathlib/CategoryTheory/Subobject/Limits.lean

tactic: rw [← kernelSubobject_arrow]
state_before: C : Type u
inst✝² : Category C
X Y Z : C
inst✝¹ : HasZeroMorphisms C
f : X ⟶ Y
inst✝ : HasKernel f
⊢ arrow (kernelSubobject f) ≫ f = 0

tactic: simp only [Category.assoc, kernel.condition, comp_zero]
state_before: C : Type u
inst✝² : Category C
X Y Z : C
inst✝¹ : HasZeroMorphisms C
f : X ⟶ Y
inst✝ : HasKernel f
⊢ ((kernelSubobjectIso f).hom ≫ kernel.ι f) ≫ f = 0
Theorem: List.isRotated_iff_mod
File: Mathlib/Data/List/Rotate.lean

tactic: refine' ⟨fun h => _, fun ⟨n, _, h⟩ => ⟨n, h⟩⟩
state_before: α : Type u
l l' : List α
⊢ l ~r l' ↔ ∃ n, n ≤ length l ∧ rotate l n = l'

tactic: obtain ⟨n, rfl⟩ := h
state_before: α : Type u
l l' : List α
h : l ~r l'
⊢ ∃ n, n ≤ length l ∧ rotate l n = l'

tactic: cases' l with hd tl
state_before: case intro
α : Type u
l : List α
n : ℕ
⊢ ∃ n_1, n_1 ≤ length l ∧ rotate l n_1 = rotate l n

tactic: simp
state_before: case intro.nil
α : Type u
n : ℕ
⊢ ∃ n_1, n_1 ≤ length [] ∧ rotate [] n_1 = rotate [] n

tactic: refine' ⟨n % (hd :: tl).length, _, rotate_mod _ _⟩
state_before: case intro.cons
α : Type u
n : ℕ
hd : α
tl : List α
⊢ ∃ n_1, n_1 ≤ length (hd :: tl) ∧ rotate (hd :: tl) n_1 = rotate (hd :: tl) n

tactic: refine' (Nat.mod_lt _ _).le
state_before: case intro.cons
α : Type u
n : ℕ
hd : α
tl : List α
⊢ n % length (hd :: tl) ≤ length (hd :: tl)

tactic: simp
state_before: case intro.cons
α : Type u
n : ℕ
hd : α
tl : List α
⊢ length (hd :: tl) > 0
Theorem: MeasureTheory.integral_indicator
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: by_cases hfi : IntegrableOn f s μ
state_before: α : Type u_1
β : Type ?u.36984
E : Type u_2
F : Type ?u.36990
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
⊢ (∫ (x : α), indicator s f x ∂μ) = ∫ (x : α) in s, f x ∂μ

tactic: swap
state_before: case pos
α : Type u_1
β : Type ?u.36984
E : Type u_2
F : Type ?u.36990
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : IntegrableOn f s
⊢ (∫ (x : α), indicator s f x ∂μ) = ∫ (x : α) in s, f x ∂μ

case neg
α : Type u_1
β : Type ?u.36984
E : Type u_2
F : Type ?u.36990
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : ¬IntegrableOn f s
⊢ (∫ (x : α), indicator s f x ∂μ) = ∫ (x : α) in s, f x ∂μ

tactic: rwa [integral_undef, integral_undef]
state_before: case neg
α : Type u_1
β : Type ?u.36984
E : Type u_2
F : Type ?u.36990
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : ¬IntegrableOn f s
⊢ (∫ (x : α), indicator s f x ∂μ) = ∫ (x : α) in s, f x ∂μ

tactic: rwa [integrable_indicator_iff hs]
state_before: case neg
α : Type u_1
β : Type ?u.36984
E : Type u_2
F : Type ?u.36990
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : ¬IntegrableOn f s
⊢ ¬Integrable fun x => indicator s f x

tactic: simp
state_before: α : Type u_1
β : Type ?u.36984
E : Type u_2
F : Type ?u.36990
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hs : MeasurableSet s
hfi : IntegrableOn f s
⊢ ((∫ (x : α) in s, f x ∂μ) + ∫ (x : α) in sᶜ, 0 ∂μ) = ∫ (x : α) in s, f x ∂μ
Theorem: Polynomial.eraseLead_card_support
File: Mathlib/Data/Polynomial/EraseLead.lean

tactic: by_cases f0 : f = 0
state_before: R : Type u_1
inst✝ : Semiring R
f : R[X]
c : ℕ
fc : card (support f) = c
⊢ card (support (eraseLead f)) = c - 1

tactic: rw [← fc, f0, eraseLead_zero, support_zero, card_empty]
state_before: case pos
R : Type u_1
inst✝ : Semiring R
f : R[X]
c : ℕ
fc : card (support f) = c
f0 : f = 0
⊢ card (support (eraseLead f)) = c - 1

tactic: rw [eraseLead_support, card_erase_of_mem (natDegree_mem_support_of_nonzero f0), fc]
state_before: case neg
R : Type u_1
inst✝ : Semiring R
f : R[X]
c : ℕ
fc : card (support f) = c
f0 : ¬f = 0
⊢ card (support (eraseLead f)) = c - 1
Theorem: IsTorsionFree.subgroup
File: Mathlib/GroupTheory/Torsion.lean

tactic: norm_cast
state_before: G : Type u_1
H✝ : Type ?u.212858
inst✝ : Group G
tG : IsTorsionFree G
H : Subgroup G
h : { x // x ∈ H }
hne : h ≠ 1
⊢ ↑h ≠ 1
Theorem: summable_of_summable_hasFDerivAt_of_isPreconnected
File: Mathlib/Analysis/Calculus/Series.lean

tactic: rw [summable_iff_cauchySeq_finset] at hf0 ⊢
state_before: α : Type u_1
β : Type ?u.18790
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x✝ : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : Summable fun x => f x x₀
x : E
hx : x ∈ s
⊢ Summable fun n => f n x

tactic: have A : UniformCauchySeqOn (fun t : Finset α => fun x => ∑ i in t, f' i x) atTop s :=
  (tendstoUniformlyOn_tsum hu hf').uniformCauchySeqOn
state_before: α : Type u_1
β : Type ?u.18790
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x✝ : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : CauchySeq fun s => ∑ b in s, f b x₀
x : E
hx : x ∈ s
⊢ CauchySeq fun s => ∑ b in s, f b x

tactic: refine cauchy_map_of_uniformCauchySeqOn_fderiv (f := fun t x ↦ ∑ i in t, f i x)
  hs h's A (fun t y hy => ?_) hx₀ hx hf0
state_before: α : Type u_1
β : Type ?u.18790
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x✝ : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : CauchySeq fun s => ∑ b in s, f b x₀
x : E
hx : x ∈ s
A : UniformCauchySeqOn (fun t x => ∑ i in t, f' i x) atTop s
⊢ CauchySeq fun s => ∑ b in s, f b x

tactic: exact HasFDerivAt.sum fun i _ => hf i y hy
state_before: α : Type u_1
β : Type ?u.18790
𝕜 : Type u_3
E : Type u_2
F : Type u_4
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : NormedSpace 𝕜 F
f : α → E → F
f' : α → E → E →L[𝕜] F
v : ℕ → α → ℝ
s : Set E
x₀ x✝ : E
N : ℕ∞
hu : Summable u
hs : IsOpen s
h's : IsPreconnected s
hf : ∀ (n : α) (x : E), x ∈ s → HasFDerivAt (f n) (f' n x) x
hf' : ∀ (n : α) (x : E), x ∈ s → ‖f' n x‖ ≤ u n
hx₀ : x₀ ∈ s
hf0 : CauchySeq fun s => ∑ b in s, f b x₀
x : E
hx : x ∈ s
A : UniformCauchySeqOn (fun t x => ∑ i in t, f' i x) atTop s
t : Finset α
y : E
hy : y ∈ s
⊢ HasFDerivAt ((fun t x => ∑ i in t, f i x) t) (∑ i in t, f' i y) y
Theorem: uniformity_hasBasis_open_symmetric
File: Mathlib/Topology/UniformSpace/Basic.lean

tactic: simp only [← and_assoc]
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort ?u.93600
inst✝ : UniformSpace α
⊢ HasBasis (𝓤 α) (fun V => V ∈ 𝓤 α ∧ IsOpen V ∧ SymmetricRel V) id

tactic: refine' uniformity_hasBasis_open.restrict fun s hs => ⟨symmetrizeRel s, _⟩
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort ?u.93600
inst✝ : UniformSpace α
⊢ HasBasis (𝓤 α) (fun V => (V ∈ 𝓤 α ∧ IsOpen V) ∧ SymmetricRel V) id

tactic: exact
  ⟨⟨symmetrize_mem_uniformity hs.1, IsOpen.inter hs.2 (hs.2.preimage continuous_swap)⟩,
    symmetric_symmetrizeRel s, symmetrizeRel_subset_self s⟩
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort ?u.93600
inst✝ : UniformSpace α
s : Set (α × α)
hs : s ∈ 𝓤 α ∧ IsOpen s
⊢ (symmetrizeRel s ∈ 𝓤 α ∧ IsOpen (symmetrizeRel s)) ∧ SymmetricRel (symmetrizeRel s) ∧ id (symmetrizeRel s) ⊆ id s
Theorem: LinearMap.IsSymmetric.restrictScalars
File: Mathlib/Analysis/InnerProductSpace/Symmetric.lean

tactic: simp [hT x y, real_inner_eq_re_inner, LinearMap.coe_restrictScalars ℝ]
state_before: 𝕜 : Type u_1
E : Type u_2
E' : Type ?u.63572
F : Type ?u.63575
G : Type ?u.63578
inst✝⁸ : IsROrC 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : InnerProductSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : NormedAddCommGroup G
inst✝² : InnerProductSpace 𝕜 G
inst✝¹ : NormedAddCommGroup E'
inst✝ : InnerProductSpace ℝ E'
T : E →ₗ[𝕜] E
hT : IsSymmetric T
x y : E
⊢ inner (↑(↑ℝ T) x) y = inner x (↑(↑ℝ T) y)
Theorem: Polynomial.annIdealGenerator_eq_zero_iff
File: Mathlib/LinearAlgebra/AnnihilatingPolynomial.lean

tactic: simp only [annIdealGenerator, mul_eq_zero, IsPrincipal.eq_bot_iff_generator_eq_zero,
  Polynomial.C_eq_zero, inv_eq_zero, Polynomial.leadingCoeff_eq_zero, or_self_iff]
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝² : Field 𝕜
inst✝¹ : Ring A
inst✝ : Algebra 𝕜 A
a : A
⊢ annIdealGenerator 𝕜 a = 0 ↔ annIdeal 𝕜 a = ⊥
Theorem: separationRel_eq_inter_closure
File: Mathlib/Topology/UniformSpace/Separation.lean

tactic: simp [uniformity_hasBasis_closure.separationRel]
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
⊢ 𝓢 α = ⋂₀ (closure '' (𝓤 α).sets)
Theorem: eq_of_prime_pow_eq
File: Mathlib/Algebra/Associated.lean

tactic: rw [← associated_iff_eq] at h⊢
state_before: α : Type ?u.250626
β : Type ?u.250629
γ : Type ?u.250632
δ : Type ?u.250635
R : Type u_1
inst✝¹ : CancelCommMonoidWithZero R
inst✝ : Unique Rˣ
p₁ p₂ : R
k₁ k₂ : ℕ
hp₁ : Prime p₁
hp₂ : Prime p₂
hk₁ : 0 < k₁
h : p₁ ^ k₁ = p₂ ^ k₂
⊢ p₁ = p₂

tactic: apply h.of_pow_associated_of_prime hp₁ hp₂ hk₁
state_before: α : Type ?u.250626
β : Type ?u.250629
γ : Type ?u.250632
δ : Type ?u.250635
R : Type u_1
inst✝¹ : CancelCommMonoidWithZero R
inst✝ : Unique Rˣ
p₁ p₂ : R
k₁ k₂ : ℕ
hp₁ : Prime p₁
hp₂ : Prime p₂
hk₁ : 0 < k₁
h✝ : p₁ ^ k₁ = p₂ ^ k₂
h : p₁ ^ k₁ ~ᵤ p₂ ^ k₂
⊢ p₁ ~ᵤ p₂
Theorem: Complex.toMatrix_conjAe
File: Mathlib/Data/Complex/Module.lean

tactic: ext (i j)
state_before: ⊢ ↑(LinearMap.toMatrix basisOneI basisOneI) (AlgEquiv.toLinearMap conjAe) = ↑Matrix.of ![![1, 0], ![0, -1]]

tactic: fin_cases i <;> fin_cases j <;> simp [LinearMap.toMatrix_apply]
state_before: case a.h
i j : Fin 2
⊢ ↑(LinearMap.toMatrix basisOneI basisOneI) (AlgEquiv.toLinearMap conjAe) i j = ↑Matrix.of ![![1, 0], ![0, -1]] i j
Theorem: Algebra.IsAlgebraic.cardinal_mk_le_max
File: Mathlib/FieldTheory/IsAlgClosed/Classification.lean

tactic: rw [← mk_sigma]
state_before: R L : Type u
inst✝⁴ : CommRing R
inst✝³ : CommRing L
inst✝² : IsDomain L
inst✝¹ : Algebra R L
inst✝ : NoZeroSMulDivisors R L
halg : IsAlgebraic R L
⊢ (#(p : R[X]) × { x // x ∈ Polynomial.roots (Polynomial.map (algebraMap R L) p) }) =
    sum fun p => #↑{x | x ∈ Polynomial.roots (Polynomial.map (algebraMap R L) p)}

tactic: rfl
state_before: R L : Type u
inst✝⁴ : CommRing R
inst✝³ : CommRing L
inst✝² : IsDomain L
inst✝¹ : Algebra R L
inst✝ : NoZeroSMulDivisors R L
halg : IsAlgebraic R L
⊢ (#(p : R[X]) × { x // x ∈ Polynomial.roots (Polynomial.map (algebraMap R L) p) }) =
    (#(i : R[X]) × ↑{x | x ∈ Polynomial.roots (Polynomial.map (algebraMap R L) i)})

tactic: simp only [max_assoc, max_comm ℵ₀, max_left_comm ℵ₀, max_self]
state_before: R L : Type u
inst✝⁴ : CommRing R
inst✝³ : CommRing L
inst✝² : IsDomain L
inst✝¹ : Algebra R L
inst✝ : NoZeroSMulDivisors R L
halg : IsAlgebraic R L
⊢ max (max (max (#R) ℵ₀) ℵ₀) ℵ₀ = max (#R) ℵ₀
Theorem: CstarRing.norm_one
File: Mathlib/Analysis/NormedSpace/Star/Basic.lean

tactic: have : 0 < ‖(1 : E)‖ := norm_pos_iff.mpr one_ne_zero
state_before: 𝕜 : Type ?u.69584
E : Type u_1
α : Type ?u.69590
inst✝³ : NormedRing E
inst✝² : StarRing E
inst✝¹ : CstarRing E
inst✝ : Nontrivial E
⊢ ‖1‖ = 1

tactic: rw [← mul_left_inj' this.ne', ← norm_star_mul_self, mul_one, star_one, one_mul]
state_before: 𝕜 : Type ?u.69584
E : Type u_1
α : Type ?u.69590
inst✝³ : NormedRing E
inst✝² : StarRing E
inst✝¹ : CstarRing E
inst✝ : Nontrivial E
this : 0 < ‖1‖
⊢ ‖1‖ = 1
Theorem: Int.bodd_neg
File: Mathlib/Data/Int/Bitwise.lean

tactic: cases n with
| ofNat =>
  rw [←negOfNat_eq, bodd_negOfNat]
  simp
| negSucc n =>
  rw [neg_negSucc, bodd_coe, Nat.bodd_succ]
  change (!Nat.bodd n) = !(bodd n)
  rw [bodd_coe]
state_before: n : ℤ
⊢ bodd (-n) = bodd n

tactic: rw [←negOfNat_eq, bodd_negOfNat]
state_before: case ofNat
a✝ : ℕ
⊢ bodd (-ofNat a✝) = bodd (ofNat a✝)

tactic: simp
state_before: case ofNat
a✝ : ℕ
⊢ Nat.bodd a✝ = bodd (ofNat a✝)

tactic: rw [neg_negSucc, bodd_coe, Nat.bodd_succ]
state_before: case negSucc
n : ℕ
⊢ bodd (- -[n+1]) = bodd -[n+1]

tactic: change (!Nat.bodd n) = !(bodd n)
state_before: case negSucc
n : ℕ
⊢ (!Nat.bodd n) = bodd -[n+1]

tactic: rw [bodd_coe]
state_before: case negSucc
n : ℕ
⊢ (!Nat.bodd n) = !bodd ↑n
Theorem: HasStrictFDerivAt.hasFDerivAt
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: rw [HasFDerivAt, HasFDerivAtFilter, isLittleO_iff]
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
G : Type ?u.203108
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.203203
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hf : HasStrictFDerivAt f f' x
⊢ HasFDerivAt f f' x

tactic: exact fun c hc => tendsto_id.prod_mk_nhds tendsto_const_nhds (isLittleO_iff.1 hf hc)
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
G : Type ?u.203108
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.203203
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hf : HasStrictFDerivAt f f' x
⊢ ∀ ⦃c : ℝ⦄, 0 < c → ∀ᶠ (x_1 : E) in 𝓝 x, ‖f x_1 - f x - ↑f' (x_1 - x)‖ ≤ c * ‖x_1 - x‖
Theorem: Bornology.comap_cobounded_le_iff
File: Mathlib/Topology/Bornology/Basic.lean

tactic: refine'
  ⟨fun h s hs => _, fun h t ht =>
    ⟨(f '' tᶜ)ᶜ, h <| IsCobounded.compl ht, compl_subset_comm.1 <| subset_preimage_image _ _⟩⟩
state_before: ι : Type ?u.5624
α : Type u_2
β : Type u_1
inst✝¹ : Bornology α
s t : Set α
x : α
inst✝ : Bornology β
f : α → β
⊢ comap f (cobounded β) ≤ cobounded α ↔ ∀ ⦃s : Set α⦄, IsBounded s → IsBounded (f '' s)

tactic: obtain ⟨t, ht, hts⟩ := h hs.compl
state_before: ι : Type ?u.5624
α : Type u_2
β : Type u_1
inst✝¹ : Bornology α
s✝ t : Set α
x : α
inst✝ : Bornology β
f : α → β
h : comap f (cobounded β) ≤ cobounded α
s : Set α
hs : IsBounded s
⊢ IsBounded (f '' s)

tactic: rw [subset_compl_comm, ← preimage_compl] at hts
state_before: case intro.intro
ι : Type ?u.5624
α : Type u_2
β : Type u_1
inst✝¹ : Bornology α
s✝ t✝ : Set α
x : α
inst✝ : Bornology β
f : α → β
h : comap f (cobounded β) ≤ cobounded α
s : Set α
hs : IsBounded s
t : Set β
ht : t ∈ cobounded β
hts : f ⁻¹' t ⊆ sᶜ
⊢ IsBounded (f '' s)

tactic: exact (IsCobounded.compl ht).subset ((image_subset f hts).trans <| image_preimage_subset _ _)
state_before: case intro.intro
ι : Type ?u.5624
α : Type u_2
β : Type u_1
inst✝¹ : Bornology α
s✝ t✝ : Set α
x : α
inst✝ : Bornology β
f : α → β
h : comap f (cobounded β) ≤ cobounded α
s : Set α
hs : IsBounded s
t : Set β
ht : t ∈ cobounded β
hts : s ⊆ f ⁻¹' tᶜ
⊢ IsBounded (f '' s)
Theorem: Order.Ico_succ_right_of_not_isMax
File: Mathlib/Order/SuccPred/Basic.lean

tactic: rw [← Ici_inter_Iio, Iio_succ_of_not_isMax hb, Ici_inter_Iic]
state_before: α : Type u_1
inst✝¹ : Preorder α
inst✝ : SuccOrder α
a b : α
hb : ¬IsMax b
⊢ Ico a (succ b) = Icc a b
Theorem: TopCat.Presheaf.isSheaf_iff_isSheafPreservesLimitPairwiseIntersections
File: Mathlib/Topology/Sheaves/SheafCondition/PairwiseIntersections.lean

tactic: rw [isSheaf_iff_isSheafPairwiseIntersections]
state_before: C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
⊢ IsSheaf F ↔ IsSheafPreservesLimitPairwiseIntersections F

tactic: constructor
state_before: C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
⊢ IsSheafPairwiseIntersections F ↔ IsSheafPreservesLimitPairwiseIntersections F

tactic: intro h ι U
state_before: case mp
C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
⊢ IsSheafPairwiseIntersections F → IsSheafPreservesLimitPairwiseIntersections F

tactic: exact ⟨preservesLimitOfPreservesLimitCone (Pairwise.coconeIsColimit U).op (h U).some⟩
state_before: case mp
C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
h : IsSheafPairwiseIntersections F
ι : Type w
U : ι → Opens ↑X
⊢ Nonempty (PreservesLimit (Functor.op (Pairwise.diagram U)) F)

tactic: intro h ι U
state_before: case mpr
C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
⊢ IsSheafPreservesLimitPairwiseIntersections F → IsSheafPairwiseIntersections F

tactic: haveI := (h U).some
state_before: case mpr
C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
h : IsSheafPreservesLimitPairwiseIntersections F
ι : Type w
U : ι → Opens ↑X
⊢ Nonempty (IsLimit (F.mapCone (Cocone.op (Pairwise.cocone U))))

tactic: exact ⟨PreservesLimit.preserves (Pairwise.coconeIsColimit U).op⟩
state_before: case mpr
C : Type u
inst✝ : Category C
X : TopCat
F : Presheaf C X
h : IsSheafPreservesLimitPairwiseIntersections F
ι : Type w
U : ι → Opens ↑X
this : PreservesLimit (Functor.op (Pairwise.diagram U)) F
⊢ Nonempty (IsLimit (F.mapCone (Cocone.op (Pairwise.cocone U))))
Theorem: WithTop.image_coe_Ioo
File: Mathlib/Data/Set/Intervals/WithBotTop.lean

tactic: rw [← preimage_coe_Ioo, image_preimage_eq_inter_range, range_coe,
  inter_eq_self_of_subset_left (Subset.trans Ioo_subset_Iio_self <| Iio_subset_Iio le_top)]
state_before: α : Type u_1
inst✝ : PartialOrder α
a b : α
⊢ some '' Ioo a b = Ioo ↑a ↑b