1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: norm_smul_inv_norm'
File: Mathlib/Analysis/NormedSpace/RCLike.lean

tactic: have : ‖x‖ ≠ 0 := by simp [hx]
state_before: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
r : ℝ
r_nonneg : 0 ≤ r
x : E
hx : x ≠ 0
⊢ ‖(↑r * (↑‖x‖)⁻¹) • x‖ = r
state_after: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
r : ℝ
r_nonneg : 0 ≤ r
x : E
hx : x ≠ 0
this : ‖x‖ ≠ 0
⊢ ‖(↑r * (↑‖x‖)⁻¹) • x‖ = r

tactic: field_simp [norm_smul, r_nonneg, rclike_simps]
state_before: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
r : ℝ
r_nonneg : 0 ≤ r
x : E
hx : x ≠ 0
this : ‖x‖ ≠ 0
⊢ ‖(↑r * (↑‖x‖)⁻¹) • x‖ = r
state_after: no goals

tactic: simp [hx]
state_before: 𝕜 : Type u_1
inst✝² : RCLike 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
r : ℝ
r_nonneg : 0 ≤ r
x : E
hx : x ≠ 0
⊢ ‖x‖ ≠ 0
state_after: no goals
Theorem: Module.preReflection_apply
File: Mathlib/LinearAlgebra/Reflection.lean

tactic: simp [preReflection]
state_before: R : Type u_1
M : Type u_2
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
x : M
f : Dual R M
y : M
⊢ (preReflection x f) y = y - f y • x
state_after: no goals
Theorem: eventually_norm_sub_lt
File: Mathlib/Analysis/Normed/Group/Lemmas.lean

tactic: simpa
state_before: E : Type u_1
inst✝ : SeminormedAddCommGroup E
x₀ : E
ε : ℝ
ε_pos : 0 < ε
⊢ (fun x => ‖id x - x₀‖) x₀ < ε
state_after: no goals
Theorem: NonUnitalStarSubalgebra.prod_top
File: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean

tactic: ext
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 : NonUnitalStarSubalgebra R A
S₁ : NonUnitalStarSubalgebra R B
⊢ ⊤.prod ⊤ = ⊤
state_after: case h
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 : NonUnitalStarSubalgebra R A
S₁ : NonUnitalStarSubalgebra R B
x✝ : A × B
⊢ x✝ ∈ ⊤.prod ⊤ ↔ x✝ ∈ ⊤

tactic: simp
state_before: case h
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 : NonUnitalStarSubalgebra R A
S₁ : NonUnitalStarSubalgebra R B
x✝ : A × B
⊢ x✝ ∈ ⊤.prod ⊤ ↔ x✝ ∈ ⊤
state_after: no goals
Theorem: LieModuleHom.ker_eq_bot
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: rw [← LieSubmodule.coe_toSubmodule_eq_iff, ker_coeSubmodule, LieSubmodule.bot_coeSubmodule,
  LinearMap.ker_eq_bot, coe_toLinearMap]
state_before: R : Type u
L : Type v
M : Type w
N : Type w₁
inst✝¹⁰ : CommRing R
inst✝⁹ : LieRing L
inst✝⁸ : LieAlgebra R L
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup N
inst✝² : Module R N
inst✝¹ : LieRingModule L N
inst✝ : LieModule R L N
f : M →ₗ⁅R,L⁆ N
⊢ f.ker = ⊥ ↔ Function.Injective ⇑f
state_after: no goals
Theorem: List.Sorted.insertionSort_eq
File: Mathlib/Data/List/Sort.lean

tactic: rw [insertionSort, Sorted.insertionSort_eq, orderedInsert, if_pos]
state_before: α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
h : Sorted r (a :: b :: l)
⊢ insertionSort r (a :: b :: l) = a :: b :: l
state_after: case hc
α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
h : Sorted r (a :: b :: l)
⊢ r a b

α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
h : Sorted r (a :: b :: l)
⊢ Sorted r (b :: l)

tactic: exacts [rel_of_sorted_cons h _ (mem_cons_self _ _), h.tail]
state_before: case hc
α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
h : Sorted r (a :: b :: l)
⊢ r a b

α : Type u
r : α → α → Prop
inst✝ : DecidableRel r
a b : α
l : List α
h : Sorted r (a :: b :: l)
⊢ Sorted r (b :: l)
state_after: no goals
Theorem: OmegaCompletePartialOrder.ωSup_le_ωSup_of_le
File: Mathlib/Order/OmegaCompletePartialOrder.lean

tactic: obtain ⟨_, h⟩ := h i
state_before: α : Type u
β : Type v
γ : Type u_1
inst✝ : OmegaCompletePartialOrder α
c₀ c₁ : Chain α
h : c₀ ≤ c₁
i : ℕ
⊢ c₀ i ≤ ωSup c₁
state_after: case intro
α : Type u
β : Type v
γ : Type u_1
inst✝ : OmegaCompletePartialOrder α
c₀ c₁ : Chain α
h✝ : c₀ ≤ c₁
i w✝ : ℕ
h : c₀ i ≤ c₁ w✝
⊢ c₀ i ≤ ωSup c₁

tactic: exact le_trans h (le_ωSup _ _)
state_before: case intro
α : Type u
β : Type v
γ : Type u_1
inst✝ : OmegaCompletePartialOrder α
c₀ c₁ : Chain α
h✝ : c₀ ≤ c₁
i w✝ : ℕ
h : c₀ i ≤ c₁ w✝
⊢ c₀ i ≤ ωSup c₁
state_after: no goals
Theorem: openSegment_eq_image'
File: Mathlib/Analysis/Convex/Segment.lean

tactic: convert openSegment_eq_image 𝕜 x y using 2
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y : E
⊢ openSegment 𝕜 x y = (fun θ => x + θ • (y - x)) '' Ioo 0 1
state_after: case h.e'_3.h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y : E
a✝¹ : 𝕜
a✝ : a✝¹ ∈ Ioo 0 1
⊢ x + a✝¹ • (y - x) = (1 - a✝¹) • x + a✝¹ • y

tactic: simp only [smul_sub, sub_smul, one_smul]
state_before: case h.e'_3.h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y : E
a✝¹ : 𝕜
a✝ : a✝¹ ∈ Ioo 0 1
⊢ x + a✝¹ • (y - x) = (1 - a✝¹) • x + a✝¹ • y
state_after: case h.e'_3.h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y : E
a✝¹ : 𝕜
a✝ : a✝¹ ∈ Ioo 0 1
⊢ x + (a✝¹ • y - a✝¹ • x) = x - a✝¹ • x + a✝¹ • y

tactic: abel
state_before: case h.e'_3.h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
x y : E
a✝¹ : 𝕜
a✝ : a✝¹ ∈ Ioo 0 1
⊢ x + (a✝¹ • y - a✝¹ • x) = x - a✝¹ • x + a✝¹ • y
state_after: no goals
Theorem: CategoryTheory.ChosenFiniteProducts.whiskerLeft_fst
File: Mathlib/CategoryTheory/ChosenFiniteProducts.lean

tactic: simp
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : ChosenFiniteProducts C
X Y₁ Y₂ : C
g : Y₁ ⟶ Y₂
⊢ fst X Y₁ ≫ 𝟙 X = fst X Y₁
state_after: no goals
Theorem: TopCat.Presheaf.Pushforward.id_hom_app'
File: Mathlib/Topology/Sheaves/Presheaf.lean

tactic: dsimp [id]
state_before: C : Type u
inst✝ : Category.{v, u} C
X : TopCat
ℱ : Presheaf C X
U : Set ↑X
p : IsOpen U
⊢ (id ℱ).hom.app { unop := { carrier := U, is_open' := p } } = ℱ.map (𝟙 { unop := { carrier := U, is_open' := p } })
state_after: C : Type u
inst✝ : Category.{v, u} C
X : TopCat
ℱ : Presheaf C X
U : Set ↑X
p : IsOpen U
⊢ ℱ.map (𝟙 { unop := { carrier := U, is_open' := p } }) ≫ 𝟙 (ℱ.obj { unop := { carrier := U, is_open' := p } }) =
    ℱ.map (𝟙 { unop := { carrier := U, is_open' := p } })

tactic: simp
state_before: C : Type u
inst✝ : Category.{v, u} C
X : TopCat
ℱ : Presheaf C X
U : Set ↑X
p : IsOpen U
⊢ ℱ.map (𝟙 { unop := { carrier := U, is_open' := p } }) ≫ 𝟙 (ℱ.obj { unop := { carrier := U, is_open' := p } }) =
    ℱ.map (𝟙 { unop := { carrier := U, is_open' := p } })
state_after: no goals
Theorem: Equiv.Perm.isCycle_iff_sameCycle
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: rw [← zpow_apply_eq_self_of_apply_eq_self hy i, (f ^ i).injective.eq_iff] at hi
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
x y✝ : α
hx : f x ≠ x
hf : f.IsCycle
y : α
x✝ : f.SameCycle x y
hy : f y = y
i : ℤ
hi : (f ^ i) x = y
⊢ f x = x
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
x y✝ : α
hx : f x ≠ x
hf : f.IsCycle
y : α
x✝ : f.SameCycle x y
hy : f y = y
i : ℤ
hi : x = y
⊢ f x = x

tactic: rw [hi, hy]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
x y✝ : α
hx : f x ≠ x
hf : f.IsCycle
y : α
x✝ : f.SameCycle x y
hy : f y = y
i : ℤ
hi : x = y
⊢ f x = x
state_after: no goals
Theorem: ENNReal.le_ofReal_iff_toReal_le
File: Mathlib/Data/ENNReal/Real.lean

tactic: lift a to ℝ≥0 using ha
state_before: a✝ b✝ c d : ℝ≥0∞
r p q : ℝ≥0
a : ℝ≥0∞
b : ℝ
ha : a ≠ ⊤
hb : 0 ≤ b
⊢ a ≤ ENNReal.ofReal b ↔ a.toReal ≤ b
state_after: case intro
a✝ b✝ c d : ℝ≥0∞
r p q : ℝ≥0
b : ℝ
hb : 0 ≤ b
a : ℝ≥0
⊢ ↑a ≤ ENNReal.ofReal b ↔ (↑a).toReal ≤ b

tactic: simpa [ENNReal.ofReal, ENNReal.toReal] using Real.le_toNNReal_iff_coe_le hb
state_before: case intro
a✝ b✝ c d : ℝ≥0∞
r p q : ℝ≥0
b : ℝ
hb : 0 ≤ b
a : ℝ≥0
⊢ ↑a ≤ ENNReal.ofReal b ↔ (↑a).toReal ≤ b
state_after: no goals
Theorem: div_le_div_flip
File: Mathlib/Algebra/Order/Group/Defs.lean

tactic: rw [div_eq_mul_inv b, mul_comm]
state_before: α✝ : Type u
inst✝⁵ : Group α✝
inst✝⁴ : LinearOrder α✝
inst✝³ : CovariantClass α✝ α✝ (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a✝ b✝ c : α✝
α : Type u_1
inst✝² : CommGroup α
inst✝¹ : LinearOrder α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b : α
⊢ a / b ≤ b / a ↔ a ≤ b
state_after: α✝ : Type u
inst✝⁵ : Group α✝
inst✝⁴ : LinearOrder α✝
inst✝³ : CovariantClass α✝ α✝ (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a✝ b✝ c : α✝
α : Type u_1
inst✝² : CommGroup α
inst✝¹ : LinearOrder α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b : α
⊢ a / b ≤ a⁻¹ * b ↔ a ≤ b

tactic: exact div_le_inv_mul_iff
state_before: α✝ : Type u
inst✝⁵ : Group α✝
inst✝⁴ : LinearOrder α✝
inst✝³ : CovariantClass α✝ α✝ (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a✝ b✝ c : α✝
α : Type u_1
inst✝² : CommGroup α
inst✝¹ : LinearOrder α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b : α
⊢ a / b ≤ a⁻¹ * b ↔ a ≤ b
state_after: no goals
Theorem: MeasureTheory.lmarginal_empty
File: Mathlib/MeasureTheory/Integral/Marginal.lean

tactic: ext1 x
state_before: δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
⊢ ∫⋯∫⁻_∅, f ∂μ = f
state_after: case h
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
x : (i : δ) → π i
⊢ (∫⋯∫⁻_∅, f ∂μ) x = f x

tactic: simp_rw [lmarginal, Measure.pi_of_empty fun i : (∅ : Finset δ) => μ i]
state_before: case h
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
x : (i : δ) → π i
⊢ (∫⋯∫⁻_∅, f ∂μ) x = f x
state_after: case h
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
x : (i : δ) → π i
⊢ (∫⁻ (y : (i : { x // x ∈ ∅ }) → π ↑i), f (updateFinset x ∅ y) ∂Measure.dirac fun a => isEmptyElim a) = f x

tactic: apply lintegral_dirac'
state_before: case h
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
x : (i : δ) → π i
⊢ (∫⁻ (y : (i : { x // x ∈ ∅ }) → π ↑i), f (updateFinset x ∅ y) ∂Measure.dirac fun a => isEmptyElim a) = f x
state_after: case h.hf
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
x : (i : δ) → π i
⊢ Measurable fun a => f (updateFinset x ∅ a)

tactic: exact Subsingleton.measurable
state_before: case h.hf
δ : Type u_1
δ' : Type u_2
π : δ → Type u_3
inst✝² : (x : δ) → MeasurableSpace (π x)
μ : (i : δ) → Measure (π i)
inst✝¹ : ∀ (i : δ), SigmaFinite (μ i)
inst✝ : DecidableEq δ
s t : Finset δ
f✝ g : ((i : δ) → π i) → ℝ≥0∞
x✝ y : (i : δ) → π i
i : δ
f : ((i : δ) → π i) → ℝ≥0∞
x : (i : δ) → π i
⊢ Measurable fun a => f (updateFinset x ∅ a)
state_after: no goals
Theorem: PNat.gcdB'_coe
File: Mathlib/Data/PNat/Xgcd.lean

tactic: dsimp [gcdB', gcdY, gcdZ, XgcdType.z]
state_before: a b : ℕ+
⊢ ↑(a.gcdB' b) = a.gcdY b + ↑(a.gcdZ b)
state_after: a b : ℕ+
⊢ (a.xgcd b).y + (a.xgcd b).zp + 1 = (a.xgcd b).y + ((a.xgcd b).zp + 1)

tactic: rw [add_assoc]
state_before: a b : ℕ+
⊢ (a.xgcd b).y + (a.xgcd b).zp + 1 = (a.xgcd b).y + ((a.xgcd b).zp + 1)
state_after: no goals
Theorem: Real.aux₀
File: Mathlib/NumberTheory/DiophantineApproximation.lean

tactic: norm_cast
state_before: v : ℤ
hv : 0 < v
⊢ 0 < 2 * ↑v - 1
state_after: v : ℤ
hv : 0 < v
⊢ 0 < 2 * v - 1

tactic: omega
state_before: v : ℤ
hv : 0 < v
⊢ 0 < 2 * v - 1
state_after: no goals
Theorem: SimpleGraph.IsNClique.mono
File: Mathlib/Combinatorics/SimpleGraph/Clique.lean

tactic: simp_rw [isNClique_iff]
state_before: α : Type u_1
β : Type u_2
G H : SimpleGraph α
n : ℕ
s : Finset α
a b c : α
h : G ≤ H
⊢ G.IsNClique n s → H.IsNClique n s
state_after: α : Type u_1
β : Type u_2
G H : SimpleGraph α
n : ℕ
s : Finset α
a b c : α
h : G ≤ H
⊢ G.IsClique ↑s ∧ s.card = n → H.IsClique ↑s ∧ s.card = n

tactic: exact And.imp_left (IsClique.mono h)
state_before: α : Type u_1
β : Type u_2
G H : SimpleGraph α
n : ℕ
s : Finset α
a b c : α
h : G ≤ H
⊢ G.IsClique ↑s ∧ s.card = n → H.IsClique ↑s ∧ s.card = n
state_after: no goals
Theorem: Ideal.isCoprime_iff_sup_eq
File: Mathlib/RingTheory/Ideal/Operations.lean

tactic: rw [isCoprime_iff_codisjoint, codisjoint_iff]
state_before: R : Type u
ι : Type u_1
inst✝ : CommSemiring R
I J K L : Ideal R
⊢ IsCoprime I J ↔ I ⊔ J = ⊤
state_after: no goals
Theorem: cfcₙ_apply_of_not_continuousOn
File: Mathlib/Topology/ContinuousFunction/NonUnitalFunctionalCalculus.lean

tactic: rw [cfcₙ_def, dif_neg (not_and_of_not_right _ (not_and_of_not_left _ hf))]
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹² : CommSemiring R
inst✝¹¹ : Nontrivial R
inst✝¹⁰ : StarRing R
inst✝⁹ : MetricSpace R
inst✝⁸ : TopologicalSemiring R
inst✝⁷ : ContinuousStar R
inst✝⁶ : NonUnitalRing A
inst✝⁵ : StarRing A
inst✝⁴ : TopologicalSpace A
inst✝³ : Module R A
inst✝² : IsScalarTower R A A
inst✝¹ : SMulCommClass R A A
inst✝ : NonUnitalContinuousFunctionalCalculus R p
f✝ g : R → R
a✝ : A
hf✝ : autoParam (ContinuousOn f✝ (σₙ R a✝)) _auto✝
hf0 : autoParam (f✝ 0 = 0) _auto✝
hg : autoParam (ContinuousOn g (σₙ R a✝)) _auto✝
hg0 : autoParam (g 0 = 0) _auto✝
ha : autoParam (p a✝) _auto✝
f : R → R
a : A
hf : ¬ContinuousOn f (σₙ R a)
⊢ cfcₙ f a = 0
state_after: no goals
Theorem: Ordinal.lt_mul_div_add
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: simpa only [mul_succ] using lt_mul_succ_div a h
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
a b : Ordinal.{u_4}
h : b ≠ 0
⊢ a < b * (a / b) + b
state_after: no goals
Theorem: IsPrimitiveRoot.subOneIntegralPowerBasis_gen_prime
File: Mathlib/NumberTheory/Cyclotomic/Rat.lean

tactic: simpa only [subOneIntegralPowerBasis_gen] using hζ.zeta_sub_one_prime
state_before: p : ℕ+
k : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : IsCyclotomicExtension {p ^ (k + 1)} ℚ K
hζ : IsPrimitiveRoot ζ ↑(p ^ (k + 1))
⊢ Prime hζ.subOneIntegralPowerBasis.gen
state_after: no goals
Theorem: Mathlib.Tactic.Rify.ratCast_le
File: Mathlib/Tactic/Rify.lean

tactic: simp
state_before: a b : ℚ
⊢ a ≤ b ↔ ↑a ≤ ↑b
state_after: no goals
Theorem: Fin.insertNth_mem_Icc
File: Mathlib/Data/Fin/Tuple/Basic.lean

tactic: simp only [mem_Icc, insertNth_le_iff, le_insertNth_iff, and_assoc, @and_left_comm (x ≤ q₂ i)]
state_before: m n : ℕ
α : Fin (n + 1) → Type u
β : Type v
inst✝ : (i : Fin (n + 1)) → Preorder (α i)
i : Fin (n + 1)
x : α i
p : (j : Fin n) → α (i.succAbove j)
q₁ q₂ : (j : Fin (n + 1)) → α j
⊢ i.insertNth x p ∈ Icc q₁ q₂ ↔
    x ∈ Icc (q₁ i) (q₂ i) ∧ p ∈ Icc (fun j => q₁ (i.succAbove j)) fun j => q₂ (i.succAbove j)
state_after: no goals
Theorem: one_le_zpow
File: Mathlib/Algebra/Order/Monoid/Unbundled/Pow.lean

tactic: lift n to ℕ using hn
state_before: β : Type u_1
G : Type u_2
M : Type u_3
inst✝² : DivInvMonoid G
inst✝¹ : Preorder G
inst✝ : CovariantClass G G (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : G
H : 1 ≤ x
n : ℤ
hn : 0 ≤ n
⊢ 1 ≤ x ^ n
state_after: case intro
β : Type u_1
G : Type u_2
M : Type u_3
inst✝² : DivInvMonoid G
inst✝¹ : Preorder G
inst✝ : CovariantClass G G (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : G
H : 1 ≤ x
n : ℕ
⊢ 1 ≤ x ^ ↑n

tactic: rw [zpow_natCast]
state_before: case intro
β : Type u_1
G : Type u_2
M : Type u_3
inst✝² : DivInvMonoid G
inst✝¹ : Preorder G
inst✝ : CovariantClass G G (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : G
H : 1 ≤ x
n : ℕ
⊢ 1 ≤ x ^ ↑n
state_after: case intro
β : Type u_1
G : Type u_2
M : Type u_3
inst✝² : DivInvMonoid G
inst✝¹ : Preorder G
inst✝ : CovariantClass G G (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : G
H : 1 ≤ x
n : ℕ
⊢ 1 ≤ x ^ n

tactic: apply one_le_pow_of_one_le' H
state_before: case intro
β : Type u_1
G : Type u_2
M : Type u_3
inst✝² : DivInvMonoid G
inst✝¹ : Preorder G
inst✝ : CovariantClass G G (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
x : G
H : 1 ≤ x
n : ℕ
⊢ 1 ≤ x ^ n
state_after: no goals
Theorem: Right.min_le_max_of_mul_le_mul
File: Mathlib/Algebra/Order/Monoid/Unbundled/Basic.lean

tactic: simp_rw [min_le_iff, le_max_iff]
state_before: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x < x_1
h : a * b ≤ c * d
⊢ min a b ≤ max c d
state_after: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x < x_1
h : a * b ≤ c * d
⊢ (a ≤ c ∨ a ≤ d) ∨ b ≤ c ∨ b ≤ d

tactic: contrapose! h
state_before: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x < x_1
h : a * b ≤ c * d
⊢ (a ≤ c ∨ a ≤ d) ∨ b ≤ c ∨ b ≤ d
state_after: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x < x_1
h : (c < a ∧ d < a) ∧ c < b ∧ d < b
⊢ c * d < a * b

tactic: exact mul_lt_mul_of_lt_of_le h.1.1 h.2.2.le
state_before: α : Type u_1
β : Type u_2
inst✝³ : Mul α
inst✝² : LinearOrder α
a b c d : α
inst✝¹ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x < x_1
h : (c < a ∧ d < a) ∧ c < b ∧ d < b
⊢ c * d < a * b
state_after: no goals
Theorem: norm_fderiv_le_of_lipschitzOn
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: refine norm_fderiv_le_of_lip' 𝕜 C.coe_nonneg ?_
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
f : E → F
x₀ : E
s : Set E
hs : s ∈ 𝓝 x₀
C : ℝ≥0
hlip : LipschitzOnWith C f s
⊢ ‖fderiv 𝕜 f x₀‖ ≤ ↑C
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
f : E → F
x₀ : E
s : Set E
hs : s ∈ 𝓝 x₀
C : ℝ≥0
hlip : LipschitzOnWith C f s
⊢ ∀ᶠ (x : E) in 𝓝 x₀, ‖f x - f x₀‖ ≤ ↑C * ‖x - x₀‖

tactic: filter_upwards [hs] with x hx using hlip.norm_sub_le hx (mem_of_mem_nhds hs)
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
f : E → F
x₀ : E
s : Set E
hs : s ∈ 𝓝 x₀
C : ℝ≥0
hlip : LipschitzOnWith C f s
⊢ ∀ᶠ (x : E) in 𝓝 x₀, ‖f x - f x₀‖ ≤ ↑C * ‖x - x₀‖
state_after: no goals
Theorem: Int.mem_box
File: Mathlib/Order/Interval/Finset/Box.lean

tactic: simp [Prod.ext_iff]
state_before: n : ℕ
x : ℤ × ℤ
⊢ x ∈ box 0 ↔ max x.1.natAbs x.2.natAbs = 0
state_after: no goals

tactic: simp [box_succ_eq_sdiff, Prod.le_def]
state_before: n✝ : ℕ
x : ℤ × ℤ
n : ℕ
⊢ x ∈ box (n + 1) ↔ max x.1.natAbs x.2.natAbs = n + 1
state_after: n✝ : ℕ
x : ℤ × ℤ
n : ℕ
⊢ ((-1 ≤ x.1 + ↑n ∧ -1 ≤ x.2 + ↑n) ∧ x.1 ≤ ↑n + 1 ∧ x.2 ≤ ↑n + 1) ∧ (-↑n ≤ x.1 → -↑n ≤ x.2 → x.1 ≤ ↑n → ↑n < x.2) ↔
    max x.1.natAbs x.2.natAbs = n + 1

tactic: have : @Nat.cast ℤ instNatCastInt n = @Nat.cast ℤ AddMonoidWithOne.toNatCast n := rfl
state_before: n✝ : ℕ
x : ℤ × ℤ
n : ℕ
⊢ ((-1 ≤ x.1 + ↑n ∧ -1 ≤ x.2 + ↑n) ∧ x.1 ≤ ↑n + 1 ∧ x.2 ≤ ↑n + 1) ∧ (-↑n ≤ x.1 → -↑n ≤ x.2 → x.1 ≤ ↑n → ↑n < x.2) ↔
    max x.1.natAbs x.2.natAbs = n + 1
state_after: n✝ : ℕ
x : ℤ × ℤ
n : ℕ
this : ↑n = ↑n
⊢ ((-1 ≤ x.1 + ↑n ∧ -1 ≤ x.2 + ↑n) ∧ x.1 ≤ ↑n + 1 ∧ x.2 ≤ ↑n + 1) ∧ (-↑n ≤ x.1 → -↑n ≤ x.2 → x.1 ≤ ↑n → ↑n < x.2) ↔
    max x.1.natAbs x.2.natAbs = n + 1

tactic: omega
state_before: n✝ : ℕ
x : ℤ × ℤ
n : ℕ
this : ↑n = ↑n
⊢ ((-1 ≤ x.1 + ↑n ∧ -1 ≤ x.2 + ↑n) ∧ x.1 ≤ ↑n + 1 ∧ x.2 ≤ ↑n + 1) ∧ (-↑n ≤ x.1 → -↑n ≤ x.2 → x.1 ≤ ↑n → ↑n < x.2) ↔
    max x.1.natAbs x.2.natAbs = n + 1
state_after: no goals
Theorem: GaloisInsertion.l_sup_u
File: Mathlib/Order/GaloisConnection.lean

tactic: simp only [gi.l_u_eq]
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
κ : ι → Sort u_1
a✝ a₁ a₂ : α
b✝ b₁ b₂ : β
l : α → β
u : β → α
inst✝¹ : SemilatticeSup α
inst✝ : SemilatticeSup β
gi : GaloisInsertion l u
a b : β
⊢ l (u a) ⊔ l (u b) = a ⊔ b
state_after: no goals