1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: HomologicalComplex.isZero_extend_X
File: Mathlib/Algebra/Homology/Embedding/Extend.lean

tactic: obtain hi'|⟨i, hi⟩ := (e.r i').eq_none_or_eq_some
state_before: ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi' : ∀ (i : ι), e.f i ≠ i'
⊢ e.r i' = none
state_after: case inl
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi'✝ : ∀ (i : ι), e.f i ≠ i'
hi' : e.r i' = none
⊢ e.r i' = none

case inr.intro
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi' : ∀ (i : ι), e.f i ≠ i'
i : ι
hi : e.r i' = some i
⊢ e.r i' = none

tactic: exact hi'
state_before: case inl
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi'✝ : ∀ (i : ι), e.f i ≠ i'
hi' : e.r i' = none
⊢ e.r i' = none
state_after: no goals

tactic: exfalso
state_before: case inr.intro
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi' : ∀ (i : ι), e.f i ≠ i'
i : ι
hi : e.r i' = some i
⊢ e.r i' = none
state_after: case inr.intro
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi' : ∀ (i : ι), e.f i ≠ i'
i : ι
hi : e.r i' = some i
⊢ False

tactic: exact hi' _ (e.f_eq_of_r_eq_some hi)
state_before: case inr.intro
ι : Type u_1
ι' : Type u_2
c : ComplexShape ι
c' : ComplexShape ι'
C : Type u_3
inst✝² : Category.{u_4, u_3} C
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
K : HomologicalComplex C c
e : c.Embedding c'
i' : ι'
hi' : ∀ (i : ι), e.f i ≠ i'
i : ι
hi : e.r i' = some i
⊢ False
state_after: no goals
Theorem: MeasureTheory.Measure.setIntegral_toReal_rnDeriv_eq_withDensity
File: Mathlib/MeasureTheory/Decomposition/RadonNikodym.lean

tactic: rw [integral_toReal (Measure.measurable_rnDeriv _ _).aemeasurable]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ ∫ (x : α) in s, (μ.rnDeriv ν x).toReal ∂ν = ((ν.withDensity (μ.rnDeriv ν)) s).toReal
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ (∫⁻ (a : α) in s, μ.rnDeriv ν a ∂ν).toReal = ((ν.withDensity (μ.rnDeriv ν)) s).toReal

α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ ∀ᵐ (x : α) ∂ν.restrict s, μ.rnDeriv ν x < ⊤

tactic: rw [ENNReal.toReal_eq_toReal_iff, ← withDensity_apply' _ s]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ (∫⁻ (a : α) in s, μ.rnDeriv ν a ∂ν).toReal = ((ν.withDensity (μ.rnDeriv ν)) s).toReal
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ (ν.withDensity (μ.rnDeriv ν)) s = (ν.withDensity (μ.rnDeriv ν)) s ∨
    (ν.withDensity (μ.rnDeriv ν)) s = 0 ∧ (ν.withDensity (μ.rnDeriv ν)) s = ⊤ ∨
      (ν.withDensity (μ.rnDeriv ν)) s = ⊤ ∧ (ν.withDensity (μ.rnDeriv ν)) s = 0

tactic: simp
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ (ν.withDensity (μ.rnDeriv ν)) s = (ν.withDensity (μ.rnDeriv ν)) s ∨
    (ν.withDensity (μ.rnDeriv ν)) s = 0 ∧ (ν.withDensity (μ.rnDeriv ν)) s = ⊤ ∨
      (ν.withDensity (μ.rnDeriv ν)) s = ⊤ ∧ (ν.withDensity (μ.rnDeriv ν)) s = 0
state_after: no goals

tactic: exact ae_restrict_of_ae (Measure.rnDeriv_lt_top _ _)
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : SigmaFinite μ
inst✝ : SFinite ν
s : Set α
⊢ ∀ᵐ (x : α) ∂ν.restrict s, μ.rnDeriv ν x < ⊤
state_after: no goals
Theorem: IsCoprime.prod_left
File: Mathlib/RingTheory/Coprime/Lemmas.lean

tactic: classical
refine Finset.induction_on t (fun _ ↦ isCoprime_one_left) fun b t hbt ih H ↦ ?_
rw [Finset.prod_insert hbt]
rw [Finset.forall_mem_insert] at H
exact H.1.mul_left (ih H.2)
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t : Finset I
⊢ (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
state_after: no goals

tactic: refine Finset.induction_on t (fun _ ↦ isCoprime_one_left) fun b t hbt ih H ↦ ?_
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t : Finset I
⊢ (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
state_after: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : b ∉ t
ih : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
H : ∀ i ∈ insert b t, IsCoprime (s i) x
⊢ IsCoprime (∏ i ∈ insert b t, s i) x

tactic: rw [Finset.prod_insert hbt]
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : b ∉ t
ih : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
H : ∀ i ∈ insert b t, IsCoprime (s i) x
⊢ IsCoprime (∏ i ∈ insert b t, s i) x
state_after: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : b ∉ t
ih : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
H : ∀ i ∈ insert b t, IsCoprime (s i) x
⊢ IsCoprime (s b * ∏ x ∈ t, s x) x

tactic: rw [Finset.forall_mem_insert] at H
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : b ∉ t
ih : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
H : ∀ i ∈ insert b t, IsCoprime (s i) x
⊢ IsCoprime (s b * ∏ x ∈ t, s x) x
state_after: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : b ∉ t
ih : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
H : IsCoprime (s b) x ∧ ∀ x_1 ∈ t, IsCoprime (s x_1) x
⊢ IsCoprime (s b * ∏ x ∈ t, s x) x

tactic: exact H.1.mul_left (ih H.2)
state_before: R : Type u
I : Type v
inst✝ : CommSemiring R
x y z : R
s : I → R
t✝ : Finset I
b : I
t : Finset I
hbt : b ∉ t
ih : (∀ i ∈ t, IsCoprime (s i) x) → IsCoprime (∏ i ∈ t, s i) x
H : IsCoprime (s b) x ∧ ∀ x_1 ∈ t, IsCoprime (s x_1) x
⊢ IsCoprime (s b * ∏ x ∈ t, s x) x
state_after: no goals
Theorem: EReal.bot_mul_of_neg
File: Mathlib/Data/Real/EReal.lean

tactic: rw [EReal.mul_comm]
state_before: x : EReal
h : x < 0
⊢ ⊥ * x = ⊤
state_after: x : EReal
h : x < 0
⊢ x * ⊥ = ⊤

tactic: exact mul_bot_of_neg h
state_before: x : EReal
h : x < 0
⊢ x * ⊥ = ⊤
state_after: no goals
Theorem: Function.Periodic.zsmul
File: Mathlib/Algebra/Periodic.lean

tactic: cases' n with n n
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝ : AddGroup α
h : Periodic f c
n : ℤ
⊢ Periodic f (n • c)
state_after: case ofNat
α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝ : AddGroup α
h : Periodic f c
n : ℕ
⊢ Periodic f (Int.ofNat n • c)

case negSucc
α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝ : AddGroup α
h : Periodic f c
n : ℕ
⊢ Periodic f (Int.negSucc n • c)

tactic: simpa only [Int.ofNat_eq_coe, natCast_zsmul] using h.nsmul n
state_before: case ofNat
α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝ : AddGroup α
h : Periodic f c
n : ℕ
⊢ Periodic f (Int.ofNat n • c)
state_after: no goals

tactic: simpa only [negSucc_zsmul] using (h.nsmul (n + 1)).neg
state_before: case negSucc
α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝ : AddGroup α
h : Periodic f c
n : ℕ
⊢ Periodic f (Int.negSucc n • c)
state_after: no goals
Theorem: RingHom.map_ite_one_zero
File: Mathlib/Algebra/Ring/Hom/Defs.lean

tactic: split_ifs with h <;> simp [h]
state_before: F✝ : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
x✝¹ : NonAssocSemiring α
x✝ : NonAssocSemiring β
f✝ : α →+* β
x y : α
F : Type u_5
inst✝² : FunLike F α β
inst✝¹ : RingHomClass F α β
f : F
p : Prop
inst✝ : Decidable p
⊢ f (if p then 1 else 0) = if p then 1 else 0
state_after: no goals
Theorem: FractionalIdeal.canonicalEquiv_self
File: Mathlib/RingTheory/FractionalIdeal/Operations.lean

tactic: rw [← canonicalEquiv_trans_canonicalEquiv S P P]
state_before: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I J : FractionalIdeal S P
g : P →ₐ[R] P'
⊢ canonicalEquiv S P P = RingEquiv.refl (FractionalIdeal S P)
state_after: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I J : FractionalIdeal S P
g : P →ₐ[R] P'
⊢ (canonicalEquiv S P P).trans (canonicalEquiv S P P) = RingEquiv.refl (FractionalIdeal S P)

tactic: convert (canonicalEquiv S P P).symm_trans_self
state_before: R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I J : FractionalIdeal S P
g : P →ₐ[R] P'
⊢ (canonicalEquiv S P P).trans (canonicalEquiv S P P) = RingEquiv.refl (FractionalIdeal S P)
state_after: case h.e'_2.h.e'_10
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I J : FractionalIdeal S P
g : P →ₐ[R] P'
⊢ canonicalEquiv S P P = (canonicalEquiv S P P).symm

tactic: exact (canonicalEquiv_symm S P P).symm
state_before: case h.e'_2.h.e'_10
R : Type u_1
inst✝⁶ : CommRing R
S : Submonoid R
P : Type u_2
inst✝⁵ : CommRing P
inst✝⁴ : Algebra R P
loc : IsLocalization S P
P' : Type u_3
inst✝³ : CommRing P'
inst✝² : Algebra R P'
loc' : IsLocalization S P'
P'' : Type u_4
inst✝¹ : CommRing P''
inst✝ : Algebra R P''
loc'' : IsLocalization S P''
I J : FractionalIdeal S P
g : P →ₐ[R] P'
⊢ canonicalEquiv S P P = (canonicalEquiv S P P).symm
state_after: no goals
Theorem: Inducing.nhdsSet_eq_comap
File: Mathlib/Topology/Maps.lean

tactic: simp only [nhdsSet, sSup_image, comap_iSup, hf.nhds_eq_comap, iSup_image]
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
ι : Type u_4
f : X → Y
g : Y → Z
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
hf : Inducing f
s : Set X
⊢ 𝓝ˢ s = comap f (𝓝ˢ (f '' s))
state_after: no goals
Theorem: List.forM_append
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: induction l₁ <;> simp [*]
state_before: m : Type u_1 → Type u_2
α : Type u_3
inst✝¹ : Monad m
inst✝ : LawfulMonad m
l₁ l₂ : List α
f : α → m PUnit
⊢ (l₁ ++ l₂).forM f = do
    l₁.forM f
    l₂.forM f
state_after: no goals
Theorem: CategoryTheory.ShortComplex.LeftHomologyData.ofIsLimitKernelFork_f'
File: Mathlib/Algebra/Homology/ShortComplex/LeftHomology.lean

tactic: rw [← cancel_mono (ofIsLimitKernelFork S hf c hc).i, f'_i, hf, zero_comp]
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : HasZeroMorphisms C
S S₁ S₂ S₃ : ShortComplex C
h : S.LeftHomologyData
A : C
hf : S.f = 0
c : KernelFork S.g
hc : IsLimit c
⊢ (ofIsLimitKernelFork S hf c hc).f' = 0
state_after: no goals
Theorem: Polynomial.monomial_neg
File: Mathlib/Algebra/Polynomial/Basic.lean

tactic: rw [eq_neg_iff_add_eq_zero, ← monomial_add, neg_add_self, monomial_zero_right]
state_before: R : Type u
a✝ b : R
m n✝ : ℕ
inst✝ : Ring R
n : ℕ
a : R
⊢ (monomial n) (-a) = -(monomial n) a
state_after: no goals
Theorem: Matroid.restrict_dep_iff
File: Mathlib/Data/Matroid/Restrict.lean

tactic: rw [Dep, restrict_indep_iff, restrict_ground_eq]
state_before: α : Type u_1
M : Matroid α
R I J X Y : Set α
⊢ (M ↾ R).Dep X ↔ ¬M.Indep X ∧ X ⊆ R
state_after: α : Type u_1
M : Matroid α
R I J X Y : Set α
⊢ ¬(M.Indep X ∧ X ⊆ R) ∧ X ⊆ R ↔ ¬M.Indep X ∧ X ⊆ R

tactic: tauto
state_before: α : Type u_1
M : Matroid α
R I J X Y : Set α
⊢ ¬(M.Indep X ∧ X ⊆ R) ∧ X ⊆ R ↔ ¬M.Indep X ∧ X ⊆ R
state_after: no goals
Theorem: Matrix.dotProduct_stdBasis_one
File: Mathlib/LinearAlgebra/Matrix/DotProduct.lean

tactic: rw [dotProduct_stdBasis_eq_mul, mul_one]
state_before: m : Type u_1
n : Type u_2
p : Type u_3
R : Type u_4
inst✝² : Semiring R
inst✝¹ : Fintype n
inst✝ : DecidableEq n
v : n → R
i : n
⊢ v ⬝ᵥ (LinearMap.stdBasis R (fun x => R) i) 1 = v i
state_after: no goals
Theorem: CategoryTheory.GradedObject.Monoidal.ι_tensorObjDesc
File: Mathlib/CategoryTheory/GradedObject/Monoidal.lean

tactic: apply ι_mapBifunctorMapObjDesc
state_before: I : Type u
inst✝³ : AddMonoid I
C : Type u_1
inst✝² : Category.{u_2, u_1} C
inst✝¹ : MonoidalCategory C
X₁ X₂ : GradedObject I C
inst✝ : X₁.HasTensor X₂
A : C
k : I
f : (i₁ i₂ : I) → i₁ + i₂ = k → (X₁ i₁ ⊗ X₂ i₂ ⟶ A)
i₁ i₂ : I
hi : i₁ + i₂ = k
⊢ ιTensorObj X₁ X₂ i₁ i₂ k hi ≫ tensorObjDesc f = f i₁ i₂ hi
state_after: no goals
Theorem: Set.inter_indicator_mul
File: Mathlib/Algebra/GroupWithZero/Indicator.lean

tactic: rw [← Set.indicator_indicator]
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroClass M₀
s t : Set ι
f✝ g✝ : ι → M₀
i✝ : ι
f g : ι → M₀
i : ι
⊢ (s ∩ t).indicator (fun j => f j * g j) i = s.indicator f i * t.indicator g i
state_after: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroClass M₀
s t : Set ι
f✝ g✝ : ι → M₀
i✝ : ι
f g : ι → M₀
i : ι
⊢ s.indicator (t.indicator fun j => f j * g j) i = s.indicator f i * t.indicator g i

tactic: simp_rw [indicator]
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroClass M₀
s t : Set ι
f✝ g✝ : ι → M₀
i✝ : ι
f g : ι → M₀
i : ι
⊢ s.indicator (t.indicator fun j => f j * g j) i = s.indicator f i * t.indicator g i
state_after: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroClass M₀
s t : Set ι
f✝ g✝ : ι → M₀
i✝ : ι
f g : ι → M₀
i : ι
⊢ (if i ∈ s then if i ∈ t then f i * g i else 0 else 0) = (if i ∈ s then f i else 0) * if i ∈ t then g i else 0

tactic: split_ifs <;> simp
state_before: ι : Type u_1
κ : Type u_2
G₀ : Type u_3
M₀ : Type u_4
R : Type u_5
inst✝ : MulZeroClass M₀
s t : Set ι
f✝ g✝ : ι → M₀
i✝ : ι
f g : ι → M₀
i : ι
⊢ (if i ∈ s then if i ∈ t then f i * g i else 0 else 0) = (if i ∈ s then f i else 0) * if i ∈ t then g i else 0
state_after: no goals
Theorem: MeasureTheory.Lp.coeFn_negPart
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: rw [h, ← max_neg_neg, neg_zero]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
g : E → F
c : ℝ≥0
f : ↥(Lp ℝ p μ)
a : α
h : ↑↑(negPart f) a = max (-↑↑f a) 0
⊢ ↑↑(negPart f) a = -min (↑↑f a) 0
state_after: no goals
Theorem: SimpleGraph.colorable_chromaticNumber
File: Mathlib/Combinatorics/SimpleGraph/Coloring.lean

tactic: rw [hc.chromaticNumber_eq_sInf, Nat.sInf_def]
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
m : ℕ
hc : G.Colorable m
⊢ G.Colorable G.chromaticNumber.toNat
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
m : ℕ
hc : G.Colorable m
⊢ G.Colorable (↑(Nat.find ?m.31347)).toNat

V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
m : ℕ
hc : G.Colorable m
⊢ {n' | G.Colorable n'}.Nonempty

tactic: apply Nat.find_spec
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
m : ℕ
hc : G.Colorable m
⊢ G.Colorable (↑(Nat.find ?m.31347)).toNat
state_after: no goals

tactic: exact colorable_set_nonempty_of_colorable hc
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
m : ℕ
hc : G.Colorable m
⊢ {n' | G.Colorable n'}.Nonempty
state_after: no goals
Theorem: ascPochhammer_mul
File: Mathlib/RingTheory/Polynomial/Pochhammer.lean

tactic: induction' m with m ih
state_before: S : Type u
inst✝ : Semiring S
n m : ℕ
⊢ ascPochhammer S n * (ascPochhammer S m).comp (X + ↑n) = ascPochhammer S (n + m)
state_after: case zero
S : Type u
inst✝ : Semiring S
n : ℕ
⊢ ascPochhammer S n * (ascPochhammer S 0).comp (X + ↑n) = ascPochhammer S (n + 0)

case succ
S : Type u
inst✝ : Semiring S
n m : ℕ
ih : ascPochhammer S n * (ascPochhammer S m).comp (X + ↑n) = ascPochhammer S (n + m)
⊢ ascPochhammer S n * (ascPochhammer S (m + 1)).comp (X + ↑n) = ascPochhammer S (n + (m + 1))

tactic: simp
state_before: case zero
S : Type u
inst✝ : Semiring S
n : ℕ
⊢ ascPochhammer S n * (ascPochhammer S 0).comp (X + ↑n) = ascPochhammer S (n + 0)
state_after: no goals

tactic: rw [ascPochhammer_succ_right, Polynomial.mul_X_add_natCast_comp, ← mul_assoc, ih,
  ← add_assoc, ascPochhammer_succ_right, Nat.cast_add, add_assoc]
state_before: case succ
S : Type u
inst✝ : Semiring S
n m : ℕ
ih : ascPochhammer S n * (ascPochhammer S m).comp (X + ↑n) = ascPochhammer S (n + m)
⊢ ascPochhammer S n * (ascPochhammer S (m + 1)).comp (X + ↑n) = ascPochhammer S (n + (m + 1))
state_after: no goals
Theorem: Algebra.adjoin_image
File: Mathlib/RingTheory/Adjoin/Basic.lean

tactic: simp only [Set.image_id', coe_carrier_toSubmonoid, Subalgebra.coe_toSubsemiring,
  Subalgebra.coe_comap]
state_before: R : Type uR
S : Type uS
A : Type uA
B : Type uB
inst✝⁸ : CommSemiring R
inst✝⁷ : CommSemiring S
inst✝⁶ : Semiring A
inst✝⁵ : Semiring B
inst✝⁴ : Algebra R S
inst✝³ : Algebra R A
inst✝² : Algebra S A
inst✝¹ : Algebra R B
inst✝ : IsScalarTower R S A
s✝ t : Set A
f : A →ₐ[R] B
s : Set A
⊢ (fun x => x) '' s ⊆ (Subalgebra.comap f (adjoin R (⇑f '' s))).carrier
state_after: R : Type uR
S : Type uS
A : Type uA
B : Type uB
inst✝⁸ : CommSemiring R
inst✝⁷ : CommSemiring S
inst✝⁶ : Semiring A
inst✝⁵ : Semiring B
inst✝⁴ : Algebra R S
inst✝³ : Algebra R A
inst✝² : Algebra S A
inst✝¹ : Algebra R B
inst✝ : IsScalarTower R S A
s✝ t : Set A
f : A →ₐ[R] B
s : Set A
⊢ s ⊆ ⇑f ⁻¹' ↑(adjoin R (⇑f '' s))

tactic: exact fun x hx => subset_adjoin ⟨x, hx, rfl⟩
state_before: R : Type uR
S : Type uS
A : Type uA
B : Type uB
inst✝⁸ : CommSemiring R
inst✝⁷ : CommSemiring S
inst✝⁶ : Semiring A
inst✝⁵ : Semiring B
inst✝⁴ : Algebra R S
inst✝³ : Algebra R A
inst✝² : Algebra S A
inst✝¹ : Algebra R B
inst✝ : IsScalarTower R S A
s✝ t : Set A
f : A →ₐ[R] B
s : Set A
⊢ s ⊆ ⇑f ⁻¹' ↑(adjoin R (⇑f '' s))
state_after: no goals
Theorem: inner_neg_right
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← inner_conj_symm, inner_neg_left]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ ⟪x, -y⟫_𝕜 = -⟪x, y⟫_𝕜
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ (starRingEnd 𝕜) (-⟪y, x⟫_𝕜) = -⟪x, y⟫_𝕜

tactic: simp only [RingHom.map_neg, inner_conj_symm]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ (starRingEnd 𝕜) (-⟪y, x⟫_𝕜) = -⟪x, y⟫_𝕜
state_after: no goals
Theorem: ball_one_mul_singleton
File: Mathlib/Analysis/Normed/Group/Pointwise.lean

tactic: simp [ball_mul_singleton]
state_before: E : Type u_1
inst✝ : SeminormedCommGroup E
ε δ : ℝ
s t : Set E
x y : E
⊢ ball 1 δ * {x} = ball x δ
state_after: no goals
Theorem: Equiv.Perm.mem_cycleFactorsFinset_support_le
File: Mathlib/GroupTheory/Perm/Cycle/Factors.lean

tactic: rw [mem_cycleFactorsFinset_iff] at h
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ p f : Perm α
h : p ∈ f.cycleFactorsFinset
⊢ p.support ≤ f.support
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ p f : Perm α
h : p.IsCycle ∧ ∀ a ∈ p.support, p a = f a
⊢ p.support ≤ f.support

tactic: intro x hx
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ p f : Perm α
h : p.IsCycle ∧ ∀ a ∈ p.support, p a = f a
⊢ p.support ≤ f.support
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ p f : Perm α
h : p.IsCycle ∧ ∀ a ∈ p.support, p a = f a
x : α
hx : x ∈ p.support
⊢ x ∈ f.support

tactic: rwa [mem_support, ← h.right x hx, ← mem_support]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ p f : Perm α
h : p.IsCycle ∧ ∀ a ∈ p.support, p a = f a
x : α
hx : x ∈ p.support
⊢ x ∈ f.support
state_after: no goals