1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.FiniteMeasure.testAgainstNN_mono
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

tactic: simp only [← ENNReal.coe_le_coe, testAgainstNN_coe_eq]
state_before: Ω : Type u_1
inst✝⁵ : MeasurableSpace Ω
R : Type u_2
inst✝⁴ : SMul R ℝ≥0
inst✝³ : SMul R ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : TopologicalSpace Ω
μ : FiniteMeasure Ω
f g : Ω →ᵇ ℝ≥0
f_le_g : ⇑f ≤ ⇑g
⊢ μ.testAgainstNN f ≤ μ.testAgainstNN g
state_after: Ω : Type u_1
inst✝⁵ : MeasurableSpace Ω
R : Type u_2
inst✝⁴ : SMul R ℝ≥0
inst✝³ : SMul R ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : TopologicalSpace Ω
μ : FiniteMeasure Ω
f g : Ω →ᵇ ℝ≥0
f_le_g : ⇑f ≤ ⇑g
⊢ ∫⁻ (ω : Ω), ↑(f ω) ∂↑μ ≤ ∫⁻ (ω : Ω), ↑(g ω) ∂↑μ

tactic: gcongr
state_before: Ω : Type u_1
inst✝⁵ : MeasurableSpace Ω
R : Type u_2
inst✝⁴ : SMul R ℝ≥0
inst✝³ : SMul R ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : TopologicalSpace Ω
μ : FiniteMeasure Ω
f g : Ω →ᵇ ℝ≥0
f_le_g : ⇑f ≤ ⇑g
⊢ ∫⁻ (ω : Ω), ↑(f ω) ∂↑μ ≤ ∫⁻ (ω : Ω), ↑(g ω) ∂↑μ
state_after: case hfg.a
Ω : Type u_1
inst✝⁵ : MeasurableSpace Ω
R : Type u_2
inst✝⁴ : SMul R ℝ≥0
inst✝³ : SMul R ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : TopologicalSpace Ω
μ : FiniteMeasure Ω
f g : Ω →ᵇ ℝ≥0
f_le_g : ⇑f ≤ ⇑g
x✝ : Ω
⊢ f x✝ ≤ g x✝

tactic: apply f_le_g
state_before: case hfg.a
Ω : Type u_1
inst✝⁵ : MeasurableSpace Ω
R : Type u_2
inst✝⁴ : SMul R ℝ≥0
inst✝³ : SMul R ℝ≥0∞
inst✝² : IsScalarTower R ℝ≥0 ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : TopologicalSpace Ω
μ : FiniteMeasure Ω
f g : Ω →ᵇ ℝ≥0
f_le_g : ⇑f ≤ ⇑g
x✝ : Ω
⊢ f x✝ ≤ g x✝
state_after: no goals
Theorem: RatFunc.natDegree_num_mul_right_sub_natDegree_denom_mul_left_eq_intDegree
File: Mathlib/FieldTheory/RatFunc/Degree.lean

tactic: apply natDegree_sub_eq_of_prod_eq (mul_ne_zero (num_ne_zero hx) hs)
  (mul_ne_zero hs x.denom_ne_zero) (num_ne_zero hx) x.denom_ne_zero
state_before: K : Type u
inst✝ : Field K
x : RatFunc K
hx : x ≠ 0
s : K[X]
hs : s ≠ 0
⊢ ↑(x.num * s).natDegree - ↑(s * x.denom).natDegree = x.intDegree
state_after: K : Type u
inst✝ : Field K
x : RatFunc K
hx : x ≠ 0
s : K[X]
hs : s ≠ 0
⊢ x.num * s * x.denom = x.num * (s * x.denom)

tactic: rw [mul_assoc]
state_before: K : Type u
inst✝ : Field K
x : RatFunc K
hx : x ≠ 0
s : K[X]
hs : s ≠ 0
⊢ x.num * s * x.denom = x.num * (s * x.denom)
state_after: no goals
Theorem: Bornology.cobounded_eq_bot_iff
File: Mathlib/Topology/Bornology/Basic.lean

tactic: rw [← isBounded_univ, isBounded_def, compl_univ, empty_mem_iff_bot]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : Bornology α
⊢ cobounded α = ⊥ ↔ BoundedSpace α
state_after: no goals
Theorem: Subgroup.index_center_le_pow
File: Mathlib/GroupTheory/Index.lean

tactic: obtain ⟨S, hS1, hS2⟩ := Group.rank_spec G
state_before: G : Type u_1
inst✝² : Group G
H K L : Subgroup G
inst✝¹ : Finite ↑(commutatorSet G)
inst✝ : Group.FG G
⊢ (center G).index ≤ Nat.card ↑(commutatorSet G) ^ Group.rank G
state_after: case intro.intro
G : Type u_1
inst✝² : Group G
H K L : Subgroup G
inst✝¹ : Finite ↑(commutatorSet G)
inst✝ : Group.FG G
S : Finset G
hS1 : S.card = Group.rank G
hS2 : closure ↑S = ⊤
⊢ (center G).index ≤ Nat.card ↑(commutatorSet G) ^ Group.rank G

tactic: rw [← hS1, ← Fintype.card_coe, ← Nat.card_eq_fintype_card, ← Finset.coe_sort_coe, ← Nat.card_fun]
state_before: case intro.intro
G : Type u_1
inst✝² : Group G
H K L : Subgroup G
inst✝¹ : Finite ↑(commutatorSet G)
inst✝ : Group.FG G
S : Finset G
hS1 : S.card = Group.rank G
hS2 : closure ↑S = ⊤
⊢ (center G).index ≤ Nat.card ↑(commutatorSet G) ^ Group.rank G
state_after: case intro.intro
G : Type u_1
inst✝² : Group G
H K L : Subgroup G
inst✝¹ : Finite ↑(commutatorSet G)
inst✝ : Group.FG G
S : Finset G
hS1 : S.card = Group.rank G
hS2 : closure ↑S = ⊤
⊢ (center G).index ≤ Nat.card (↑↑S → ↑(commutatorSet G))

tactic: exact Finite.card_le_of_embedding (quotientCenterEmbedding hS2)
state_before: case intro.intro
G : Type u_1
inst✝² : Group G
H K L : Subgroup G
inst✝¹ : Finite ↑(commutatorSet G)
inst✝ : Group.FG G
S : Finset G
hS1 : S.card = Group.rank G
hS2 : closure ↑S = ⊤
⊢ (center G).index ≤ Nat.card (↑↑S → ↑(commutatorSet G))
state_after: no goals
Theorem: strictConvex_iff_div
File: Mathlib/Analysis/Convex/Strict.lean

tactic: apply h hx hy hxy (div_pos ha <| add_pos ha hb) (div_pos hb <| add_pos ha hb)
state_before: 𝕜 : Type u_1
𝕝 : Type u_2
E : Type u_3
F : Type u_4
β : Type u_5
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : TopologicalSpace E
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
h : StrictConvex 𝕜 s
x : E
hx : x ∈ s
y : E
hy : y ∈ s
hxy : x ≠ y
a b : 𝕜
ha : 0 < a
hb : 0 < b
⊢ (a / (a + b)) • x + (b / (a + b)) • y ∈ interior s
state_after: 𝕜 : Type u_1
𝕝 : Type u_2
E : Type u_3
F : Type u_4
β : Type u_5
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : TopologicalSpace E
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
h : StrictConvex 𝕜 s
x : E
hx : x ∈ s
y : E
hy : y ∈ s
hxy : x ≠ y
a b : 𝕜
ha : 0 < a
hb : 0 < b
⊢ a / (a + b) + b / (a + b) = 1

tactic: rw [← add_div]
state_before: 𝕜 : Type u_1
𝕝 : Type u_2
E : Type u_3
F : Type u_4
β : Type u_5
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : TopologicalSpace E
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
h : StrictConvex 𝕜 s
x : E
hx : x ∈ s
y : E
hy : y ∈ s
hxy : x ≠ y
a b : 𝕜
ha : 0 < a
hb : 0 < b
⊢ a / (a + b) + b / (a + b) = 1
state_after: 𝕜 : Type u_1
𝕝 : Type u_2
E : Type u_3
F : Type u_4
β : Type u_5
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : TopologicalSpace E
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
h : StrictConvex 𝕜 s
x : E
hx : x ∈ s
y : E
hy : y ∈ s
hxy : x ≠ y
a b : 𝕜
ha : 0 < a
hb : 0 < b
⊢ (a + b) / (a + b) = 1

tactic: exact div_self (add_pos ha hb).ne'
state_before: 𝕜 : Type u_1
𝕝 : Type u_2
E : Type u_3
F : Type u_4
β : Type u_5
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : TopologicalSpace E
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
h : StrictConvex 𝕜 s
x : E
hx : x ∈ s
y : E
hy : y ∈ s
hxy : x ≠ y
a b : 𝕜
ha : 0 < a
hb : 0 < b
⊢ (a + b) / (a + b) = 1
state_after: no goals

tactic: convert h hx hy hxy ha hb <;> rw [hab, div_one]
state_before: 𝕜 : Type u_1
𝕝 : Type u_2
E : Type u_3
F : Type u_4
β : Type u_5
inst✝⁵ : LinearOrderedField 𝕜
inst✝⁴ : TopologicalSpace E
inst✝³ : AddCommGroup E
inst✝² : AddCommGroup F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x✝ : E
h : s.Pairwise fun x y => ∀ ⦃a b : 𝕜⦄, 0 < a → 0 < b → (a / (a + b)) • x + (b / (a + b)) • y ∈ interior s
x : E
hx : x ∈ s
y : E
hy : y ∈ s
hxy : x ≠ y
a b : 𝕜
ha : 0 < a
hb : 0 < b
hab : a + b = 1
⊢ a • x + b • y ∈ interior s
state_after: no goals
Theorem: compl_sInf
File: Mathlib/Order/CompleteBooleanAlgebra.lean

tactic: simp only [sInf_eq_iInf, compl_iInf]
state_before: α : Type u
β : Type v
ι : Sort w
κ : ι → Sort w'
inst✝ : CompleteBooleanAlgebra α
a b : α
s : Set α
f : ι → α
⊢ (sInf s)ᶜ = ⨆ i ∈ s, iᶜ
state_after: no goals
Theorem: SimpleGraph.exists_girth_eq_length
File: Mathlib/Combinatorics/SimpleGraph/Girth.lean

tactic: refine ⟨?_, fun h ↦ ?_⟩
state_before: α : Type u_1
G : SimpleGraph α
n : ℕ∞
⊢ (∃ a w, w.IsCycle ∧ G.girth = ↑w.length) ↔ ¬G.IsAcyclic
state_after: case refine_1
α : Type u_1
G : SimpleGraph α
n : ℕ∞
⊢ (∃ a w, w.IsCycle ∧ G.girth = ↑w.length) → ¬G.IsAcyclic

case refine_2
α : Type u_1
G : SimpleGraph α
n : ℕ∞
h : ¬G.IsAcyclic
⊢ ∃ a w, w.IsCycle ∧ G.girth = ↑w.length

tactic: rintro ⟨a, w, hw, _⟩ hG
state_before: case refine_1
α : Type u_1
G : SimpleGraph α
n : ℕ∞
⊢ (∃ a w, w.IsCycle ∧ G.girth = ↑w.length) → ¬G.IsAcyclic
state_after: case refine_1.intro.intro.intro
α : Type u_1
G : SimpleGraph α
n : ℕ∞
a : α
w : G.Walk a a
hw : w.IsCycle
right✝ : G.girth = ↑w.length
hG : G.IsAcyclic
⊢ False

tactic: exact hG _ hw
state_before: case refine_1.intro.intro.intro
α : Type u_1
G : SimpleGraph α
n : ℕ∞
a : α
w : G.Walk a a
hw : w.IsCycle
right✝ : G.girth = ↑w.length
hG : G.IsAcyclic
⊢ False
state_after: no goals

tactic: simp_rw [← girth_eq_top, ← Ne.eq_def, girth, iInf_subtype', iInf_sigma', ENat.iInf_coe_ne_top,
  ← exists_prop, Subtype.exists', Sigma.exists', eq_comm] at h ⊢
state_before: case refine_2
α : Type u_1
G : SimpleGraph α
n : ℕ∞
h : ¬G.IsAcyclic
⊢ ∃ a w, w.IsCycle ∧ G.girth = ↑w.length
state_after: case refine_2
α : Type u_1
G : SimpleGraph α
n : ℕ∞
h : Nonempty ((i : α) × Subtype Walk.IsCycle)
⊢ ∃ x, ↑(↑x.snd).length = ⨅ x, ↑(↑x.snd).length

tactic: exact ciInf_mem _
state_before: case refine_2
α : Type u_1
G : SimpleGraph α
n : ℕ∞
h : Nonempty ((i : α) × Subtype Walk.IsCycle)
⊢ ∃ x, ↑(↑x.snd).length = ⨅ x, ↑(↑x.snd).length
state_after: no goals
Theorem: min_le_left
File: Mathlib/Init/Order/LinearOrder.lean

tactic: if h : a ≤ b
then simp [min_def, if_pos h, le_refl]
else simp [min_def, if_neg h]; exact le_of_not_le h
state_before: α : Type u
inst✝ : LinearOrder α
a b : α
⊢ min a b ≤ a
state_after: no goals

tactic: simp [min_def, if_pos h, le_refl]
state_before: α : Type u
inst✝ : LinearOrder α
a b : α
h : a ≤ b
⊢ min a b ≤ a
state_after: no goals

tactic: simp [min_def, if_neg h]
state_before: α : Type u
inst✝ : LinearOrder α
a b : α
h : ¬a ≤ b
⊢ min a b ≤ a
state_after: α : Type u
inst✝ : LinearOrder α
a b : α
h : ¬a ≤ b
⊢ b ≤ a

tactic: exact le_of_not_le h
state_before: α : Type u
inst✝ : LinearOrder α
a b : α
h : ¬a ≤ b
⊢ b ≤ a
state_after: no goals
Theorem: Topology.IsLower.isLowerSet_of_isOpen
File: Mathlib/Topology/Order/LowerUpperTopology.lean

tactic: replace h := isOpen_iff_generate_Ici_compl.1 h
state_before: α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
h : IsOpen s
⊢ IsLowerSet s
state_after: α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
h : GenerateOpen {t | ∃ a, (Ici a)ᶜ = t} s
⊢ IsLowerSet s

tactic: induction h with
| basic u h' => obtain ⟨a, rfl⟩ := h'; exact (isUpperSet_Ici a).compl
| univ => exact isLowerSet_univ
| inter u v _ _ hu2 hv2 => exact hu2.inter hv2
| sUnion _ _ ih => exact isLowerSet_sUnion ih
state_before: α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
h : GenerateOpen {t | ∃ a, (Ici a)ᶜ = t} s
⊢ IsLowerSet s
state_after: no goals

tactic: obtain ⟨a, rfl⟩ := h'
state_before: case basic
α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s u : Set α
h' : u ∈ {t | ∃ a, (Ici a)ᶜ = t}
⊢ IsLowerSet u
state_after: case basic.intro
α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
a : α
⊢ IsLowerSet (Ici a)ᶜ

tactic: exact (isUpperSet_Ici a).compl
state_before: case basic.intro
α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
a : α
⊢ IsLowerSet (Ici a)ᶜ
state_after: no goals

tactic: exact isLowerSet_univ
state_before: case univ
α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
⊢ IsLowerSet univ
state_after: no goals

tactic: exact hu2.inter hv2
state_before: case inter
α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s u v : Set α
a✝¹ : GenerateOpen {t | ∃ a, (Ici a)ᶜ = t} u
a✝ : GenerateOpen {t | ∃ a, (Ici a)ᶜ = t} v
hu2 : IsLowerSet u
hv2 : IsLowerSet v
⊢ IsLowerSet (u ∩ v)
state_after: no goals

tactic: exact isLowerSet_sUnion ih
state_before: case sUnion
α : Type u_1
β : ?m.6004
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : IsLower α
s : Set α
S✝ : Set (Set α)
a✝ : ∀ s ∈ S✝, GenerateOpen {t | ∃ a, (Ici a)ᶜ = t} s
ih : ∀ s ∈ S✝, IsLowerSet s
⊢ IsLowerSet (⋃₀ S✝)
state_after: no goals
Theorem: AdjoinRoot.minpoly_powerBasis_gen_of_monic
File: Mathlib/RingTheory/AdjoinRoot.lean

tactic: rw [minpoly_powerBasis_gen hf', hf.leadingCoeff, inv_one, C.map_one, mul_one]
state_before: R : Type u
S : Type v
K : Type w
inst✝¹ : CommRing R
g : R[X]
inst✝ : Field K
f : K[X]
hf : f.Monic
hf' : optParam (f ≠ 0) ⋯
⊢ minpoly K (powerBasis hf').gen = f
state_after: no goals
Theorem: FintypeCat.Skeleton.incl_mk_nat_card
File: Mathlib/CategoryTheory/FintypeCat.lean

tactic: convert Finset.card_fin n
state_before: n : ℕ
⊢ Fintype.card ↑(incl.obj (mk n)) = n
state_after: case h.e'_2
n : ℕ
⊢ Fintype.card ↑(incl.obj (mk n)) = Finset.univ.card

tactic: apply Fintype.ofEquiv_card
state_before: case h.e'_2
n : ℕ
⊢ Fintype.card ↑(incl.obj (mk n)) = Finset.univ.card
state_after: no goals
Theorem: nhds_false
File: Mathlib/Topology/Order.lean

tactic: simp [@and_comm (_ ∈ _), iInter_and]
state_before: α : Type u_1
inst✝ : TopologicalSpace α
⊢ ⨅ s ∈ {s | False ∈ s ∧ s ∈ {{True}}}, 𝓟 s = ⊤
state_after: no goals
Theorem: LieModule.weightSpace_chainBotCoeff_sub_one_zsmul_sub
File: Mathlib/Algebra/Lie/Weights/Chain.lean

tactic: rw [sub_eq_add_neg, ← neg_add, neg_smul, ← smul_neg, chainBotCoeff,
  weightSpace_chainTopCoeff_add_one_zsmul_add _ _ (by simpa using hα)]
state_before: R : Type u_1
L : Type u_2
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
M : Type u_3
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : LieAlgebra.IsNilpotent R L
inst✝² : NoZeroSMulDivisors ℤ R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : IsNoetherian R M
α : L → R
β : Weight R L M
hα : α ≠ 0
⊢ weightSpace M ((-↑(chainBotCoeff α β) - 1) • α + ⇑β) = ⊥
state_after: no goals

tactic: simpa using hα
state_before: R : Type u_1
L : Type u_2
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
M : Type u_3
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : LieAlgebra.IsNilpotent R L
inst✝² : NoZeroSMulDivisors ℤ R
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : IsNoetherian R M
α : L → R
β : Weight R L M
hα : α ≠ 0
⊢ -α ≠ 0
state_after: no goals
Theorem: noZeroDivisors_iff_isDomain_or_subsingleton
File: Mathlib/Algebra/Ring/Basic.lean

tactic: rw [← isCancelMulZero_iff_noZeroDivisors, isCancelMulZero_iff_isDomain_or_subsingleton]
state_before: R : Type u_1
α : Type u_2
inst✝ : Ring α
⊢ NoZeroDivisors α ↔ IsDomain α ∨ Subsingleton α
state_after: no goals
Theorem: Polynomial.derivative_X_sub_C
File: Mathlib/Algebra/Polynomial/Derivative.lean

tactic: rw [derivative_sub, derivative_X, derivative_C, sub_zero]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : Ring R
c : R
⊢ derivative (X - C c) = 1
state_after: no goals
Theorem: finCongr_refl
File: Mathlib/Data/Fin/Basic.lean

tactic: ext
state_before: n m : ℕ
h : optParam (n = n) ⋯
⊢ finCongr h = Equiv.refl (Fin n)
state_after: case H.h
n m : ℕ
h : optParam (n = n) ⋯
x✝ : Fin n
⊢ ↑((finCongr h) x✝) = ↑((Equiv.refl (Fin n)) x✝)

tactic: simp
state_before: case H.h
n m : ℕ
h : optParam (n = n) ⋯
x✝ : Fin n
⊢ ↑((finCongr h) x✝) = ↑((Equiv.refl (Fin n)) x✝)
state_after: no goals
Theorem: NormedSpace.invOf_exp_of_mem_ball
File: Mathlib/Analysis/NormedSpace/Exponential.lean

tactic: letI := invertibleExpOfMemBall hx
state_before: 𝕂 : Type u_1
𝔸 : Type u_2
𝔹 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕂
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedRing 𝔹
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : NormedAlgebra 𝕂 𝔹
inst✝² : CompleteSpace 𝔸
inst✝¹ : CharZero 𝕂
x : 𝔸
hx : x ∈ EMetric.ball 0 (expSeries 𝕂 𝔸).radius
inst✝ : Invertible (exp 𝕂 x)
⊢ ⅟(exp 𝕂 x) = exp 𝕂 (-x)
state_after: 𝕂 : Type u_1
𝔸 : Type u_2
𝔹 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕂
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedRing 𝔹
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : NormedAlgebra 𝕂 𝔹
inst✝² : CompleteSpace 𝔸
inst✝¹ : CharZero 𝕂
x : 𝔸
hx : x ∈ EMetric.ball 0 (expSeries 𝕂 𝔸).radius
inst✝ : Invertible (exp 𝕂 x)
this : Invertible (exp 𝕂 x) := invertibleExpOfMemBall hx
⊢ ⅟(exp 𝕂 x) = exp 𝕂 (-x)

tactic: convert (rfl : ⅟ (exp 𝕂 x) = _)
state_before: 𝕂 : Type u_1
𝔸 : Type u_2
𝔹 : Type u_3
inst✝⁷ : NontriviallyNormedField 𝕂
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedRing 𝔹
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : NormedAlgebra 𝕂 𝔹
inst✝² : CompleteSpace 𝔸
inst✝¹ : CharZero 𝕂
x : 𝔸
hx : x ∈ EMetric.ball 0 (expSeries 𝕂 𝔸).radius
inst✝ : Invertible (exp 𝕂 x)
this : Invertible (exp 𝕂 x) := invertibleExpOfMemBall hx
⊢ ⅟(exp 𝕂 x) = exp 𝕂 (-x)
state_after: no goals
Theorem: SignType.nonpos_iff
File: Mathlib/Data/Sign.lean

tactic: cases a <;> decide
state_before: a : SignType
⊢ a ≤ 0 ↔ a = -1 ∨ a = 0
state_after: no goals
Theorem: Nat.Subtype.le_succ_of_forall_lt_le
File: Mathlib/Logic/Denumerable.lean

tactic: omega
state_before: α : Type u_1
β : Type u_2
s : Set ℕ
inst✝¹ : Infinite ↑s
inst✝ : DecidablePred fun x => x ∈ s
x y : ↑s
h : ∀ z < x, z ≤ y
hx : ∃ m, ↑y + m + 1 ∈ s
hxy : ↑x > ↑y + Nat.find hx + 1
⊢ ↑y < ↑y + Nat.find hx + 1
state_after: no goals
Theorem: fderiv_zero_of_not_differentiableAt
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: have : ¬∃ f', HasFDerivAt f f' x := h
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
h : ¬DifferentiableAt 𝕜 f x
⊢ fderiv 𝕜 f x = 0
state_after: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
h : ¬DifferentiableAt 𝕜 f x
this : ¬∃ f', HasFDerivAt f f' x
⊢ fderiv 𝕜 f x = 0

tactic: simp [fderiv, this]
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
h : ¬DifferentiableAt 𝕜 f x
this : ¬∃ f', HasFDerivAt f f' x
⊢ fderiv 𝕜 f x = 0
state_after: no goals
Theorem: Nat.add_div_of_dvd_right
File: Mathlib/Data/Nat/ModEq.lean

tactic: simp [h]
state_before: m n a✝ b✝ c✝ d a b c : ℕ
hca : c ∣ a
h : c = 0
⊢ (a + b) / c = a / c + b / c
state_after: no goals

tactic: rw [Nat.mod_eq_zero_of_dvd hca, zero_add]
state_before: m n a✝ b✝ c✝ d a b c : ℕ
hca : c ∣ a
h : ¬c = 0
⊢ a % c + b % c < c
state_after: m n a✝ b✝ c✝ d a b c : ℕ
hca : c ∣ a
h : ¬c = 0
⊢ b % c < c

tactic: exact Nat.mod_lt _ (pos_iff_ne_zero.mpr h)
state_before: m n a✝ b✝ c✝ d a b c : ℕ
hca : c ∣ a
h : ¬c = 0
⊢ b % c < c
state_after: no goals
Theorem: min_lt_of_mul_lt_sq
File: Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean

tactic: simpa using min_lt_max_of_mul_lt_mul (h.trans_eq <| pow_two _)
state_before: β : Type u_1
G : Type u_2
M : Type u_3
inst✝³ : Monoid M
inst✝² : LinearOrder M
inst✝¹ : CovariantClass M M (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass M M (swap fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c : M
h : a * b < c ^ 2
⊢ min a b < c
state_after: no goals
Theorem: Nat.coprime_two_left
File: Mathlib/Data/Nat/Prime.lean

tactic: rw [prime_two.coprime_iff_not_dvd, odd_iff_not_even, even_iff_two_dvd]
state_before: n : ℕ
⊢ Coprime 2 n ↔ Odd n
state_after: no goals
Theorem: Set.Ioi_subset_Ici_iff
File: Mathlib/Order/Interval/Set/Basic.lean

tactic: refine ⟨fun h => ?_, fun h => Ioi_subset_Ici h⟩
state_before: α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
inst✝ : DenselyOrdered α
⊢ Ioi b ⊆ Ici a ↔ a ≤ b
state_after: α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
inst✝ : DenselyOrdered α
h : Ioi b ⊆ Ici a
⊢ a ≤ b

tactic: by_contra ba
state_before: α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
inst✝ : DenselyOrdered α
h : Ioi b ⊆ Ici a
⊢ a ≤ b
state_after: α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
inst✝ : DenselyOrdered α
h : Ioi b ⊆ Ici a
ba : ¬a ≤ b
⊢ False

tactic: obtain ⟨c, bc, ca⟩ : ∃ c, b < c ∧ c < a := exists_between (not_le.mp ba)
state_before: α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
inst✝ : DenselyOrdered α
h : Ioi b ⊆ Ici a
ba : ¬a ≤ b
⊢ False
state_after: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c✝ d : α
inst✝ : DenselyOrdered α
h : Ioi b ⊆ Ici a
ba : ¬a ≤ b
c : α
bc : b < c
ca : c < a
⊢ False

tactic: exact lt_irrefl _ (ca.trans_le (h bc))
state_before: case intro.intro
α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
a a₁ a₂ b b₁ b₂ c✝ d : α
inst✝ : DenselyOrdered α
h : Ioi b ⊆ Ici a
ba : ¬a ≤ b
c : α
bc : b < c
ca : c < a
⊢ False
state_after: no goals
Theorem: Finset.filter_False
File: Mathlib/Data/Finset/Basic.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
p q : α → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
s✝ : Finset α
h : DecidablePred fun x => False
s : Finset α
⊢ filter (fun x => False) s = ∅
state_after: case a
α : Type u_1
β : Type u_2
γ : Type u_3
p q : α → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
s✝ : Finset α
h : DecidablePred fun x => False
s : Finset α
a✝ : α
⊢ a✝ ∈ filter (fun x => False) s ↔ a✝ ∈ ∅

tactic: simp
state_before: case a
α : Type u_1
β : Type u_2
γ : Type u_3
p q : α → Prop
inst✝¹ : DecidablePred p
inst✝ : DecidablePred q
s✝ : Finset α
h : DecidablePred fun x => False
s : Finset α
a✝ : α
⊢ a✝ ∈ filter (fun x => False) s ↔ a✝ ∈ ∅
state_after: no goals
Theorem: Polynomial.tendsto_abv_atTop
File: Mathlib/Topology/Algebra/Polynomial.lean

tactic: apply tendsto_abv_eval₂_atTop _ _ _ h _ hz
state_before: R : Type u_1
k : Type u_2
α : Type u_3
inst✝² : Ring R
inst✝¹ : LinearOrderedField k
abv : R → k
inst✝ : IsAbsoluteValue abv
p : R[X]
h : 0 < p.degree
l : Filter α
z : α → R
hz : Tendsto (abv ∘ z) l atTop
⊢ Tendsto (fun x => abv (eval (z x) p)) l atTop
state_after: R : Type u_1
k : Type u_2
α : Type u_3
inst✝² : Ring R
inst✝¹ : LinearOrderedField k
abv : R → k
inst✝ : IsAbsoluteValue abv
p : R[X]
h : 0 < p.degree
l : Filter α
z : α → R
hz : Tendsto (abv ∘ z) l atTop
⊢ (RingHom.id R) p.leadingCoeff ≠ 0

tactic: exact mt leadingCoeff_eq_zero.1 (ne_zero_of_degree_gt h)
state_before: R : Type u_1
k : Type u_2
α : Type u_3
inst✝² : Ring R
inst✝¹ : LinearOrderedField k
abv : R → k
inst✝ : IsAbsoluteValue abv
p : R[X]
h : 0 < p.degree
l : Filter α
z : α → R
hz : Tendsto (abv ∘ z) l atTop
⊢ (RingHom.id R) p.leadingCoeff ≠ 0
state_after: no goals
Theorem: Real.log_zpow
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: induction n
state_before: x✝ y x : ℝ
n : ℤ
⊢ log (x ^ n) = ↑n * log x
state_after: case ofNat
x✝ y x : ℝ
a✝ : ℕ
⊢ log (x ^ Int.ofNat a✝) = ↑(Int.ofNat a✝) * log x

case negSucc
x✝ y x : ℝ
a✝ : ℕ
⊢ log (x ^ Int.negSucc a✝) = ↑(Int.negSucc a✝) * log x

tactic: rw [zpow_negSucc, log_inv, log_pow, Int.cast_negSucc, Nat.cast_add_one, neg_mul_eq_neg_mul]
state_before: case negSucc
x✝ y x : ℝ
a✝ : ℕ
⊢ log (x ^ Int.negSucc a✝) = ↑(Int.negSucc a✝) * log x
state_after: no goals

tactic: rw [Int.ofNat_eq_coe, zpow_natCast, log_pow, Int.cast_natCast]
state_before: case ofNat
x✝ y x : ℝ
a✝ : ℕ
⊢ log (x ^ Int.ofNat a✝) = ↑(Int.ofNat a✝) * log x
state_after: no goals
Theorem: aeSeq.aeSeq_eq_mk_of_mem_aeSeqSet
File: Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean

tactic: simp only [aeSeq, hx, if_true]
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : ι → α → β
μ : Measure α
p : α → (ι → β) → Prop
hf : ∀ (i : ι), AEMeasurable (f i) μ
x : α
hx : x ∈ aeSeqSet hf p
i : ι
⊢ aeSeq hf p i x = AEMeasurable.mk (f i) ⋯ x
state_after: no goals