1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Set.Intersecting.isUpperSet
File: Mathlib/Combinatorics/SetFamily/Intersecting.lean

tactic: rintro a b hab ha
state_before: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a b c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
⊢ IsUpperSet s
state_after: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a✝ b✝ c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
a b : α
hab : a ≤ b
ha : a ∈ s
⊢ b ∈ s

tactic: rw [h (Insert.insert b s) _ (subset_insert _ _)]
state_before: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a✝ b✝ c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
a b : α
hab : a ≤ b
ha : a ∈ s
⊢ b ∈ s
state_after: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a✝ b✝ c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
a b : α
hab : a ≤ b
ha : a ∈ s
⊢ b ∈ insert b s

α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a✝ b✝ c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
a b : α
hab : a ≤ b
ha : a ∈ s
⊢ (insert b s).Intersecting

tactic: exact
  hs.insert (mt (eq_bot_mono hab) <| hs.ne_bot ha) fun c hc hbc => hs ha hc <| hbc.mono_left hab
state_before: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a✝ b✝ c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
a b : α
hab : a ≤ b
ha : a ∈ s
⊢ (insert b s).Intersecting
state_after: no goals

tactic: exact mem_insert _ _
state_before: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
s t : Set α
a✝ b✝ c : α
hs : s.Intersecting
h : ∀ (t : Set α), t.Intersecting → s ⊆ t → s = t
a b : α
hab : a ≤ b
ha : a ∈ s
⊢ b ∈ insert b s
state_after: no goals
Theorem: Basis.toMatrix_reindex
File: Mathlib/LinearAlgebra/Matrix/Basis.lean

tactic: ext
state_before: ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁴ : CommRing R₂
inst✝³ : AddCommGroup M₂
inst✝² : Module R₂ M₂
e✝ : Basis ι R M
v✝ : ι' → M
i : ι
j : ι'
N : Type u_9
inst✝¹ : AddCommMonoid N
inst✝ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
b : Basis ι R M
v : ι' → M
e : ι ≃ ι'
⊢ (b.reindex e).toMatrix v = (b.toMatrix v).submatrix (⇑e.symm) _root_.id
state_after: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁴ : CommRing R₂
inst✝³ : AddCommGroup M₂
inst✝² : Module R₂ M₂
e✝ : Basis ι R M
v✝ : ι' → M
i : ι
j : ι'
N : Type u_9
inst✝¹ : AddCommMonoid N
inst✝ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
b : Basis ι R M
v : ι' → M
e : ι ≃ ι'
i✝ j✝ : ι'
⊢ (b.reindex e).toMatrix v i✝ j✝ = (b.toMatrix v).submatrix (⇑e.symm) _root_.id i✝ j✝

tactic: simp only [Basis.toMatrix_apply, Basis.repr_reindex, Matrix.submatrix_apply, _root_.id,
  Finsupp.mapDomain_equiv_apply]
state_before: case a
ι : Type u_1
ι' : Type u_2
κ : Type u_3
κ' : Type u_4
R : Type u_5
M : Type u_6
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid M
inst✝⁵ : Module R M
R₂ : Type u_7
M₂ : Type u_8
inst✝⁴ : CommRing R₂
inst✝³ : AddCommGroup M₂
inst✝² : Module R₂ M₂
e✝ : Basis ι R M
v✝ : ι' → M
i : ι
j : ι'
N : Type u_9
inst✝¹ : AddCommMonoid N
inst✝ : Module R N
b✝ : Basis ι R M
b' : Basis ι' R M
c : Basis κ R N
c' : Basis κ' R N
f : M →ₗ[R] N
b : Basis ι R M
v : ι' → M
e : ι ≃ ι'
i✝ j✝ : ι'
⊢ (b.reindex e).toMatrix v i✝ j✝ = (b.toMatrix v).submatrix (⇑e.symm) _root_.id i✝ j✝
state_after: no goals
Theorem: PowerSeries.coeff_zero_eq_constantCoeff
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: rw [coeff, Finsupp.single_zero]
state_before: R : Type u_1
inst✝ : Semiring R
⊢ ⇑(coeff R 0) = ⇑(constantCoeff R)
state_after: R : Type u_1
inst✝ : Semiring R
⊢ ⇑(MvPowerSeries.coeff R 0) = ⇑(constantCoeff R)

tactic: rfl
state_before: R : Type u_1
inst✝ : Semiring R
⊢ ⇑(MvPowerSeries.coeff R 0) = ⇑(constantCoeff R)
state_after: no goals
Theorem: Polynomial.natDegree_X_pow_add_C
File: Mathlib/Algebra/Polynomial/Degree/Definitions.lean

tactic: by_cases hn : n = 0
state_before: R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝¹ : Nontrivial R
inst✝ : Semiring R
n : ℕ
r : R
⊢ (X ^ n + C r).natDegree = n
state_after: case pos
R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝¹ : Nontrivial R
inst✝ : Semiring R
n : ℕ
r : R
hn : n = 0
⊢ (X ^ n + C r).natDegree = n

case neg
R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝¹ : Nontrivial R
inst✝ : Semiring R
n : ℕ
r : R
hn : ¬n = 0
⊢ (X ^ n + C r).natDegree = n

tactic: rw [hn, pow_zero, ← C_1, ← RingHom.map_add, natDegree_C]
state_before: case pos
R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝¹ : Nontrivial R
inst✝ : Semiring R
n : ℕ
r : R
hn : n = 0
⊢ (X ^ n + C r).natDegree = n
state_after: no goals

tactic: exact natDegree_eq_of_degree_eq_some (degree_X_pow_add_C (pos_iff_ne_zero.mpr hn) r)
state_before: case neg
R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝¹ : Nontrivial R
inst✝ : Semiring R
n : ℕ
r : R
hn : ¬n = 0
⊢ (X ^ n + C r).natDegree = n
state_after: no goals
Theorem: MeasureTheory.Measure.univ_pi_Ioi_ae_eq_Ici
File: Mathlib/MeasureTheory/Constructions/Pi.lean

tactic: rw [← pi_univ_Ici]
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ i)
inst✝¹ : (i : ι) → PartialOrder (α i)
inst✝ : ∀ (i : ι), NoAtoms (μ i)
f : (i : ι) → α i
⊢ (univ.pi fun i => Ioi (f i)) =ᶠ[ae (Measure.pi μ)] Ici f
state_after: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ i)
inst✝¹ : (i : ι) → PartialOrder (α i)
inst✝ : ∀ (i : ι), NoAtoms (μ i)
f : (i : ι) → α i
⊢ (univ.pi fun i => Ioi (f i)) =ᶠ[ae (Measure.pi μ)] univ.pi fun i => Ici (f i)

tactic: exact pi_Ioi_ae_eq_pi_Ici
state_before: ι : Type u_1
ι' : Type u_2
α : ι → Type u_3
inst✝⁴ : Fintype ι
m : (i : ι) → OuterMeasure (α i)
inst✝³ : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
inst✝² : ∀ (i : ι), SigmaFinite (μ i)
inst✝¹ : (i : ι) → PartialOrder (α i)
inst✝ : ∀ (i : ι), NoAtoms (μ i)
f : (i : ι) → α i
⊢ (univ.pi fun i => Ioi (f i)) =ᶠ[ae (Measure.pi μ)] univ.pi fun i => Ici (f i)
state_after: no goals
Theorem: Partrec.vector_mOfFn
File: Mathlib/Computability/Partrec.lean

tactic: simp only [Vector.mOfFn, Nat.add_eq, Nat.add_zero, pure_eq_some, bind_eq_bind]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
f : Fin (n + 1) → α →. σ
hf : ∀ (i : Fin (n + 1)), Partrec (f i)
⊢ Partrec fun a => Vector.mOfFn fun i => f i a
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
f : Fin (n + 1) → α →. σ
hf : ∀ (i : Fin (n + 1)), Partrec (f i)
⊢ Partrec fun a => (f 0 a).bind fun a_1 => (Vector.mOfFn fun i => f i.succ a).bind fun v => Part.some (a_1 ::ᵥ v)

tactic: exact
  (hf 0).bind
    (Partrec.bind ((vector_mOfFn fun i => hf i.succ).comp fst)
      (Primrec.vector_cons.to_comp.comp (snd.comp fst) snd))
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
n : ℕ
f : Fin (n + 1) → α →. σ
hf : ∀ (i : Fin (n + 1)), Partrec (f i)
⊢ Partrec fun a => (f 0 a).bind fun a_1 => (Vector.mOfFn fun i => f i.succ a).bind fun v => Part.some (a_1 ::ᵥ v)
state_after: no goals
Theorem: CategoryTheory.Limits.pullback_diagonal_map_snd_fst_fst
File: Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean

tactic: simp [condition]
state_before: C : Type u_1
inst✝¹ : Category.{?u.10335, u_1} C
X Y Z : C
inst✝ : HasPullbacks C
U V₁ V₂ : C
f : X ⟶ Y
i : U ⟶ Y
i₁ : V₁ ⟶ pullback f i
i₂ : V₂ ⟶ pullback f i
⊢ (i₁ ≫ snd) ≫ i = (i₁ ≫ fst) ≫ f
state_after: no goals

tactic: simp [condition]
state_before: C : Type u_1
inst✝¹ : Category.{?u.10335, u_1} C
X Y Z : C
inst✝ : HasPullbacks C
U V₁ V₂ : C
f : X ⟶ Y
i : U ⟶ Y
i₁ : V₁ ⟶ pullback f i
i₂ : V₂ ⟶ pullback f i
⊢ (i₂ ≫ snd) ≫ i = (i₂ ≫ fst) ≫ f
state_after: no goals

tactic: conv_rhs => rw [← Category.comp_id pullback.fst]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
X Y Z : C
inst✝ : HasPullbacks C
U V₁ V₂ : C
f : X ⟶ Y
i : U ⟶ Y
i₁ : V₁ ⟶ pullback f i
i₂ : V₂ ⟶ pullback f i
⊢ snd ≫ fst ≫ i₁ ≫ fst = fst
state_after: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
X Y Z : C
inst✝ : HasPullbacks C
U V₁ V₂ : C
f : X ⟶ Y
i : U ⟶ Y
i₁ : V₁ ⟶ pullback f i
i₂ : V₂ ⟶ pullback f i
⊢ snd ≫ fst ≫ i₁ ≫ fst = fst ≫ 𝟙 X

tactic: rw [← diagonal_fst f, pullback.condition_assoc, pullback.lift_fst]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
X Y Z : C
inst✝ : HasPullbacks C
U V₁ V₂ : C
f : X ⟶ Y
i : U ⟶ Y
i₁ : V₁ ⟶ pullback f i
i₂ : V₂ ⟶ pullback f i
⊢ snd ≫ fst ≫ i₁ ≫ fst = fst ≫ 𝟙 X
state_after: no goals
Theorem: EulerProduct.one_sub_inv_eq_geometric_of_summable_norm
File: Mathlib/NumberTheory/EulerProduct/Basic.lean

tactic: simp only [map_pow]
state_before: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ (1 - f p)⁻¹ = ∑' (e : ℕ), f (p ^ e)
state_after: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ (1 - f p)⁻¹ = ∑' (e : ℕ), f p ^ e

tactic: refine (tsum_geometric_of_norm_lt_one <| summable_geometric_iff_norm_lt_one.mp ?_).symm
state_before: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ (1 - f p)⁻¹ = ∑' (e : ℕ), f p ^ e
state_after: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ Summable fun n => f p ^ n

tactic: refine Summable.of_norm ?_
state_before: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ Summable fun n => f p ^ n
state_after: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ Summable fun a => ‖f p ^ a‖

tactic: simpa only [Function.comp_def, map_pow]
  using hsum.comp_injective <| Nat.pow_right_injective hp.one_lt
state_before: F : Type u_1
inst✝¹ : NormedField F
inst✝ : CompleteSpace F
f : ℕ →*₀ F
p : ℕ
hp : Nat.Prime p
hsum : Summable fun x => ‖f x‖
⊢ Summable fun a => ‖f p ^ a‖
state_after: no goals
Theorem: CategoryTheory.Equivalence.cancel_unit_right_assoc
File: Mathlib/CategoryTheory/Equivalence.lean

tactic: simp only [← Category.assoc, cancel_mono]
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
E : Type u₃
inst✝ : Category.{v₃, u₃} E
e : C ≌ D
W X X' Y : C
f : W ⟶ X
g : X ⟶ Y
f' : W ⟶ X'
g' : X' ⟶ Y
⊢ f ≫ g ≫ e.unit.app Y = f' ≫ g' ≫ e.unit.app Y ↔ f ≫ g = f' ≫ g'
state_after: no goals
Theorem: ChainComplex.single₀_map_f_zero
File: Mathlib/Algebra/Homology/Single.lean

tactic: rw [HomologicalComplex.single_map_f_self]
state_before: V : Type u
inst✝² : Category.{v, u} V
inst✝¹ : HasZeroMorphisms V
inst✝ : HasZeroObject V
A B : V
f : A ⟶ B
⊢ ((single₀ V).map f).f 0 = f
state_after: V : Type u
inst✝² : Category.{v, u} V
inst✝¹ : HasZeroMorphisms V
inst✝ : HasZeroObject V
A B : V
f : A ⟶ B
⊢ (HomologicalComplex.singleObjXSelf (ComplexShape.down ℕ) 0 A).hom ≫
      f ≫ (HomologicalComplex.singleObjXSelf (ComplexShape.down ℕ) 0 B).inv =
    f

tactic: dsimp [HomologicalComplex.singleObjXSelf, HomologicalComplex.singleObjXIsoOfEq]
state_before: V : Type u
inst✝² : Category.{v, u} V
inst✝¹ : HasZeroMorphisms V
inst✝ : HasZeroObject V
A B : V
f : A ⟶ B
⊢ (HomologicalComplex.singleObjXSelf (ComplexShape.down ℕ) 0 A).hom ≫
      f ≫ (HomologicalComplex.singleObjXSelf (ComplexShape.down ℕ) 0 B).inv =
    f
state_after: V : Type u
inst✝² : Category.{v, u} V
inst✝¹ : HasZeroMorphisms V
inst✝ : HasZeroObject V
A B : V
f : A ⟶ B
⊢ 𝟙 A ≫ f ≫ 𝟙 B = f

tactic: erw [comp_id, id_comp]
state_before: V : Type u
inst✝² : Category.{v, u} V
inst✝¹ : HasZeroMorphisms V
inst✝ : HasZeroObject V
A B : V
f : A ⟶ B
⊢ 𝟙 A ≫ f ≫ 𝟙 B = f
state_after: no goals
Theorem: hasDerivWithinAt_forall_lt_or_forall_gt_of_forall_ne
File: Mathlib/Analysis/Calculus/Darboux.lean

tactic: contrapose! hf'
state_before: a b : ℝ
f f' : ℝ → ℝ
s : Set ℝ
hs : Convex ℝ s
hf : ∀ x ∈ s, HasDerivWithinAt f (f' x) s x
m : ℝ
hf' : ∀ x ∈ s, f' x ≠ m
⊢ (∀ x ∈ s, f' x < m) ∨ ∀ x ∈ s, m < f' x
state_after: a b : ℝ
f f' : ℝ → ℝ
s : Set ℝ
hs : Convex ℝ s
hf : ∀ x ∈ s, HasDerivWithinAt f (f' x) s x
m : ℝ
hf' : (∃ x ∈ s, m ≤ f' x) ∧ ∃ x ∈ s, f' x ≤ m
⊢ ∃ x ∈ s, f' x = m

tactic: rcases hf' with ⟨⟨b, hb, hmb⟩, ⟨a, ha, hma⟩⟩
state_before: a b : ℝ
f f' : ℝ → ℝ
s : Set ℝ
hs : Convex ℝ s
hf : ∀ x ∈ s, HasDerivWithinAt f (f' x) s x
m : ℝ
hf' : (∃ x ∈ s, m ≤ f' x) ∧ ∃ x ∈ s, f' x ≤ m
⊢ ∃ x ∈ s, f' x = m
state_after: case intro.intro.intro.intro.intro
a✝ b✝ : ℝ
f f' : ℝ → ℝ
s : Set ℝ
hs : Convex ℝ s
hf : ∀ x ∈ s, HasDerivWithinAt f (f' x) s x
m b : ℝ
hb : b ∈ s
hmb : m ≤ f' b
a : ℝ
ha : a ∈ s
hma : f' a ≤ m
⊢ ∃ x ∈ s, f' x = m

tactic: exact (hs.ordConnected.image_hasDerivWithinAt hf).out (mem_image_of_mem f' ha)
  (mem_image_of_mem f' hb) ⟨hma, hmb⟩
state_before: case intro.intro.intro.intro.intro
a✝ b✝ : ℝ
f f' : ℝ → ℝ
s : Set ℝ
hs : Convex ℝ s
hf : ∀ x ∈ s, HasDerivWithinAt f (f' x) s x
m b : ℝ
hb : b ∈ s
hmb : m ≤ f' b
a : ℝ
ha : a ∈ s
hma : f' a ≤ m
⊢ ∃ x ∈ s, f' x = m
state_after: no goals
Theorem: OnePoint.not_continuous_cofiniteTopology_of_symm
File: Mathlib/Topology/Compactification/OnePoint.lean

tactic: inhabit X
state_before: X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
⊢ ¬Continuous ⇑CofiniteTopology.of.symm
state_after: X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
inhabited_h : Inhabited X
⊢ ¬Continuous ⇑CofiniteTopology.of.symm

tactic: simp only [continuous_iff_continuousAt, ContinuousAt, not_forall]
state_before: X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
inhabited_h : Inhabited X
⊢ ¬Continuous ⇑CofiniteTopology.of.symm
state_after: X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
inhabited_h : Inhabited X
⊢ ∃ x, ¬Tendsto (⇑CofiniteTopology.of.symm) (𝓝 x) (𝓝 (CofiniteTopology.of.symm x))

tactic: use CofiniteTopology.of ↑(default : X)
state_before: X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
inhabited_h : Inhabited X
⊢ ∃ x, ¬Tendsto (⇑CofiniteTopology.of.symm) (𝓝 x) (𝓝 (CofiniteTopology.of.symm x))
state_after: case h
X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
inhabited_h : Inhabited X
⊢ ¬Tendsto (⇑CofiniteTopology.of.symm) (𝓝 (CofiniteTopology.of ↑default))
      (𝓝 (CofiniteTopology.of.symm (CofiniteTopology.of ↑default)))

tactic: simpa [nhds_coe_eq, nhds_discrete, CofiniteTopology.nhds_eq] using
  (finite_singleton ((default : X) : OnePoint X)).infinite_compl
state_before: case h
X : Type u_1
inst✝² : TopologicalSpace X
s : Set (OnePoint X)
t : Set X
inst✝¹ : Infinite X
inst✝ : DiscreteTopology X
inhabited_h : Inhabited X
⊢ ¬Tendsto (⇑CofiniteTopology.of.symm) (𝓝 (CofiniteTopology.of ↑default))
      (𝓝 (CofiniteTopology.of.symm (CofiniteTopology.of ↑default)))
state_after: no goals
Theorem: Ordinal.zero_nmul
File: Mathlib/SetTheory/Ordinal/NaturalOps.lean

tactic: rw [nmul_comm, nmul_zero]
state_before: a✝ b c d : Ordinal.{u}
a : Ordinal.{u_1}
⊢ 0 ⨳ a = 0
state_after: no goals
Theorem: Complex.real_le_real
File: Mathlib/Data/Complex/Order.lean

tactic: simp [le_def, ofReal']
state_before: x y : ℝ
⊢ ↑x ≤ ↑y ↔ x ≤ y
state_after: no goals
Theorem: WeierstrassCurve.Affine.nonsingular_zero_of_Δ_ne_zero
File: Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean

tactic: simp only [equation_zero, nonsingular_zero] at *
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
h : W.Equation 0 0
hΔ : Δ W ≠ 0
⊢ W.Nonsingular 0 0
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
hΔ : Δ W ≠ 0
h : W.a₆ = 0
⊢ W.a₆ = 0 ∧ (W.a₃ ≠ 0 ∨ W.a₄ ≠ 0)

tactic: contrapose! hΔ
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
hΔ : Δ W ≠ 0
h : W.a₆ = 0
⊢ W.a₆ = 0 ∧ (W.a₃ ≠ 0 ∨ W.a₄ ≠ 0)
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
h : W.a₆ = 0
hΔ : W.a₆ = 0 → W.a₃ = 0 ∧ W.a₄ = 0
⊢ Δ W = 0

tactic: simp only [b₂, b₄, b₆, b₈, Δ, h, hΔ]
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
h : W.a₆ = 0
hΔ : W.a₆ = 0 → W.a₃ = 0 ∧ W.a₄ = 0
⊢ Δ W = 0
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
h : W.a₆ = 0
hΔ : W.a₆ = 0 → W.a₃ = 0 ∧ W.a₄ = 0
⊢ -(W.a₁ ^ 2 + 4 * W.a₂) ^ 2 * (W.a₁ ^ 2 * 0 + 4 * W.a₂ * 0 - W.a₁ * 0 * 0 + W.a₂ * 0 ^ 2 - 0 ^ 2) -
          8 * (2 * 0 + W.a₁ * 0) ^ 3 -
        27 * (0 ^ 2 + 4 * 0) ^ 2 +
      9 * (W.a₁ ^ 2 + 4 * W.a₂) * (2 * 0 + W.a₁ * 0) * (0 ^ 2 + 4 * 0) =
    0

tactic: ring1
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
h : W.a₆ = 0
hΔ : W.a₆ = 0 → W.a₃ = 0 ∧ W.a₄ = 0
⊢ -(W.a₁ ^ 2 + 4 * W.a₂) ^ 2 * (W.a₁ ^ 2 * 0 + 4 * W.a₂ * 0 - W.a₁ * 0 * 0 + W.a₂ * 0 ^ 2 - 0 ^ 2) -
          8 * (2 * 0 + W.a₁ * 0) ^ 3 -
        27 * (0 ^ 2 + 4 * 0) ^ 2 +
      9 * (W.a₁ ^ 2 + 4 * W.a₂) * (2 * 0 + W.a₁ * 0) * (0 ^ 2 + 4 * 0) =
    0
state_after: no goals
Theorem: Cardinal.aleph'_nat
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: rw [aleph'_succ, aleph'_nat n, nat_succ]
state_before: n : ℕ
⊢ aleph' (succ ↑n) = ↑n.succ
state_after: no goals
Theorem: Polynomial.roots_expand_image_frobenius_subset
File: Mathlib/FieldTheory/Perfect.lean

tactic: rw [← iterateFrobenius_one]
state_before: R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : DecidableEq R
⊢ Finset.image (⇑(frobenius R p)) ((expand R p) f).roots.toFinset ⊆ f.roots.toFinset
state_after: R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : DecidableEq R
⊢ Finset.image (⇑(iterateFrobenius R p 1)) ((expand R p) f).roots.toFinset ⊆ f.roots.toFinset

tactic: convert ← roots_expand_pow_image_iterateFrobenius_subset p 1 f
state_before: R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : DecidableEq R
⊢ Finset.image (⇑(iterateFrobenius R p 1)) ((expand R p) f).roots.toFinset ⊆ f.roots.toFinset
state_after: case h.e'_3.h.e'_5.h.e'_3.h.e'_4.h.e'_5.h.e'_3
R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : DecidableEq R
⊢ p ^ 1 = p

tactic: apply pow_one
state_before: case h.e'_3.h.e'_5.h.e'_3.h.e'_4.h.e'_5.h.e'_3
R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : DecidableEq R
⊢ p ^ 1 = p
state_after: no goals
Theorem: dist_inv
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simp_rw [dist_eq_norm_div, ← norm_inv' (x⁻¹ / y), inv_div, div_inv_eq_mul, mul_comm]
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
x y : E
⊢ dist x⁻¹ y = dist x y⁻¹
state_after: no goals
Theorem: CategoryTheory.Iso.unop_op
File: Mathlib/CategoryTheory/Opposites.lean

tactic: (ext; rfl)
state_before: C : Type u₁
inst✝ : Category.{v₁, u₁} C
X✝ Y✝ : C
X Y : Cᵒᵖ
f : X ≅ Y
⊢ f.unop.op = f
state_after: no goals

tactic: ext
state_before: C : Type u₁
inst✝ : Category.{v₁, u₁} C
X✝ Y✝ : C
X Y : Cᵒᵖ
f : X ≅ Y
⊢ f.unop.op = f
state_after: case w
C : Type u₁
inst✝ : Category.{v₁, u₁} C
X✝ Y✝ : C
X Y : Cᵒᵖ
f : X ≅ Y
⊢ f.unop.op.hom = f.hom

tactic: rfl
state_before: case w
C : Type u₁
inst✝ : Category.{v₁, u₁} C
X✝ Y✝ : C
X Y : Cᵒᵖ
f : X ≅ Y
⊢ f.unop.op.hom = f.hom
state_after: no goals
Theorem: Set.preimage_const_mul_Iio_of_neg
File: Mathlib/Data/Set/Pointwise/Interval.lean

tactic: simpa only [mul_comm] using preimage_mul_const_Iio_of_neg a h
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a✝ a c : α
h : c < 0
⊢ (fun x => c * x) ⁻¹' Iio a = Ioi (a / c)
state_after: no goals
Theorem: CategoryTheory.SingleFunctors.shiftIso_add'
File: Mathlib/CategoryTheory/Shift/SingleFunctors.lean

tactic: rw [← hnm, ← ha'', ← ha', add_assoc]
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{?u.13728, u_1} C
inst✝⁴ : Category.{?u.13732, u_2} D
inst✝³ : Category.{?u.13736, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
n m mn : A
hnm : m + n = mn
a a' a'' : A
ha' : n + a = a'
ha'' : m + a' = a''
⊢ mn + a = a''
state_after: no goals

tactic: subst hnm
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{u_7, u_1} C
inst✝⁴ : Category.{u_6, u_2} D
inst✝³ : Category.{?u.13736, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
n m mn : A
hnm : m + n = mn
a a' a'' : A
ha' : n + a = a'
ha'' : m + a' = a''
⊢ F.shiftIso mn a a'' ⋯ =
    isoWhiskerLeft (F.functor a'') (shiftFunctorAdd' D m n mn hnm) ≪≫
      ((F.functor a'').associator (shiftFunctor D m) (shiftFunctor D n)).symm ≪≫
        isoWhiskerRight (F.shiftIso m a' a'' ha'') (shiftFunctor D n) ≪≫ F.shiftIso n a a' ha'
state_after: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{u_7, u_1} C
inst✝⁴ : Category.{u_6, u_2} D
inst✝³ : Category.{?u.13736, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
n m a a' a'' : A
ha' : n + a = a'
ha'' : m + a' = a''
⊢ F.shiftIso (m + n) a a'' ⋯ =
    isoWhiskerLeft (F.functor a'') (shiftFunctorAdd' D m n (m + n) ⋯) ≪≫
      ((F.functor a'').associator (shiftFunctor D m) (shiftFunctor D n)).symm ≪≫
        isoWhiskerRight (F.shiftIso m a' a'' ha'') (shiftFunctor D n) ≪≫ F.shiftIso n a a' ha'

tactic: rw [shiftFunctorAdd'_eq_shiftFunctorAdd, shiftIso_add]
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁵ : Category.{u_7, u_1} C
inst✝⁴ : Category.{u_6, u_2} D
inst✝³ : Category.{?u.13736, u_3} E
A : Type u_5
inst✝² : AddMonoid A
inst✝¹ : HasShift D A
inst✝ : HasShift E A
F G H : SingleFunctors C D A
n m a a' a'' : A
ha' : n + a = a'
ha'' : m + a' = a''
⊢ F.shiftIso (m + n) a a'' ⋯ =
    isoWhiskerLeft (F.functor a'') (shiftFunctorAdd' D m n (m + n) ⋯) ≪≫
      ((F.functor a'').associator (shiftFunctor D m) (shiftFunctor D n)).symm ≪≫
        isoWhiskerRight (F.shiftIso m a' a'' ha'') (shiftFunctor D n) ≪≫ F.shiftIso n a a' ha'
state_after: no goals