1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: ContinuousLinearMap.norm_snd_le
File: Mathlib/Analysis/NormedSpace/OperatorNorm/Prod.lean

tactic: simpa only [one_mul] using le_max_right ‖e‖ ‖f‖
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : SeminormedAddCommGroup E
inst✝⁴ : SeminormedAddCommGroup F
inst✝³ : SeminormedAddCommGroup G
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace 𝕜 F
inst✝ : NormedSpace 𝕜 G
x✝ : E × F
e : E
f : F
⊢ ‖(snd 𝕜 E F) (e, f)‖ ≤ 1 * ‖(e, f)‖
state_after: no goals
Theorem: UniformSpace.ball_mem_nhds
File: Mathlib/Topology/UniformSpace/Basic.lean

tactic: rw [UniformSpace.mem_nhds_iff]
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
x : α
V : Set (α × α)
V_in : V ∈ 𝓤 α
⊢ ball x V ∈ 𝓝 x
state_after: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
x : α
V : Set (α × α)
V_in : V ∈ 𝓤 α
⊢ ∃ V_1 ∈ 𝓤 α, ball x V_1 ⊆ ball x V

tactic: exact ⟨V, V_in, Subset.rfl⟩
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
inst✝ : UniformSpace α
x : α
V : Set (α × α)
V_in : V ∈ 𝓤 α
⊢ ∃ V_1 ∈ 𝓤 α, ball x V_1 ⊆ ball x V
state_after: no goals
Theorem: Homotopy.nullHomotopicMap'_f_eq_zero
File: Mathlib/Algebra/Homology/Homotopy.lean

tactic: simp only [nullHomotopicMap']
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f g : C ⟶ D
h✝ k : D ⟶ E
i k₀ : ι
hk₀ : ∀ (l : ι), ¬c.Rel k₀ l
hk₀' : ∀ (l : ι), ¬c.Rel l k₀
h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)
⊢ (nullHomotopicMap' h).f k₀ = 0
state_after: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f g : C ⟶ D
h✝ k : D ⟶ E
i k₀ : ι
hk₀ : ∀ (l : ι), ¬c.Rel k₀ l
hk₀' : ∀ (l : ι), ¬c.Rel l k₀
h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)
⊢ (nullHomotopicMap fun i j => dite (c.Rel j i) (h i j) fun x => 0).f k₀ = 0

tactic: apply nullHomotopicMap_f_eq_zero hk₀ hk₀'
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f g : C ⟶ D
h✝ k : D ⟶ E
i k₀ : ι
hk₀ : ∀ (l : ι), ¬c.Rel k₀ l
hk₀' : ∀ (l : ι), ¬c.Rel l k₀
h : (i j : ι) → c.Rel j i → (C.X i ⟶ D.X j)
⊢ (nullHomotopicMap fun i j => dite (c.Rel j i) (h i j) fun x => 0).f k₀ = 0
state_after: no goals
Theorem: Complex.cpow_conj
File: Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean

tactic: rw [conj_cpow _ _ hx, conj_conj]
state_before: x n : ℂ
hx : x.arg ≠ π
⊢ x ^ (starRingEnd ℂ) n = (starRingEnd ℂ) ((starRingEnd ℂ) x ^ n)
state_after: no goals
Theorem: Finset.weightedVSub_vadd_affineCombination
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: rw [← vadd_eq_add, AffineMap.map_vadd, affineCombination_linear]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝² : Ring k
inst✝¹ : AddCommGroup V
inst✝ : Module k V
S : AffineSpace V P
ι : Type u_4
s : Finset ι
ι₂ : Type u_5
s₂ : Finset ι₂
w₁ w₂ : ι → k
p : ι → P
⊢ (s.weightedVSub p) w₁ +ᵥ (affineCombination k s p) w₂ = (affineCombination k s p) (w₁ + w₂)
state_after: no goals
Theorem: Finsupp.smul_single_one
File: Mathlib/Data/Finsupp/Basic.lean

tactic: rw [smul_single, smul_eq_mul, mul_one]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Semiring R
a : α
b : R
⊢ b • single a 1 = single a b
state_after: no goals
Theorem: ContinuousMultilinearMap.uncurry0_curry0
File: Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean

tactic: simp
state_before: 𝕜 : Type u
ι : Type v
ι' : Type v'
n : ℕ
E : ι → Type wE
E₁ : ι → Type wE₁
E' : ι' → Type wE'
Ei : Fin n.succ → Type wEi
G : Type wG
G' : Type wG'
inst✝¹⁴ : Fintype ι
inst✝¹³ : Fintype ι'
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁ i)
inst✝⁷ : (i : ι') → NormedAddCommGroup (E' i)
inst✝⁶ : (i : ι') → NormedSpace 𝕜 (E' i)
inst✝⁵ : (i : Fin n.succ) → NormedAddCommGroup (Ei i)
inst✝⁴ : (i : Fin n.succ) → NormedSpace 𝕜 (Ei i)
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f : ContinuousMultilinearMap 𝕜 (fun i => G) G'
⊢ curry0 𝕜 G f.uncurry0 = f
state_after: no goals
Theorem: div_self'
File: Mathlib/Algebra/Group/Basic.lean

tactic: rw [div_eq_mul_inv, mul_right_inv a]
state_before: α : Type u_1
β : Type u_2
G : Type u_3
M : Type u_4
inst✝ : Group G
a✝ b c d : G
n : ℤ
a : G
⊢ a / a = 1
state_after: no goals
Theorem: Pell.exists_iff_not_isSquare
File: Mathlib/NumberTheory/Pell.lean

tactic: refine ⟨?_, exists_of_not_isSquare h₀⟩
state_before: d : ℤ
h₀ : 0 < d
⊢ (∃ x y, x ^ 2 - d * y ^ 2 = 1 ∧ y ≠ 0) ↔ ¬IsSquare d
state_after: d : ℤ
h₀ : 0 < d
⊢ (∃ x y, x ^ 2 - d * y ^ 2 = 1 ∧ y ≠ 0) → ¬IsSquare d

tactic: rintro ⟨x, y, hxy, hy⟩ ⟨a, rfl⟩
state_before: d : ℤ
h₀ : 0 < d
⊢ (∃ x y, x ^ 2 - d * y ^ 2 = 1 ∧ y ≠ 0) → ¬IsSquare d
state_after: case intro.intro.intro.intro
x y : ℤ
hy : y ≠ 0
a : ℤ
h₀ : 0 < a * a
hxy : x ^ 2 - a * a * y ^ 2 = 1
⊢ False

tactic: rw [← sq, ← mul_pow, sq_sub_sq] at hxy
state_before: case intro.intro.intro.intro
x y : ℤ
hy : y ≠ 0
a : ℤ
h₀ : 0 < a * a
hxy : x ^ 2 - a * a * y ^ 2 = 1
⊢ False
state_after: case intro.intro.intro.intro
x y : ℤ
hy : y ≠ 0
a : ℤ
h₀ : 0 < a * a
hxy : (x + a * y) * (x - a * y) = 1
⊢ False

tactic: simpa [hy, mul_self_pos.mp h₀, sub_eq_add_neg, eq_neg_self_iff] using Int.eq_of_mul_eq_one hxy
state_before: case intro.intro.intro.intro
x y : ℤ
hy : y ≠ 0
a : ℤ
h₀ : 0 < a * a
hxy : (x + a * y) * (x - a * y) = 1
⊢ False
state_after: no goals
Theorem: Real.sSup_empty
File: Mathlib/Data/Real/Archimedean.lean

tactic: simp
state_before: ⊢ ¬(∅.Nonempty ∧ BddAbove ∅)
state_after: no goals
Theorem: PerfectRing.liftAux_self_apply
File: Mathlib/FieldTheory/IsPerfectClosure.lean

tactic: rw [liftAux, Classical.choose_spec (lift_aux i p x), ← iterateFrobenius_def,
  ← iterateFrobeniusEquiv_apply, RingEquiv.symm_apply_apply]
state_before: K : Type u_1
L : Type u_2
M : Type u_3
N : Type u_4
inst✝⁸ : CommSemiring K
inst✝⁷ : CommSemiring L
inst✝⁶ : CommSemiring M
i : K →+* L
j : K →+* M
f : L →+* M
p : ℕ
inst✝⁵ : ExpChar K p
inst✝⁴ : ExpChar L p
inst✝³ : ExpChar M p
inst✝² : PerfectRing M p
inst✝¹ : IsPRadical i p
inst✝ : PerfectRing L p
x : L
⊢ liftAux i i p x = x
state_after: no goals
Theorem: MeasureTheory.compl_mem_ae_iff
File: Mathlib/MeasureTheory/OuterMeasure/AE.lean

tactic: simp only [mem_ae_iff, compl_compl]
state_before: α : Type u_1
β : Type u_2
F : Type u_3
inst✝¹ : FunLike F (Set α) ℝ≥0∞
inst✝ : OuterMeasureClass F α
μ : F
s✝ t s : Set α
⊢ sᶜ ∈ ae μ ↔ μ s = 0
state_after: no goals
Theorem: Homeomorph.trans_transPartialHomeomorph
File: Mathlib/Topology/PartialHomeomorph.lean

tactic: simp only [transPartialHomeomorph_eq_trans, PartialHomeomorph.trans_assoc,
  trans_toPartialHomeomorph]
state_before: X : Type u_1
X' : Type u_2
Y : Type u_3
Y' : Type u_4
Z : Type u_5
Z' : Type u_6
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace X'
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Y'
inst✝¹ : TopologicalSpace Z
inst✝ : TopologicalSpace Z'
e✝ : X ≃ₜ Y
e'✝ : Y ≃ₜ Z
e : X ≃ₜ Y
e' : Y ≃ₜ Z
f'' : PartialHomeomorph Z Z'
⊢ (e.trans e').transPartialHomeomorph f'' = e.transPartialHomeomorph (e'.transPartialHomeomorph f'')
state_after: no goals
Theorem: inv_thickening
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

tactic: simp_rw [thickening, ← infEdist_inv]
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ (thickening δ s)⁻¹ = thickening δ s⁻¹
state_after: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ {x | EMetric.infEdist x s < ENNReal.ofReal δ}⁻¹ = {x | EMetric.infEdist x⁻¹ s < ENNReal.ofReal δ}

tactic: rfl
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ {x | EMetric.infEdist x s < ENNReal.ofReal δ}⁻¹ = {x | EMetric.infEdist x⁻¹ s < ENNReal.ofReal δ}
state_after: no goals
Theorem: IsDedekindDomain.HeightOneSpectrum.IntValuation.map_one'
File: Mathlib/RingTheory/DedekindDomain/AdicValuation.lean

tactic: rw [v.intValuationDef_if_neg (zero_ne_one.symm : (1 : R) ≠ 0), Ideal.span_singleton_one, ←
  Ideal.one_eq_top, Associates.mk_one, Associates.factors_one,
  Associates.count_zero (by apply v.associates_irreducible), Int.ofNat_zero, neg_zero, ofAdd_zero,
  WithZero.coe_one]
state_before: R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
K : Type u_2
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
⊢ v.intValuationDef 1 = 1
state_after: no goals

tactic: apply v.associates_irreducible
state_before: R : Type u_1
inst✝⁴ : CommRing R
inst✝³ : IsDedekindDomain R
K : Type u_2
inst✝² : Field K
inst✝¹ : Algebra R K
inst✝ : IsFractionRing R K
v : HeightOneSpectrum R
⊢ Irreducible (Associates.mk v.asIdeal)
state_after: no goals
Theorem: Multiset.dedup_cons
File: Mathlib/Data/Multiset/FinsetOps.lean

tactic: by_cases h : a ∈ s <;> simp [h]
state_before: α : Type u_1
inst✝ : DecidableEq α
s✝ : Multiset α
a : α
s : Multiset α
⊢ (a ::ₘ s).dedup = ndinsert a s.dedup
state_after: no goals
Theorem: CategoryTheory.Adjunction.restrictFullyFaithful_homEquiv_apply
File: Mathlib/CategoryTheory/Adjunction/Restrict.lean

tactic: simp [restrictFullyFaithful]
state_before: C : Type u₁
inst✝³ : Category.{v₁, u₁} C
D : Type u₂
inst✝² : Category.{v₂, u₂} D
C' : Type u₃
inst✝¹ : Category.{v₃, u₃} C'
D' : Type u₄
inst✝ : Category.{v₄, u₄} D'
iC : C ⥤ C'
iD : D ⥤ D'
hiC : iC.FullyFaithful
hiD : iD.FullyFaithful
L' : C' ⥤ D'
R' : D' ⥤ C'
adj : L' ⊣ R'
L : C ⥤ D
R : D ⥤ C
comm1 : iC ⋙ L' ≅ L ⋙ iD
comm2 : iD ⋙ R' ≅ R ⋙ iC
X : C
Y : D
f : L.obj X ⟶ Y
⊢ ((restrictFullyFaithful hiC hiD adj comm1 comm2).homEquiv X Y) f =
    hiC.preimage (adj.unit.app (iC.obj X) ≫ R'.map (comm1.hom.app X) ≫ R'.map (iD.map f) ≫ comm2.hom.app Y)
state_after: no goals
Theorem: open_dom_of_pcontinuous
File: Mathlib/Topology/Partial.lean

tactic: rw [← PFun.preimage_univ]
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f : X →. Y
h : PContinuous f
⊢ IsOpen f.Dom
state_after: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f : X →. Y
h : PContinuous f
⊢ IsOpen (f.preimage Set.univ)

tactic: exact h _ isOpen_univ
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f : X →. Y
h : PContinuous f
⊢ IsOpen (f.preimage Set.univ)
state_after: no goals
Theorem: HomologicalComplex.fromOpcycles_d
File: Mathlib/Algebra/Homology/ShortComplex/HomologicalComplex.lean

tactic: simp only [← cancel_epi (K.pOpcycles i), p_fromOpcycles_assoc, d_comp_d, comp_zero]
state_before: C : Type u_1
inst✝² : Category.{u_3, u_1} C
inst✝¹ : HasZeroMorphisms C
ι : Type u_2
c : ComplexShape ι
K L M : HomologicalComplex C c
φ : K ⟶ L
ψ : L ⟶ M
i j k : ι
inst✝ : K.HasHomology i
⊢ K.fromOpcycles i j ≫ K.d j k = 0
state_after: no goals
Theorem: Int.fract_add_fract_le
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [fract, fract, fract, sub_add_sub_comm, sub_add, sub_le_sub_iff_left]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a✝ a b : α
⊢ fract a + fract b ≤ fract (a + b) + 1
state_after: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a✝ a b : α
⊢ ↑⌊a + b⌋ - 1 ≤ ↑⌊a⌋ + ↑⌊b⌋

tactic: exact mod_cast le_floor_add_floor a b
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a✝ a b : α
⊢ ↑⌊a + b⌋ - 1 ≤ ↑⌊a⌋ + ↑⌊b⌋
state_after: no goals
Theorem: ProjectiveSpectrum.isOpen_iff
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean

tactic: simp only [@eq_comm _ Uᶜ]
state_before: R : Type u_1
A : Type u_2
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
U : Set (ProjectiveSpectrum 𝒜)
⊢ IsOpen U ↔ ∃ s, Uᶜ = zeroLocus 𝒜 s
state_after: R : Type u_1
A : Type u_2
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
U : Set (ProjectiveSpectrum 𝒜)
⊢ IsOpen U ↔ ∃ s, zeroLocus 𝒜 s = Uᶜ

tactic: rfl
state_before: R : Type u_1
A : Type u_2
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
U : Set (ProjectiveSpectrum 𝒜)
⊢ IsOpen U ↔ ∃ s, zeroLocus 𝒜 s = Uᶜ
state_after: no goals
Theorem: Equiv.Perm.SameCycle.conj
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: simp [sameCycle_conj]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
p : α → Prop
x y z : α
⊢ f.SameCycle x y → (g * f * g⁻¹).SameCycle (g x) (g y)
state_after: no goals
Theorem: NonUnitalStarAlgebra.mem_sup_right
File: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean

tactic: rw [← SetLike.le_def]
state_before: F : Type v'
R' : Type u'
R : Type u
A : Type v
B : Type w
C : Type w'
inst✝¹⁶ : CommSemiring R
inst✝¹⁵ : StarRing R
inst✝¹⁴ : NonUnitalSemiring A
inst✝¹³ : StarRing A
inst✝¹² : Module R A
inst✝¹¹ : IsScalarTower R A A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : StarModule R A
inst✝⁸ : NonUnitalSemiring B
inst✝⁷ : StarRing B
inst✝⁶ : Module R B
inst✝⁵ : IsScalarTower R B B
inst✝⁴ : SMulCommClass R B B
inst✝³ : StarModule R B
inst✝² : FunLike F A B
inst✝¹ : NonUnitalAlgHomClass F R A B
inst✝ : NonUnitalStarAlgHomClass F R A B
S T : NonUnitalStarSubalgebra R A
⊢ ∀ {x : A}, x ∈ T → x ∈ S ⊔ T
state_after: F : Type v'
R' : Type u'
R : Type u
A : Type v
B : Type w
C : Type w'
inst✝¹⁶ : CommSemiring R
inst✝¹⁵ : StarRing R
inst✝¹⁴ : NonUnitalSemiring A
inst✝¹³ : StarRing A
inst✝¹² : Module R A
inst✝¹¹ : IsScalarTower R A A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : StarModule R A
inst✝⁸ : NonUnitalSemiring B
inst✝⁷ : StarRing B
inst✝⁶ : Module R B
inst✝⁵ : IsScalarTower R B B
inst✝⁴ : SMulCommClass R B B
inst✝³ : StarModule R B
inst✝² : FunLike F A B
inst✝¹ : NonUnitalAlgHomClass F R A B
inst✝ : NonUnitalStarAlgHomClass F R A B
S T : NonUnitalStarSubalgebra R A
⊢ T ≤ S ⊔ T

tactic: exact le_sup_right
state_before: F : Type v'
R' : Type u'
R : Type u
A : Type v
B : Type w
C : Type w'
inst✝¹⁶ : CommSemiring R
inst✝¹⁵ : StarRing R
inst✝¹⁴ : NonUnitalSemiring A
inst✝¹³ : StarRing A
inst✝¹² : Module R A
inst✝¹¹ : IsScalarTower R A A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : StarModule R A
inst✝⁸ : NonUnitalSemiring B
inst✝⁷ : StarRing B
inst✝⁶ : Module R B
inst✝⁵ : IsScalarTower R B B
inst✝⁴ : SMulCommClass R B B
inst✝³ : StarModule R B
inst✝² : FunLike F A B
inst✝¹ : NonUnitalAlgHomClass F R A B
inst✝ : NonUnitalStarAlgHomClass F R A B
S T : NonUnitalStarSubalgebra R A
⊢ T ≤ S ⊔ T
state_after: no goals
Theorem: Filter.comap_bot
File: Mathlib/Order/Filter/Basic.lean

tactic: simp only [empty_subset, preimage_empty]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
m : α → β
m' : β → γ
s✝ : Set α
t : Set β
s : Set α
x✝ : s ∈ ⊥
⊢ m ⁻¹' ∅ ⊆ s
state_after: no goals
Theorem: PrimeSpectrum.vanishingIdeal_empty
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

tactic: simpa using (gc R).u_top
state_before: R : Type u
S : Type v
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
⊢ vanishingIdeal ∅ = ⊤
state_after: no goals
Theorem: IsSubfield.pow_mem
File: Mathlib/Deprecated/Subfield.lean

tactic: cases' n with n n
state_before: F : Type u_1
inst✝ : Field F
S : Set F
a : F
n : ℤ
s : Set F
hs : IsSubfield s
h : a ∈ s
⊢ a ^ n ∈ s
state_after: case ofNat
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ Int.ofNat n ∈ s

case negSucc
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ Int.negSucc n ∈ s

tactic: suffices a ^ (n : ℤ) ∈ s by exact this
state_before: case ofNat
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ Int.ofNat n ∈ s
state_after: case ofNat
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ ↑n ∈ s

tactic: rw [zpow_natCast]
state_before: case ofNat
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ ↑n ∈ s
state_after: case ofNat
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ n ∈ s

tactic: exact hs.toIsSubring.toIsSubmonoid.pow_mem h
state_before: case ofNat
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ n ∈ s
state_after: no goals

tactic: exact this
state_before: F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
this : a ^ ↑n ∈ s
⊢ a ^ Int.ofNat n ∈ s
state_after: no goals

tactic: rw [zpow_negSucc]
state_before: case negSucc
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ a ^ Int.negSucc n ∈ s
state_after: case negSucc
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ (a ^ (n + 1))⁻¹ ∈ s

tactic: exact hs.inv_mem (hs.toIsSubring.toIsSubmonoid.pow_mem h)
state_before: case negSucc
F : Type u_1
inst✝ : Field F
S : Set F
a : F
s : Set F
hs : IsSubfield s
h : a ∈ s
n : ℕ
⊢ (a ^ (n + 1))⁻¹ ∈ s
state_after: no goals
Theorem: CategoryTheory.Adjunction.homEquiv_naturality_right_square
File: Mathlib/CategoryTheory/Adjunction/Basic.lean

tactic: rw [← homEquiv_naturality_left_symm, ← homEquiv_naturality_right_symm, w]
state_before: C : Type u₁
inst✝¹ : Category.{v₁, u₁} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
F : C ⥤ D
G : D ⥤ C
adj : F ⊣ G
X' X : C
Y Y' : D
f : X' ⟶ X
g : X ⟶ G.obj Y'
h : X' ⟶ G.obj Y
k : Y ⟶ Y'
w : f ≫ g = h ≫ G.map k
⊢ F.map f ≫ (adj.homEquiv X Y').symm g = (adj.homEquiv X' Y).symm h ≫ k
state_after: no goals
Theorem: Nat.not_pos_pow_dvd
File: Mathlib/Data/Nat/Defs.lean

tactic: simpa [pow_succ'] using h
state_before: a✝ b c d m n✝ k : ℕ
p q : ℕ → Prop
a n : ℕ
hp : 1 < a.succ
hk : 1 < n.succ
h : a.succ ^ n.succ ∣ a.succ
⊢ a.succ * a.succ ^ n ∣ a.succ * 1
state_after: no goals

tactic: rwa [he] at this
state_before: a✝ b c d m n✝ k : ℕ
p q : ℕ → Prop
a n : ℕ
hp : 1 < a.succ
hk : 1 < n.succ
h : a.succ ^ n.succ ∣ a.succ
this✝¹ : a.succ * a.succ ^ n ∣ a.succ * 1
this✝ : a.succ ^ n ∣ 1
he : a.succ ^ n = 1
this : n < a.succ ^ n
⊢ n < 1
state_after: no goals

tactic: rwa [this] at hk
state_before: a✝ b c d m n✝ k : ℕ
p q : ℕ → Prop
a n : ℕ
hp : 1 < a.succ
hk : 1 < n.succ
h : a.succ ^ n.succ ∣ a.succ
this✝³ : a.succ * a.succ ^ n ∣ a.succ * 1
this✝² : a.succ ^ n ∣ 1
he : a.succ ^ n = 1
this✝¹ : n < a.succ ^ n
this✝ : n < 1
this : n = 0
⊢ 1 < 1
state_after: no goals

tactic: decide
state_before: a✝ b c d m n✝ k : ℕ
p q : ℕ → Prop
a n : ℕ
hp : 1 < a.succ
hk : 1 < n.succ
h : a.succ ^ n.succ ∣ a.succ
this✝⁴ : a.succ * a.succ ^ n ∣ a.succ * 1
this✝³ : a.succ ^ n ∣ 1
he : a.succ ^ n = 1
this✝² : n < a.succ ^ n
this✝¹ : n < 1
this✝ : n = 0
this : 1 < 1
⊢ ¬1 < 1
state_after: no goals
Theorem: WeierstrassCurve.Affine.polynomial_eq
File: Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean

tactic: simp only [polynomial, Cubic.toPoly]
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
⊢ W.polynomial =
    { a := 0, b := 1, c := { a := 0, b := 0, c := W.a₁, d := W.a₃ }.toPoly,
        d := { a := -1, b := -W.a₂, c := -W.a₄, d := -W.a₆ }.toPoly }.toPoly
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
⊢ Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆) =
    C 0 * Y ^ 3 + C 1 * Y ^ 2 + C (C 0 * X ^ 3 + C 0 * X ^ 2 + C W.a₁ * X + C W.a₃) * Y +
      C (C (-1) * X ^ 3 + C (-W.a₂) * X ^ 2 + C (-W.a₄) * X + C (-W.a₆))

tactic: C_simp
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
⊢ Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆) =
    C 0 * Y ^ 3 + C 1 * Y ^ 2 + C (C 0 * X ^ 3 + C 0 * X ^ 2 + C W.a₁ * X + C W.a₃) * Y +
      C (C (-1) * X ^ 3 + C (-W.a₂) * X ^ 2 + C (-W.a₄) * X + C (-W.a₆))
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
⊢ Y ^ 2 + (C (C W.a₁) * C X + C (C W.a₃)) * Y - (C X ^ 3 + C (C W.a₂) * C X ^ 2 + C (C W.a₄) * C X + C (C W.a₆)) =
    0 * Y ^ 3 + 1 * Y ^ 2 + (0 * C X ^ 3 + 0 * C X ^ 2 + C (C W.a₁) * C X + C (C W.a₃)) * Y +
      (-1 * C X ^ 3 + -C (C W.a₂) * C X ^ 2 + -C (C W.a₄) * C X + -C (C W.a₆))

tactic: ring1
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
⊢ Y ^ 2 + (C (C W.a₁) * C X + C (C W.a₃)) * Y - (C X ^ 3 + C (C W.a₂) * C X ^ 2 + C (C W.a₄) * C X + C (C W.a₆)) =
    0 * Y ^ 3 + 1 * Y ^ 2 + (0 * C X ^ 3 + 0 * C X ^ 2 + C (C W.a₁) * C X + C (C W.a₃)) * Y +
      (-1 * C X ^ 3 + -C (C W.a₂) * C X ^ 2 + -C (C W.a₄) * C X + -C (C W.a₆))
state_after: no goals
Theorem: WeierstrassCurve.Jacobian.nonsingular_zero
File: Mathlib/AlgebraicGeometry/EllipticCurve/Jacobian.lean

tactic: simp only [nonsingular_of_Z_eq_zero, equation_zero, true_and, fin3_def_ext, ← not_and_or]
state_before: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : Nontrivial R
⊢ W'.Nonsingular ![1, 1, 0]
state_after: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : Nontrivial R
⊢ ¬(3 * 1 ^ 2 = 0 ∧ 2 * 1 = 0 ∧ W'.a₁ * 1 * 1 = 0)

tactic: exact fun h => one_ne_zero <| by linear_combination (norm := ring1) h.1 - h.2.1
state_before: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : Nontrivial R
⊢ ¬(3 * 1 ^ 2 = 0 ∧ 2 * 1 = 0 ∧ W'.a₁ * 1 * 1 = 0)
state_after: no goals

tactic: linear_combination (norm := ring1) h.1 - h.2.1
state_before: R : Type u
inst✝² : CommRing R
W' : Jacobian R
F : Type v
inst✝¹ : Field F
W : Jacobian F
inst✝ : Nontrivial R
h : 3 * 1 ^ 2 = 0 ∧ 2 * 1 = 0 ∧ W'.a₁ * 1 * 1 = 0
⊢ 1 = 0
state_after: no goals
Theorem: himp_le_himp_himp_himp
File: Mathlib/Order/Heyting/Basic.lean

tactic: rw [le_himp_iff, le_himp_iff, inf_assoc, himp_inf_self, ← inf_assoc, himp_inf_self, inf_assoc]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedHeytingAlgebra α
a b c d : α
⊢ b ⇨ c ≤ (a ⇨ b) ⇨ a ⇨ c
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedHeytingAlgebra α
a b c d : α
⊢ c ⊓ (b ⊓ a) ≤ c

tactic: exact inf_le_left
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedHeytingAlgebra α
a b c d : α
⊢ c ⊓ (b ⊓ a) ≤ c
state_after: no goals
Theorem: CategoryTheory.ShortComplex.leftHomology_ext
File: Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean

tactic: simpa only [leftHomology_ext_iff] using h
state_before: C : Type u_1
inst✝² : Category.{u_2, u_1} C
inst✝¹ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
inst✝ : S.HasLeftHomology
A : C
f₁ f₂ : S.leftHomology ⟶ A
h : S.leftHomologyπ ≫ f₁ = S.leftHomologyπ ≫ f₂
⊢ f₁ = f₂
state_after: no goals
Theorem: Nat.preimage_Iic
File: Mathlib/Algebra/Order/Floor.lean

tactic: ext
state_before: F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a : α
ha : 0 ≤ a
⊢ Nat.cast ⁻¹' Iic a = Iic ⌊a⌋₊
state_after: case h
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a : α
ha : 0 ≤ a
x✝ : ℕ
⊢ x✝ ∈ Nat.cast ⁻¹' Iic a ↔ x✝ ∈ Iic ⌊a⌋₊

tactic: simp [le_floor_iff, ha]
state_before: case h
F : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : LinearOrderedSemiring α
inst✝ : FloorSemiring α
a✝ : α
n : ℕ
a : α
ha : 0 ≤ a
x✝ : ℕ
⊢ x✝ ∈ Nat.cast ⁻¹' Iic a ↔ x✝ ∈ Iic ⌊a⌋₊
state_after: no goals
Theorem: CategoryTheory.MonoidalCategory.inv_hom_whiskerRight'
File: Mathlib/CategoryTheory/Monoidal/Category.lean

tactic: rw [← comp_whiskerRight, IsIso.inv_hom_id, id_whiskerRight]
state_before: C : Type u
𝒞 : Category.{v, u} C
inst✝¹ : MonoidalCategory C
X Y : C
f : X ⟶ Y
inst✝ : IsIso f
Z : C
⊢ inv f ▷ Z ≫ f ▷ Z = 𝟙 (Y ⊗ Z)
state_after: no goals