1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Finset.iSup_insert
File: Mathlib/Data/Finset/Lattice.lean

tactic: rw [insert_eq]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝¹ : CompleteLattice β
inst✝ : DecidableEq α
a : α
s : Finset α
t : α → β
⊢ ⨆ x ∈ insert a s, t x = t a ⊔ ⨆ x ∈ s, t x
state_after: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝¹ : CompleteLattice β
inst✝ : DecidableEq α
a : α
s : Finset α
t : α → β
⊢ ⨆ x ∈ {a} ∪ s, t x = t a ⊔ ⨆ x ∈ s, t x

tactic: simp only [iSup_union, Finset.iSup_singleton]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝¹ : CompleteLattice β
inst✝ : DecidableEq α
a : α
s : Finset α
t : α → β
⊢ ⨆ x ∈ {a} ∪ s, t x = t a ⊔ ⨆ x ∈ s, t x
state_after: no goals
Theorem: tendsto_pow_atTop_nhds_zero_of_norm_lt_one
File: Mathlib/Analysis/SpecificLimits/Normed.lean

tactic: apply squeeze_zero_norm' (eventually_norm_pow_le x)
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
R : Type u_4
inst✝ : NormedRing R
x : R
h : ‖x‖ < 1
⊢ Tendsto (fun n => x ^ n) atTop (𝓝 0)
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
R : Type u_4
inst✝ : NormedRing R
x : R
h : ‖x‖ < 1
⊢ Tendsto (HPow.hPow ‖x‖) atTop (𝓝 0)

tactic: exact tendsto_pow_atTop_nhds_zero_of_lt_one (norm_nonneg _) h
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
R : Type u_4
inst✝ : NormedRing R
x : R
h : ‖x‖ < 1
⊢ Tendsto (HPow.hPow ‖x‖) atTop (𝓝 0)
state_after: no goals
Theorem: Nat.Prime.coprime_iff_not_dvd
File: Mathlib/Data/Nat/Prime.lean

tactic: simp [d]
state_before: n✝ p n : ℕ
pp : Prime p
co : p.Coprime n
d : p ∣ n
⊢ p ∣ n * 1
state_after: no goals
Theorem: CategoryTheory.leftDistributor_ext₂_left
File: Mathlib/CategoryTheory/Monoidal/Preadditive.lean

tactic: apply (cancel_epi (α_ _ _ _).hom).mp
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X Y Z : C
f : J → C
g h : X ⊗ Y ⊗ ⨁ f ⟶ Z
w : ∀ (j : J), X ◁ Y ◁ biproduct.ι f j ≫ g = X ◁ Y ◁ biproduct.ι f j ≫ h
⊢ g = h
state_after: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X Y Z : C
f : J → C
g h : X ⊗ Y ⊗ ⨁ f ⟶ Z
w : ∀ (j : J), X ◁ Y ◁ biproduct.ι f j ≫ g = X ◁ Y ◁ biproduct.ι f j ≫ h
⊢ (α_ X Y (⨁ f)).hom ≫ g = (α_ X Y (⨁ f)).hom ≫ h

tactic: ext
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X Y Z : C
f : J → C
g h : X ⊗ Y ⊗ ⨁ f ⟶ Z
w : ∀ (j : J), X ◁ Y ◁ biproduct.ι f j ≫ g = X ◁ Y ◁ biproduct.ι f j ≫ h
⊢ (α_ X Y (⨁ f)).hom ≫ g = (α_ X Y (⨁ f)).hom ≫ h
state_after: case w
C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X Y Z : C
f : J → C
g h : X ⊗ Y ⊗ ⨁ f ⟶ Z
w : ∀ (j : J), X ◁ Y ◁ biproduct.ι f j ≫ g = X ◁ Y ◁ biproduct.ι f j ≫ h
j✝ : J
⊢ (X ⊗ Y) ◁ biproduct.ι f j✝ ≫ (α_ X Y (⨁ f)).hom ≫ g = (X ⊗ Y) ◁ biproduct.ι f j✝ ≫ (α_ X Y (⨁ f)).hom ≫ h

tactic: simp [w]
state_before: case w
C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X Y Z : C
f : J → C
g h : X ⊗ Y ⊗ ⨁ f ⟶ Z
w : ∀ (j : J), X ◁ Y ◁ biproduct.ι f j ≫ g = X ◁ Y ◁ biproduct.ι f j ≫ h
j✝ : J
⊢ (X ⊗ Y) ◁ biproduct.ι f j✝ ≫ (α_ X Y (⨁ f)).hom ≫ g = (X ⊗ Y) ◁ biproduct.ι f j✝ ≫ (α_ X Y (⨁ f)).hom ≫ h
state_after: no goals
Theorem: Equiv.Perm.sameCycle_apply_left
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: simp [zpow_sub, SameCycle, Int.add_neg_one, Function.comp]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
p : α → Prop
x y z : α
⊢ (∃ b, (f ^ (Equiv.symm (Equiv.addRight 1)) b) (f x) = y) ↔ f.SameCycle x y
state_after: no goals
Theorem: Finset.uIcc_self
File: Mathlib/Order/Interval/Finset/Basic.lean

tactic: simp [uIcc]
state_before: ι : Type u_1
α : Type u_2
inst✝¹ : Lattice α
inst✝ : LocallyFiniteOrder α
a a₁ a₂ b b₁ b₂ c x : α
⊢ [[a, a]] = {a}
state_after: no goals
Theorem: CoxeterSystem.wordProd_concat
File: Mathlib/GroupTheory/Coxeter/Basic.lean

tactic: simp [wordProd]
state_before: B : Type u_1
B' : Type u_2
e : B ≃ B'
W : Type u_3
H : Type u_4
inst✝¹ : Group W
inst✝ : Group H
M : CoxeterMatrix B
cs : CoxeterSystem M W
i : B
ω : List B
⊢ cs.wordProd (ω.concat i) = cs.wordProd ω * cs.simple i
state_after: no goals
Theorem: Set.einfsep_triple
File: Mathlib/Topology/MetricSpace/Infsep.lean

tactic: simp_rw [einfsep_insert, iInf_insert, iInf_singleton, einfsep_singleton, inf_top_eq,
  ciInf_pos hxy, ciInf_pos hyz, ciInf_pos hxz]
state_before: α : Type u_1
β : Type u_2
inst✝ : PseudoEMetricSpace α
x y z : α
s t : Set α
hxy : x ≠ y
hyz : y ≠ z
hxz : x ≠ z
⊢ {x, y, z}.einfsep = edist x y ⊓ edist x z ⊓ edist y z
state_after: no goals
Theorem: PiTensorProduct.mapL_smul
File: Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean

tactic: ext x
state_before: ι : Type uι
inst✝¹⁰ : Fintype ι
𝕜 : Type u𝕜
inst✝⁹ : NontriviallyNormedField 𝕜
E : ι → Type uE
inst✝⁸ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁷ : (i : ι) → NormedSpace 𝕜 (E i)
F : Type uF
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
E' : ι → Type u_1
E'' : ι → Type u_2
inst✝⁴ : (i : ι) → SeminormedAddCommGroup (E' i)
inst✝³ : (i : ι) → NormedSpace 𝕜 (E' i)
inst✝² : (i : ι) → SeminormedAddCommGroup (E'' i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (E'' i)
g : (i : ι) → E' i →L[𝕜] E'' i
f : (i : ι) → E i →L[𝕜] E' i
inst✝ : DecidableEq ι
i : ι
c : 𝕜
u : E i →L[𝕜] E' i
⊢ mapL (update f i (c • u)) = c • mapL (update f i u)
state_after: case h
ι : Type uι
inst✝¹⁰ : Fintype ι
𝕜 : Type u𝕜
inst✝⁹ : NontriviallyNormedField 𝕜
E : ι → Type uE
inst✝⁸ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁷ : (i : ι) → NormedSpace 𝕜 (E i)
F : Type uF
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
E' : ι → Type u_1
E'' : ι → Type u_2
inst✝⁴ : (i : ι) → SeminormedAddCommGroup (E' i)
inst✝³ : (i : ι) → NormedSpace 𝕜 (E' i)
inst✝² : (i : ι) → SeminormedAddCommGroup (E'' i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (E'' i)
g : (i : ι) → E' i →L[𝕜] E'' i
f : (i : ι) → E i →L[𝕜] E' i
inst✝ : DecidableEq ι
i : ι
c : 𝕜
u : E i →L[𝕜] E' i
x : ⨂[𝕜] (i : ι), E i
⊢ (mapL (update f i (c • u))) x = (c • mapL (update f i u)) x

tactic: simp only [mapL_apply, mapL_add_smul_aux, ContinuousLinearMap.coe_smul, PiTensorProduct.map_smul,
  LinearMap.smul_apply, ContinuousLinearMap.coe_smul', Pi.smul_apply]
state_before: case h
ι : Type uι
inst✝¹⁰ : Fintype ι
𝕜 : Type u𝕜
inst✝⁹ : NontriviallyNormedField 𝕜
E : ι → Type uE
inst✝⁸ : (i : ι) → SeminormedAddCommGroup (E i)
inst✝⁷ : (i : ι) → NormedSpace 𝕜 (E i)
F : Type uF
inst✝⁶ : SeminormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
E' : ι → Type u_1
E'' : ι → Type u_2
inst✝⁴ : (i : ι) → SeminormedAddCommGroup (E' i)
inst✝³ : (i : ι) → NormedSpace 𝕜 (E' i)
inst✝² : (i : ι) → SeminormedAddCommGroup (E'' i)
inst✝¹ : (i : ι) → NormedSpace 𝕜 (E'' i)
g : (i : ι) → E' i →L[𝕜] E'' i
f : (i : ι) → E i →L[𝕜] E' i
inst✝ : DecidableEq ι
i : ι
c : 𝕜
u : E i →L[𝕜] E' i
x : ⨂[𝕜] (i : ι), E i
⊢ (mapL (update f i (c • u))) x = (c • mapL (update f i u)) x
state_after: no goals
Theorem: Filter.iSup_inf_principal
File: Mathlib/Order/Filter/Basic.lean

tactic: ext
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
f✝ g : Filter α
s✝ t : Set α
f : ι → Filter α
s : Set α
⊢ ⨆ i, f i ⊓ 𝓟 s = (⨆ i, f i) ⊓ 𝓟 s
state_after: case a
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
f✝ g : Filter α
s✝¹ t : Set α
f : ι → Filter α
s s✝ : Set α
⊢ s✝ ∈ ⨆ i, f i ⊓ 𝓟 s ↔ s✝ ∈ (⨆ i, f i) ⊓ 𝓟 s

tactic: simp only [mem_iSup, mem_inf_principal]
state_before: case a
α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
f✝ g : Filter α
s✝¹ t : Set α
f : ι → Filter α
s s✝ : Set α
⊢ s✝ ∈ ⨆ i, f i ⊓ 𝓟 s ↔ s✝ ∈ (⨆ i, f i) ⊓ 𝓟 s
state_after: no goals
Theorem: Matrix.transpose_transpose
File: Mathlib/Data/Matrix/Basic.lean

tactic: ext
state_before: l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
M : Matrix m n α
⊢ Mᵀᵀ = M
state_after: case a
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
M : Matrix m n α
i✝ : m
j✝ : n
⊢ Mᵀᵀ i✝ j✝ = M i✝ j✝

tactic: rfl
state_before: case a
l : Type u_1
m : Type u_2
n : Type u_3
o : Type u_4
m' : o → Type u_5
n' : o → Type u_6
R : Type u_7
S : Type u_8
α : Type v
β : Type w
γ : Type u_9
M : Matrix m n α
i✝ : m
j✝ : n
⊢ Mᵀᵀ i✝ j✝ = M i✝ j✝
state_after: no goals
Theorem: Int.lt_of_sum_four_squares_eq_mul
File: Mathlib/NumberTheory/SumFourSquares.lean

tactic: refine _root_.lt_of_mul_lt_mul_right
  (_root_.lt_of_mul_lt_mul_left ?_ (zero_le (2 ^ 2))) (zero_le m)
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ k < m
state_after: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ 2 ^ 2 * (k * m) < 2 ^ 2 * (m * m)

tactic: calc
  2 ^ 2 * (k * ↑m) = ∑ i : Fin 4, (2 * ![a, b, c, d] i) ^ 2 := by
    simp [← h, Fin.sum_univ_succ, mul_add, mul_pow, add_assoc]
  _ < ∑ _i : Fin 4, m ^ 2 := Finset.sum_lt_sum_of_nonempty Finset.univ_nonempty fun i _ ↦ by
    refine pow_lt_pow_left ?_ (zero_le _) two_ne_zero
    fin_cases i <;> assumption
  _ = 2 ^ 2 * (m * m) := by simp; ring
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ 2 ^ 2 * (k * m) < 2 ^ 2 * (m * m)
state_after: no goals

tactic: simp [← h, Fin.sum_univ_succ, mul_add, mul_pow, add_assoc]
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ 2 ^ 2 * (k * m) = ∑ i : Fin 4, (2 * ![a, b, c, d] i) ^ 2
state_after: no goals

tactic: refine pow_lt_pow_left ?_ (zero_le _) two_ne_zero
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
i : Fin 4
x✝ : i ∈ univ
⊢ (2 * ![a, b, c, d] i) ^ 2 < m ^ 2
state_after: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
i : Fin 4
x✝ : i ∈ univ
⊢ 2 * ![a, b, c, d] i < m

tactic: fin_cases i <;> assumption
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
i : Fin 4
x✝ : i ∈ univ
⊢ 2 * ![a, b, c, d] i < m
state_after: no goals

tactic: simp
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ ∑ _i : Fin 4, m ^ 2 = 2 ^ 2 * (m * m)
state_after: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ m ^ 2 = m * m

tactic: ring
state_before: a b c d k m : ℕ
h : a ^ 2 + b ^ 2 + c ^ 2 + d ^ 2 = k * m
ha : 2 * a < m
hb : 2 * b < m
hc : 2 * c < m
hd : 2 * d < m
⊢ m ^ 2 = m * m
state_after: no goals
Theorem: units_inv_smul
File: Mathlib/LinearAlgebra/Ray.lean

tactic: exact this
state_before: R : Type u_1
inst✝² : LinearOrderedCommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
u : Rˣ
v : Module.Ray R M
this : 0 < ↑u * ↑u
⊢ 0 < ↑(u * u)
state_after: no goals

tactic: rw [mul_smul, smul_inv_smul]
state_before: R : Type u_1
inst✝² : LinearOrderedCommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
u : Rˣ
v : Module.Ray R M
this : 0 < ↑u * ↑u
⊢ (u * u) • u⁻¹ • v = u • v
state_after: no goals
Theorem: CategoryTheory.ShortComplex.leftHomologyMap'_smul
File: Mathlib/Algebra/Homology/ShortComplex/Linear.lean

tactic: have γ : LeftHomologyMapData φ h₁ h₂ := default
state_before: R : Type u_1
C : Type u_2
inst✝³ : Semiring R
inst✝² : Category.{u_3, u_2} C
inst✝¹ : Preadditive C
inst✝ : Linear R C
S₁ S₂ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
a : R
⊢ leftHomologyMap' (a • φ) h₁ h₂ = a • leftHomologyMap' φ h₁ h₂
state_after: R : Type u_1
C : Type u_2
inst✝³ : Semiring R
inst✝² : Category.{u_3, u_2} C
inst✝¹ : Preadditive C
inst✝ : Linear R C
S₁ S₂ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
a : R
γ : LeftHomologyMapData φ h₁ h₂
⊢ leftHomologyMap' (a • φ) h₁ h₂ = a • leftHomologyMap' φ h₁ h₂

tactic: simp only [(γ.smul a).leftHomologyMap'_eq, LeftHomologyMapData.smul_φH, γ.leftHomologyMap'_eq]
state_before: R : Type u_1
C : Type u_2
inst✝³ : Semiring R
inst✝² : Category.{u_3, u_2} C
inst✝¹ : Preadditive C
inst✝ : Linear R C
S₁ S₂ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
a : R
γ : LeftHomologyMapData φ h₁ h₂
⊢ leftHomologyMap' (a • φ) h₁ h₂ = a • leftHomologyMap' φ h₁ h₂
state_after: no goals
Theorem: locallyLipschitz_inv_iff
File: Mathlib/Analysis/Normed/Group/Uniform.lean

tactic: simp [LocallyLipschitz]
state_before: 𝓕 : Type u_1
α✝ : Type u_2
E✝ : Type u_3
F : Type u_4
inst✝³ : SeminormedCommGroup E✝
inst✝² : SeminormedCommGroup F
a a₁ a₂ b b₁ b₂ : E✝
r r₁ r₂ : ℝ
α : Type u_5
E : Type u_6
inst✝¹ : SeminormedCommGroup E
inst✝ : PseudoEMetricSpace α
K Kf Kg : ℝ≥0
f g : α → E
s : Set α
x : α
⊢ LocallyLipschitz f⁻¹ ↔ LocallyLipschitz f
state_after: no goals
Theorem: nonempty_inter
File: Mathlib/Topology/Connected/Basic.lean

tactic: simpa only [univ_inter, univ_subset_iff] using @PreconnectedSpace.isPreconnected_univ α _ _ s t
state_before: α : Type u
β : Type v
ι : Type u_1
π : ι → Type u_2
inst✝¹ : TopologicalSpace α
s✝ t✝ u v : Set α
inst✝ : PreconnectedSpace α
s t : Set α
⊢ IsOpen s → IsOpen t → s ∪ t = univ → s.Nonempty → t.Nonempty → (s ∩ t).Nonempty
state_after: no goals
Theorem: Behrend.map_monotone
File: Mathlib/Combinatorics/Additive/AP/Three/Behrend.lean

tactic: dsimp
state_before: α : Type u_1
β : Type u_2
n d✝ k N : ℕ
x✝ : Fin n → ℕ
d : ℕ
x y : Fin n → ℕ
h : x ≤ y
⊢ (map d) x ≤ (map d) y
state_after: α : Type u_1
β : Type u_2
n d✝ k N : ℕ
x✝ : Fin n → ℕ
d : ℕ
x y : Fin n → ℕ
h : x ≤ y
⊢ ∑ i : Fin n, x i * d ^ ↑i ≤ ∑ i : Fin n, y i * d ^ ↑i

tactic: exact sum_le_sum fun i _ => Nat.mul_le_mul_right _ <| h i
state_before: α : Type u_1
β : Type u_2
n d✝ k N : ℕ
x✝ : Fin n → ℕ
d : ℕ
x y : Fin n → ℕ
h : x ≤ y
⊢ ∑ i : Fin n, x i * d ^ ↑i ≤ ∑ i : Fin n, y i * d ^ ↑i
state_after: no goals
Theorem: Matroid.Basis.dep_of_ssubset
File: Mathlib/Data/Matroid/Basic.lean

tactic: have : X ⊆ M.E := hI.subset_ground
state_before: α : Type u_1
M : Matroid α
I X Y : Set α
hI : M.Basis I X
hIY : I ⊂ Y
hYX : Y ⊆ X
⊢ M.Dep Y
state_after: α : Type u_1
M : Matroid α
I X Y : Set α
hI : M.Basis I X
hIY : I ⊂ Y
hYX : Y ⊆ X
this : X ⊆ M.E
⊢ M.Dep Y

tactic: rw [← not_indep_iff]
state_before: α : Type u_1
M : Matroid α
I X Y : Set α
hI : M.Basis I X
hIY : I ⊂ Y
hYX : Y ⊆ X
this : X ⊆ M.E
⊢ M.Dep Y
state_after: α : Type u_1
M : Matroid α
I X Y : Set α
hI : M.Basis I X
hIY : I ⊂ Y
hYX : Y ⊆ X
this : X ⊆ M.E
⊢ ¬M.Indep Y

tactic: exact fun hY ↦ hIY.ne (hI.eq_of_subset_indep hY hIY.subset hYX)
state_before: α : Type u_1
M : Matroid α
I X Y : Set α
hI : M.Basis I X
hIY : I ⊂ Y
hYX : Y ⊆ X
this : X ⊆ M.E
⊢ ¬M.Indep Y
state_after: no goals
Theorem: Real.isTopologicalBasis_Ioo_rat
File: Mathlib/Topology/Instances/Real.lean

tactic: simp (config := { contextual := true }) [isOpen_Ioo]
state_before: α : Type u
β : Type v
γ : Type w
⊢ ∀ u ∈ ⋃ a, ⋃ b, ⋃ (_ : a < b), {Ioo ↑a ↑b}, IsOpen u
state_after: no goals

tactic: simp only [mem_iUnion]
state_before: α : Type u
β : Type v
γ : Type w
a : ℝ
v : Set ℝ
hav : a ∈ v
hv : IsOpen v
l u : ℝ
hl : l < a
hu : a < u
h : Ioo l u ⊆ v
q : ℚ
hlq : l < ↑q
hqa : ↑q < a
p : ℚ
hap : a < ↑p
hpu : ↑p < u
⊢ Ioo ↑q ↑p ∈ ⋃ a, ⋃ b, ⋃ (_ : a < b), {Ioo ↑a ↑b}
state_after: α : Type u
β : Type v
γ : Type w
a : ℝ
v : Set ℝ
hav : a ∈ v
hv : IsOpen v
l u : ℝ
hl : l < a
hu : a < u
h : Ioo l u ⊆ v
q : ℚ
hlq : l < ↑q
hqa : ↑q < a
p : ℚ
hap : a < ↑p
hpu : ↑p < u
⊢ ∃ i i_1, ∃ (_ : i < i_1), Ioo ↑q ↑p ∈ {Ioo ↑i ↑i_1}

tactic: exact ⟨q, p, Rat.cast_lt.1 <| hqa.trans hap, rfl⟩
state_before: α : Type u
β : Type v
γ : Type w
a : ℝ
v : Set ℝ
hav : a ∈ v
hv : IsOpen v
l u : ℝ
hl : l < a
hu : a < u
h : Ioo l u ⊆ v
q : ℚ
hlq : l < ↑q
hqa : ↑q < a
p : ℚ
hap : a < ↑p
hpu : ↑p < u
⊢ ∃ i i_1, ∃ (_ : i < i_1), Ioo ↑q ↑p ∈ {Ioo ↑i ↑i_1}
state_after: no goals
Theorem: Int.not_even_one
File: Mathlib/Algebra/Group/Int.lean

tactic: simp [even_iff]
state_before: u v m n : ℤ
⊢ ¬Even 1
state_after: no goals
Theorem: ENNReal.exists_inv_nat_lt
File: Mathlib/Data/ENNReal/Inv.lean

tactic: simp only [ENNReal.inv_lt_inv, ENNReal.exists_nat_gt (inv_ne_top.2 h)]
state_before: a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
a : ℝ≥0∞
h : a ≠ 0
⊢ ∃ n, (↑n)⁻¹ < a⁻¹⁻¹
state_after: no goals
Theorem: CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
File: Mathlib/CategoryTheory/Subobject/Comma.lean

tactic: conv_lhs =>
  congr
  rw [← Quiver.Hom.unop_op f.unop.left]
state_before: C : Type u₁
inst✝² : Category.{v, u₁} C
D : Type u₂
inst✝¹ : Category.{v, u₂} D
S : C ⥤ D
T : D
A : CostructuredArrow S T
P : (CostructuredArrow S T)ᵒᵖ
f : P ⟶ { unop := A }
inst✝ : Mono f.unop.left.op
⊢ f.unop.left ≫ (Subobject.underlyingIso f.unop.left.op).hom.unop = (Subobject.mk f.unop.left.op).arrow.unop
state_after: C : Type u₁
inst✝² : Category.{v, u₁} C
D : Type u₂
inst✝¹ : Category.{v, u₂} D
S : C ⥤ D
T : D
A : CostructuredArrow S T
P : (CostructuredArrow S T)ᵒᵖ
f : P ⟶ { unop := A }
inst✝ : Mono f.unop.left.op
⊢ f.unop.left.op.unop ≫ (Subobject.underlyingIso f.unop.left.op).hom.unop = (Subobject.mk f.unop.left.op).arrow.unop

tactic: rw [← unop_comp, Subobject.underlyingIso_hom_comp_eq_mk]
state_before: C : Type u₁
inst✝² : Category.{v, u₁} C
D : Type u₂
inst✝¹ : Category.{v, u₂} D
S : C ⥤ D
T : D
A : CostructuredArrow S T
P : (CostructuredArrow S T)ᵒᵖ
f : P ⟶ { unop := A }
inst✝ : Mono f.unop.left.op
⊢ f.unop.left.op.unop ≫ (Subobject.underlyingIso f.unop.left.op).hom.unop = (Subobject.mk f.unop.left.op).arrow.unop
state_after: no goals
Theorem: SimplexCategory.δ_comp_δ'
File: Mathlib/AlgebraicTopology/SimplexCategory.lean

tactic: simp [hj, Fin.not_lt_zero] at H
state_before: n : ℕ
i : Fin (n + 2)
j : Fin (n + 3)
H : i.castSucc < j
hj : j = 0
⊢ False
state_after: no goals

tactic: rw [← δ_comp_δ]
state_before: n : ℕ
i : Fin (n + 2)
j : Fin (n + 3)
H : i.castSucc < j
⊢ δ i ≫ δ j = δ (j.pred ⋯) ≫ δ i.castSucc
state_after: n : ℕ
i : Fin (n + 2)
j : Fin (n + 3)
H : i.castSucc < j
⊢ δ i ≫ δ j = δ i ≫ δ (j.pred ⋯).succ

n : ℕ
i : Fin (n + 2)
j : Fin (n + 3)
H : i.castSucc < j
⊢ i ≤ j.pred ⋯

tactic: rw [Fin.succ_pred]
state_before: n : ℕ
i : Fin (n + 2)
j : Fin (n + 3)
H : i.castSucc < j
⊢ δ i ≫ δ j = δ i ≫ δ (j.pred ⋯).succ
state_after: no goals

tactic: simpa only [Fin.le_iff_val_le_val, ← Nat.lt_succ_iff, Nat.succ_eq_add_one, ← Fin.val_succ,
  j.succ_pred, Fin.lt_iff_val_lt_val] using H
state_before: n : ℕ
i : Fin (n + 2)
j : Fin (n + 3)
H : i.castSucc < j
⊢ i ≤ j.pred ⋯
state_after: no goals
Theorem: LinearMap.BilinForm.dualBasis_dualBasis
File: Mathlib/LinearAlgebra/BilinearForm/Properties.lean

tactic: convert dualBasis_dualBasis_flip _ hB.flip b
state_before: R : Type u_1
M : Type u_2
inst✝²⁰ : CommSemiring R
inst✝¹⁹ : AddCommMonoid M
inst✝¹⁸ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝¹⁷ : CommRing R₁
inst✝¹⁶ : AddCommGroup M₁
inst✝¹⁵ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝¹⁴ : Field K
inst✝¹³ : AddCommGroup V
inst✝¹² : Module K V
M'✝ : Type u_7
M'' : Type u_8
inst✝¹¹ : AddCommMonoid M'✝
inst✝¹⁰ : AddCommMonoid M''
inst✝⁹ : Module R M'✝
inst✝⁸ : Module R M''
B✝ : BilinForm R M
B₁ : BilinForm R₁ M₁
M' : Type u_9
inst✝⁷ : AddCommMonoid M'
inst✝⁶ : Module R M'
inst✝⁵ : FiniteDimensional K V
ι✝ : Type u_10
inst✝⁴ : DecidableEq ι✝
inst✝³ : Finite ι✝
B : BilinForm K V
hB : B.Nondegenerate
hB' : B.IsSymm
ι : Type u_11
inst✝² : Finite ι
inst✝¹ : DecidableEq ι
inst✝ : FiniteDimensional K V
b : Basis ι K V
⊢ B.dualBasis hB (B.dualBasis hB b) = b
state_after: case h.e'_2.h.e'_9
R : Type u_1
M : Type u_2
inst✝²⁰ : CommSemiring R
inst✝¹⁹ : AddCommMonoid M
inst✝¹⁸ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝¹⁷ : CommRing R₁
inst✝¹⁶ : AddCommGroup M₁
inst✝¹⁵ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝¹⁴ : Field K
inst✝¹³ : AddCommGroup V
inst✝¹² : Module K V
M'✝ : Type u_7
M'' : Type u_8
inst✝¹¹ : AddCommMonoid M'✝
inst✝¹⁰ : AddCommMonoid M''
inst✝⁹ : Module R M'✝
inst✝⁸ : Module R M''
B✝ : BilinForm R M
B₁ : BilinForm R₁ M₁
M' : Type u_9
inst✝⁷ : AddCommMonoid M'
inst✝⁶ : Module R M'
inst✝⁵ : FiniteDimensional K V
ι✝ : Type u_10
inst✝⁴ : DecidableEq ι✝
inst✝³ : Finite ι✝
B : BilinForm K V
hB : B.Nondegenerate
hB' : B.IsSymm
ι : Type u_11
inst✝² : Finite ι
inst✝¹ : DecidableEq ι
inst✝ : FiniteDimensional K V
b : Basis ι K V
⊢ B = B.flip

tactic: rwa [eq_comm, ← isSymm_iff_flip]
state_before: case h.e'_2.h.e'_9
R : Type u_1
M : Type u_2
inst✝²⁰ : CommSemiring R
inst✝¹⁹ : AddCommMonoid M
inst✝¹⁸ : Module R M
R₁ : Type u_3
M₁ : Type u_4
inst✝¹⁷ : CommRing R₁
inst✝¹⁶ : AddCommGroup M₁
inst✝¹⁵ : Module R₁ M₁
V : Type u_5
K : Type u_6
inst✝¹⁴ : Field K
inst✝¹³ : AddCommGroup V
inst✝¹² : Module K V
M'✝ : Type u_7
M'' : Type u_8
inst✝¹¹ : AddCommMonoid M'✝
inst✝¹⁰ : AddCommMonoid M''
inst✝⁹ : Module R M'✝
inst✝⁸ : Module R M''
B✝ : BilinForm R M
B₁ : BilinForm R₁ M₁
M' : Type u_9
inst✝⁷ : AddCommMonoid M'
inst✝⁶ : Module R M'
inst✝⁵ : FiniteDimensional K V
ι✝ : Type u_10
inst✝⁴ : DecidableEq ι✝
inst✝³ : Finite ι✝
B : BilinForm K V
hB : B.Nondegenerate
hB' : B.IsSymm
ι : Type u_11
inst✝² : Finite ι
inst✝¹ : DecidableEq ι
inst✝ : FiniteDimensional K V
b : Basis ι K V
⊢ B = B.flip
state_after: no goals
Theorem: AkraBazziRecurrence.eventually_one_add_smoothingFn_r_pos
File: Mathlib/Computability/AkraBazzi/AkraBazzi.lean

tactic: rw [Filter.eventually_all]
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∀ᶠ (n : ℕ) in atTop, ∀ (i : α), 0 < 1 + ε ↑(r i n)
state_after: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∀ (i : α), ∀ᶠ (x : ℕ) in atTop, 0 < 1 + ε ↑(r i x)

tactic: exact fun i => (R.tendsto_atTop_r i).eventually (f := r i) eventually_one_add_smoothingFn_pos
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
⊢ ∀ (i : α), ∀ᶠ (x : ℕ) in atTop, 0 < 1 + ε ↑(r i x)
state_after: no goals
Theorem: SetTheory.PGame.zero_fuzzy_neg_iff
File: Mathlib/SetTheory/Game/PGame.lean

tactic: rw [← neg_fuzzy_iff, neg_zero]
state_before: xl xr : Type u
x : PGame
⊢ 0 ‖ -x ↔ 0 ‖ x
state_after: no goals
Theorem: sup_biSup
File: Mathlib/Order/CompleteLattice.lean

tactic: simpa only [sup_comm] using @biSup_sup α _ _ p _ _ h
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : CompleteLattice α
f✝ g s t : ι → α
a✝ b : α
p : ι → Prop
f : (i : ι) → p i → α
a : α
h : ∃ i, p i
⊢ a ⊔ ⨆ i, ⨆ (h : p i), f i h = ⨆ i, ⨆ (h : p i), a ⊔ f i h
state_after: no goals
Theorem: disjoint_left_comm
File: Mathlib/Order/Disjoint.lean

tactic: simp_rw [disjoint_iff_inf_le, inf_left_comm]
state_before: α : Type u_1
inst✝¹ : SemilatticeInf α
inst✝ : OrderBot α
a b c d : α
⊢ Disjoint a (b ⊓ c) ↔ Disjoint b (a ⊓ c)
state_after: no goals