tasksource/leandojo huggingface dataset:
Theorem: LinearOrderedField.smul_Icc
File: Mathlib/Algebra/Order/Pointwise.lean

tactic: ext x
state_before: α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
⊢ r • Icc a b = Icc (r • a) (r • b)

tactic: simp only [mem_smul_set, smul_eq_mul, mem_Icc]
state_before: case h
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
⊢ x ∈ r • Icc a b ↔ x ∈ Icc (r • a) (r • b)

tactic: constructor
state_before: case h
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
⊢ (∃ y, (a ≤ y ∧ y ≤ b) ∧ r * y = x) ↔ r * a ≤ x ∧ x ≤ r * b

tactic: rintro ⟨a, ⟨a_h_left_left, a_h_left_right⟩, rfl⟩
state_before: case h.mp
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
⊢ (∃ y, (a ≤ y ∧ y ≤ b) ∧ r * y = x) → r * a ≤ x ∧ x ≤ r * b

tactic: constructor
state_before: case h.mp.intro.intro.intro
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a✝ b r : K
hr : 0 < r
a : K
a_h_left_left : a✝ ≤ a
a_h_left_right : a ≤ b
⊢ r * a✝ ≤ r * a ∧ r * a ≤ r * b

tactic: exact (mul_le_mul_left hr).mpr a_h_left_left
state_before: case h.mp.intro.intro.intro.left
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a✝ b r : K
hr : 0 < r
a : K
a_h_left_left : a✝ ≤ a
a_h_left_right : a ≤ b
⊢ r * a✝ ≤ r * a

case h.mp.intro.intro.intro.right
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a✝ b r : K
hr : 0 < r
a : K
a_h_left_left : a✝ ≤ a
a_h_left_right : a ≤ b
⊢ r * a ≤ r * b

tactic: exact (mul_le_mul_left hr).mpr a_h_left_right
state_before: case h.mp.intro.intro.intro.right
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a✝ b r : K
hr : 0 < r
a : K
a_h_left_left : a✝ ≤ a
a_h_left_right : a ≤ b
⊢ r * a ≤ r * b

tactic: rintro ⟨a_left, a_right⟩
state_before: case h.mpr
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
⊢ r * a ≤ x ∧ x ≤ r * b → ∃ y, (a ≤ y ∧ y ≤ b) ∧ r * y = x

tactic: use x / r
state_before: case h.mpr.intro
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
a_left : r * a ≤ x
a_right : x ≤ r * b
⊢ ∃ y, (a ≤ y ∧ y ≤ b) ∧ r * y = x

tactic: refine' ⟨⟨(le_div_iff' hr).mpr a_left, (div_le_iff' hr).mpr a_right⟩, _⟩
state_before: case h.mpr.intro
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
a_left : r * a ≤ x
a_right : x ≤ r * b
⊢ (a ≤ x / r ∧ x / r ≤ b) ∧ r * (x / r) = x

tactic: rw [mul_div_cancel' _ (ne_of_gt hr)]
state_before: case h.mpr.intro
α : Type ?u.54531
K : Type u_1
inst✝ : LinearOrderedField K
a b r : K
hr : 0 < r
x : K
a_left : r * a ≤ x
a_right : x ≤ r * b
⊢ r * (x / r) = x
Theorem: LocalRing.le_maximalIdeal
File: Mathlib/RingTheory/Ideal/LocalRing.lean

tactic: rcases Ideal.exists_le_maximal J hJ with ⟨M, hM1, hM2⟩
state_before: R : Type u
S : Type v
T : Type w
K : Type u'
inst✝¹ : CommSemiring R
inst✝ : LocalRing R
J : Ideal R
hJ : J ≠ ⊤
⊢ J ≤ maximalIdeal R

tactic: rwa [← eq_maximalIdeal hM1]
state_before: case intro.intro
R : Type u
S : Type v
T : Type w
K : Type u'
inst✝¹ : CommSemiring R
inst✝ : LocalRing R
J : Ideal R
hJ : J ≠ ⊤
M : Ideal R
hM1 : Ideal.IsMaximal M
hM2 : J ≤ M
⊢ J ≤ maximalIdeal R
Theorem: AffineIsometryEquiv.linear_eq_linear_isometry
File: Mathlib/Analysis/NormedSpace/AffineIsometry.lean

tactic: ext
state_before: 𝕜 : Type u_3
V : Type u_1
V₁ : Type ?u.130542
V₂ : Type u_2
V₃ : Type ?u.130548
V₄ : Type ?u.130551
P₁ : Type ?u.130554
P : Type u_4
P₂ : Type u_5
P₃ : Type ?u.130563
P₄ : Type ?u.130566
inst✝²⁰ : NormedField 𝕜
inst✝¹⁹ : SeminormedAddCommGroup V
inst✝¹⁸ : SeminormedAddCommGroup V₁
inst✝¹⁷ : SeminormedAddCommGroup V₂
inst✝¹⁶ : SeminormedAddCommGroup V₃
inst✝¹⁵ : SeminormedAddCommGroup V₄
inst✝¹⁴ : NormedSpace 𝕜 V
inst✝¹³ : NormedSpace 𝕜 V₁
inst✝¹² : NormedSpace 𝕜 V₂
inst✝¹¹ : NormedSpace 𝕜 V₃
inst✝¹⁰ : NormedSpace 𝕜 V₄
inst✝⁹ : PseudoMetricSpace P
inst✝⁸ : MetricSpace P₁
inst✝⁷ : PseudoMetricSpace P₂
inst✝⁶ : PseudoMetricSpace P₃
inst✝⁵ : PseudoMetricSpace P₄
inst✝⁴ : NormedAddTorsor V P
inst✝³ : NormedAddTorsor V₁ P₁
inst✝² : NormedAddTorsor V₂ P₂
inst✝¹ : NormedAddTorsor V₃ P₃
inst✝ : NormedAddTorsor V₄ P₄
e : P ≃ᵃⁱ[𝕜] P₂
⊢ e.linear = (AffineIsometryEquiv.linearIsometryEquiv e).toLinearEquiv

tactic: rfl
state_before: case h
𝕜 : Type u_3
V : Type u_1
V₁ : Type ?u.130542
V₂ : Type u_2
V₃ : Type ?u.130548
V₄ : Type ?u.130551
P₁ : Type ?u.130554
P : Type u_4
P₂ : Type u_5
P₃ : Type ?u.130563
P₄ : Type ?u.130566
inst✝²⁰ : NormedField 𝕜
inst✝¹⁹ : SeminormedAddCommGroup V
inst✝¹⁸ : SeminormedAddCommGroup V₁
inst✝¹⁷ : SeminormedAddCommGroup V₂
inst✝¹⁶ : SeminormedAddCommGroup V₃
inst✝¹⁵ : SeminormedAddCommGroup V₄
inst✝¹⁴ : NormedSpace 𝕜 V
inst✝¹³ : NormedSpace 𝕜 V₁
inst✝¹² : NormedSpace 𝕜 V₂
inst✝¹¹ : NormedSpace 𝕜 V₃
inst✝¹⁰ : NormedSpace 𝕜 V₄
inst✝⁹ : PseudoMetricSpace P
inst✝⁸ : MetricSpace P₁
inst✝⁷ : PseudoMetricSpace P₂
inst✝⁶ : PseudoMetricSpace P₃
inst✝⁵ : PseudoMetricSpace P₄
inst✝⁴ : NormedAddTorsor V P
inst✝³ : NormedAddTorsor V₁ P₁
inst✝² : NormedAddTorsor V₂ P₂
inst✝¹ : NormedAddTorsor V₃ P₃
inst✝ : NormedAddTorsor V₄ P₄
e : P ≃ᵃⁱ[𝕜] P₂
x✝ : V
⊢ ↑e.linear x✝ = ↑(AffineIsometryEquiv.linearIsometryEquiv e).toLinearEquiv x✝
Theorem: NFA.mem_stepSet
File: Mathlib/Computability/NFA.lean

tactic: simp [stepSet]
state_before: α : Type u
σ σ' : Type v
M : NFA α σ
s : σ
S : Set σ
a : α
⊢ s ∈ stepSet M S a ↔ ∃ t, t ∈ S ∧ s ∈ step M t a
Theorem: Real.rpow_add
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: simp only [rpow_def_of_pos hx, mul_add, exp_add]
state_before: x y✝ z✝ : ℝ
hx : 0 < x
y z : ℝ
⊢ x ^ (y + z) = x ^ y * x ^ z
Theorem: eq_divp_iff_mul_eq
File: Mathlib/Algebra/Group/Units.lean

tactic: rw [eq_comm, divp_eq_iff_mul_eq]
state_before: α : Type u
inst✝ : Monoid α
a b c x : α
u : αˣ
y : α
⊢ x = y /ₚ u ↔ x * ↑u = y
Theorem: AList.perm_union
File: Mathlib/Data/List/AList.lean

tactic: simp [p₁₂.kunion s₃.nodupKeys p₃₄]
state_before: α : Type u
β : α → Type v
inst✝ : DecidableEq α
s₁ s₂ s₃ s₄ : AList β
p₁₂ : s₁.entries ~ s₂.entries
p₃₄ : s₃.entries ~ s₄.entries
⊢ (s₁ ∪ s₃).entries ~ (s₂ ∪ s₄).entries
Theorem: ContDiffAt.prod_map
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: rw [ContDiffAt] at *
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹³ : NormedAddCommGroup D
inst✝¹² : NormedSpace 𝕜 D
E : Type uE
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace 𝕜 E
F : Type uF
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
G : Type uG
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
X : Type ?u.2183866
inst✝⁵ : NormedAddCommGroup X
inst✝⁴ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g✝ : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
E' : Type u_2
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
F' : Type u_3
inst✝¹ : NormedAddCommGroup F'
inst✝ : NormedSpace 𝕜 F'
f : E → F
g : E' → F'
x : E
y : E'
hf : ContDiffAt 𝕜 n f x
hg : ContDiffAt 𝕜 n g y
⊢ ContDiffAt 𝕜 n (Prod.map f g) (x, y)

tactic: convert hf.prod_map hg
state_before: 𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹³ : NormedAddCommGroup D
inst✝¹² : NormedSpace 𝕜 D
E : Type uE
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace 𝕜 E
F : Type uF
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
G : Type uG
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
X : Type ?u.2183866
inst✝⁵ : NormedAddCommGroup X
inst✝⁴ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g✝ : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
E' : Type u_2
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
F' : Type u_3
inst✝¹ : NormedAddCommGroup F'
inst✝ : NormedSpace 𝕜 F'
f : E → F
g : E' → F'
x : E
y : E'
hf : ContDiffWithinAt 𝕜 n f univ x
hg : ContDiffWithinAt 𝕜 n g univ y
⊢ ContDiffWithinAt 𝕜 n (Prod.map f g) univ (x, y)

tactic: simp only [univ_prod_univ]
state_before: case h.e'_11
𝕜 : Type u_1
inst✝¹⁴ : NontriviallyNormedField 𝕜
D : Type uD
inst✝¹³ : NormedAddCommGroup D
inst✝¹² : NormedSpace 𝕜 D
E : Type uE
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace 𝕜 E
F : Type uF
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
G : Type uG
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
X : Type ?u.2183866
inst✝⁵ : NormedAddCommGroup X
inst✝⁴ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g✝ : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
E' : Type u_2
inst✝³ : NormedAddCommGroup E'
inst✝² : NormedSpace 𝕜 E'
F' : Type u_3
inst✝¹ : NormedAddCommGroup F'
inst✝ : NormedSpace 𝕜 F'
f : E → F
g : E' → F'
x : E
y : E'
hf : ContDiffWithinAt 𝕜 n f univ x
hg : ContDiffWithinAt 𝕜 n g univ y
⊢ univ = univ ×ˢ univ
Theorem: AdjoinRoot.adjoinRoot_eq_top
File: Mathlib/RingTheory/AdjoinRoot.lean

tactic: refine Algebra.eq_top_iff.2 fun x => ?_
state_before: R : Type u
S : Type v
K : Type w
inst✝ : CommRing R
f : R[X]
⊢ Algebra.adjoin R {root f} = ⊤

tactic: induction x using AdjoinRoot.induction_on with
  | ih p =>  exact (Algebra.adjoin_singleton_eq_range_aeval R (root f)).symm ▸ ⟨p, aeval_eq p⟩
state_before: R : Type u
S : Type v
K : Type w
inst✝ : CommRing R
f : R[X]
x : AdjoinRoot f
⊢ x ∈ Algebra.adjoin R {root f}

tactic: exact (Algebra.adjoin_singleton_eq_range_aeval R (root f)).symm ▸ ⟨p, aeval_eq p⟩
state_before: case ih
R : Type u
S : Type v
K : Type w
inst✝ : CommRing R
f p : R[X]
⊢ ↑(mk f) p ∈ Algebra.adjoin R {root f}
Theorem: Finset.support_sum_subset
File: Mathlib/Data/Finsupp/BigOperators.lean

tactic: classical convert Multiset.support_sum_subset s.1 ; simp
state_before: ι : Type u_2
M : Type u_1
inst✝¹ : DecidableEq ι
inst✝ : AddCommMonoid M
s : Finset (ι →₀ M)
⊢ (Finset.sum s id).support ⊆ sup s Finsupp.support

tactic: convert Multiset.support_sum_subset s.1
state_before: ι : Type u_2
M : Type u_1
inst✝¹ : DecidableEq ι
inst✝ : AddCommMonoid M
s : Finset (ι →₀ M)
⊢ (Finset.sum s id).support ⊆ sup s Finsupp.support

tactic: simp
state_before: case h.e'_3.h.e'_4
ι : Type u_2
M : Type u_1
inst✝¹ : DecidableEq ι
inst✝ : AddCommMonoid M
s : Finset (ι →₀ M)
⊢ Finset.sum s id = Multiset.sum s.val
Theorem: PadicSeq.norm_nonneg
File: Mathlib/NumberTheory/Padics/PadicNumbers.lean

tactic: simp [hf, norm]
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
f : PadicSeq p
hf : f ≈ 0
⊢ 0 ≤ norm f

tactic: simp [norm, hf, padicNorm.nonneg]
state_before: p : ℕ
inst✝ : Fact (Nat.Prime p)
f : PadicSeq p
hf : ¬f ≈ 0
⊢ 0 ≤ norm f
Theorem: Basis.toMatrix_update
File: Mathlib/LinearAlgebra/Matrix/Basis.lean

tactic: ext (i' k)
state_before: ι : Type u_2
ι' : Type u_1
κ : Type ?u.150932
κ' : Type ?u.150935
R : Type u_3
M : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type ?u.151128
M₂ : Type ?u.151131
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι'
x : M
⊢ toMatrix e (update v j x) = updateColumn (toMatrix e v) j ↑(↑e.repr x)

tactic: rw [Basis.toMatrix, Matrix.updateColumn_apply, e.toMatrix_apply]
state_before: case a.h
ι : Type u_2
ι' : Type u_1
κ : Type ?u.150932
κ' : Type ?u.150935
R : Type u_3
M : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type ?u.151128
M₂ : Type ?u.151131
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι'
x : M
i' : ι
k : ι'
⊢ toMatrix e (update v j x) i' k = updateColumn (toMatrix e v) j (↑(↑e.repr x)) i' k

tactic: split_ifs with h
state_before: case a.h
ι : Type u_2
ι' : Type u_1
κ : Type ?u.150932
κ' : Type ?u.150935
R : Type u_3
M : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type ?u.151128
M₂ : Type ?u.151131
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι'
x : M
i' : ι
k : ι'
⊢ ↑(↑e.repr (update v j x k)) i' = if k = j then ↑(↑e.repr x) i' else ↑(↑e.repr (v k)) i'

tactic: rw [h, update_same j x v]
state_before: case a.h.inl
ι : Type u_2
ι' : Type u_1
κ : Type ?u.150932
κ' : Type ?u.150935
R : Type u_3
M : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type ?u.151128
M₂ : Type ?u.151131
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι'
x : M
i' : ι
k : ι'
h : k = j
⊢ ↑(↑e.repr (update v j x k)) i' = ↑(↑e.repr x) i'

tactic: rw [update_noteq h]
state_before: case a.h.inr
ι : Type u_2
ι' : Type u_1
κ : Type ?u.150932
κ' : Type ?u.150935
R : Type u_3
M : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : Module R M
R₂ : Type ?u.151128
M₂ : Type ?u.151131
inst✝³ : CommRing R₂
inst✝² : AddCommGroup M₂
inst✝¹ : Module R₂ M₂
e : Basis ι R M
v : ι' → M
i : ι
j : ι'
inst✝ : DecidableEq ι'
x : M
i' : ι
k : ι'
h : ¬k = j
⊢ ↑(↑e.repr (update v j x k)) i' = ↑(↑e.repr (v k)) i'
Theorem: CategoryTheory.Limits.WalkingParallelPairHom.comp_id
File: Mathlib/CategoryTheory/Limits/Shapes/Equalizers.lean

tactic: cases f <;> rfl
state_before: X Y : WalkingParallelPair
f : WalkingParallelPairHom X Y
⊢ comp f (id Y) = f
Theorem: List.headD_eq_head?
File: Std/Data/List/Basic.lean

tactic: cases l <;> rfl
state_before: α : Type u_1
l : List α
a : α
⊢ headD l a = Option.getD (head? l) a
Theorem: FormalMultilinearSeries.ne_zero_of_order_ne_zero
File: Mathlib/Analysis/Calculus/FormalMultilinearSeries.lean

tactic: simp [h] at hp
state_before: 𝕜 : Type u
𝕜' : Type u'
E : Type v
F : Type w
G : Type x
inst✝¹⁰ : CommRing 𝕜
n : ℕ
inst✝⁹ : AddCommGroup E
inst✝⁸ : Module 𝕜 E
inst✝⁷ : TopologicalSpace E
inst✝⁶ : TopologicalAddGroup E
inst✝⁵ : ContinuousConstSMul 𝕜 E
inst✝⁴ : AddCommGroup F
inst✝³ : Module 𝕜 F
inst✝² : TopologicalSpace F
inst✝¹ : TopologicalAddGroup F
inst✝ : ContinuousConstSMul 𝕜 F
p : FormalMultilinearSeries 𝕜 E F
hp : order p ≠ 0
h : p = 0
⊢ False
Theorem: HasSum.add
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

tactic: dsimp only [HasSum] at hf hg ⊢
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.239415
δ : Type ?u.239418
inst✝² : AddCommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a b : α
s : Finset β
inst✝ : ContinuousAdd α
hf : HasSum f a
hg : HasSum g b
⊢ HasSum (fun b => f b + g b) (a + b)

tactic: simp_rw [sum_add_distrib]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.239415
δ : Type ?u.239418
inst✝² : AddCommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a b : α
s : Finset β
inst✝ : ContinuousAdd α
hf : Tendsto (fun s => ∑ b in s, f b) atTop (𝓝 a)
hg : Tendsto (fun s => ∑ b in s, g b) atTop (𝓝 b)
⊢ Tendsto (fun s => ∑ b in s, (f b + g b)) atTop (𝓝 (a + b))

tactic: exact hf.add hg
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.239415
δ : Type ?u.239418
inst✝² : AddCommMonoid α
inst✝¹ : TopologicalSpace α
f g : β → α
a b : α
s : Finset β
inst✝ : ContinuousAdd α
hf : Tendsto (fun s => ∑ b in s, f b) atTop (𝓝 a)
hg : Tendsto (fun s => ∑ b in s, g b) atTop (𝓝 b)
⊢ Tendsto (fun s => ∑ x in s, f x + ∑ x in s, g x) atTop (𝓝 (a + b))
Theorem: LipschitzWith.comp
File: Mathlib/Topology/MetricSpace/Lipschitz.lean

tactic: rw [← mul_assoc, ENNReal.coe_mul]
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝² : PseudoEMetricSpace α
inst✝¹ : PseudoEMetricSpace β
inst✝ : PseudoEMetricSpace γ
K : ℝ≥0
f✝ : α → β
x✝ y✝ : α
r : ℝ≥0∞
Kf Kg : ℝ≥0
f : β → γ
g : α → β
hf : LipschitzWith Kf f
hg : LipschitzWith Kg g
x y : α
⊢ ↑Kf * (↑Kg * edist x y) = ↑(Kf * Kg) * edist x y
Theorem: RelEmbedding.eq_preimage
File: Mathlib/Order/RelIso/Basic.lean

tactic: ext (a b)
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.37384
δ : Type ?u.37387
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
u : δ → δ → Prop
f : r ↪r s
⊢ r = ↑f ⁻¹'o s

tactic: exact f.map_rel_iff.symm
state_before: case h.h.a
α : Type u_1
β : Type u_2
γ : Type ?u.37384
δ : Type ?u.37387
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
u : δ → δ → Prop
f : r ↪r s
a b : α
⊢ r a b ↔ (↑f ⁻¹'o s) a b
Theorem: Nat.Ico_filter_pow_dvd_eq
File: Mathlib/Data/Nat/Factorization/Basic.lean

tactic: ext x
state_before: n p b : ℕ
pp : Prime p
hn : n ≠ 0
hb : n ≤ p ^ b
⊢ Finset.filter (fun i => p ^ i ∣ n) (Ico 1 n) = Finset.filter (fun i => p ^ i ∣ n) (Icc 1 b)

tactic: simp only [Finset.mem_filter, mem_Ico, mem_Icc, and_congr_left_iff, and_congr_right_iff]
state_before: case a
n p b : ℕ
pp : Prime p
hn : n ≠ 0
hb : n ≤ p ^ b
x : ℕ
⊢ x ∈ Finset.filter (fun i => p ^ i ∣ n) (Ico 1 n) ↔ x ∈ Finset.filter (fun i => p ^ i ∣ n) (Icc 1 b)

tactic: rintro h1 -
state_before: case a
n p b : ℕ
pp : Prime p
hn : n ≠ 0
hb : n ≤ p ^ b
x : ℕ
⊢ p ^ x ∣ n → 1 ≤ x → (x < n ↔ x ≤ b)

tactic: simp [lt_of_pow_dvd_right hn pp.two_le h1,
  (pow_le_iff_le_right pp.two_le).1 ((le_of_dvd hn.bot_lt h1).trans hb)]
state_before: case a
n p b : ℕ
pp : Prime p
hn : n ≠ 0
hb : n ≤ p ^ b
x : ℕ
h1 : p ^ x ∣ n
⊢ x < n ↔ x ≤ b
Theorem: Filter.tendsto_pure
File: Mathlib/Order/Filter/Basic.lean

tactic: simp only [Tendsto, le_pure_iff, mem_map', mem_singleton_iff, Filter.Eventually]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.317835
ι : Sort x
f : α → β
a : Filter α
b : β
⊢ Tendsto f a (pure b) ↔ ∀ᶠ (x : α) in a, f x = b
Theorem: ENNReal.lintegral_mul_le_Lp_mul_Lq_of_ne_zero_of_eq_top
File: Mathlib/MeasureTheory/Integral/MeanInequalities.lean

tactic: refine' le_trans le_top (le_of_eq _)
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hp0_lt : 0 < p
hq0 : 0 ≤ q
f g : α → ℝ≥0∞
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) = ⊤
hg_nonzero : (∫⁻ (a : α), g a ^ q ∂μ) ≠ 0
⊢ (∫⁻ (a : α), (f * g) a ∂μ) ≤ (∫⁻ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫⁻ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: have hp0_inv_lt : 0 < 1 / p := by simp [hp0_lt]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hp0_lt : 0 < p
hq0 : 0 ≤ q
f g : α → ℝ≥0∞
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) = ⊤
hg_nonzero : (∫⁻ (a : α), g a ^ q ∂μ) ≠ 0
⊢ ⊤ = (∫⁻ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫⁻ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: rw [hf_top, ENNReal.top_rpow_of_pos hp0_inv_lt]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hp0_lt : 0 < p
hq0 : 0 ≤ q
f g : α → ℝ≥0∞
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) = ⊤
hg_nonzero : (∫⁻ (a : α), g a ^ q ∂μ) ≠ 0
hp0_inv_lt : 0 < 1 / p
⊢ ⊤ = (∫⁻ (a : α), f a ^ p ∂μ) ^ (1 / p) * (∫⁻ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: simp [hq0, hg_nonzero]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hp0_lt : 0 < p
hq0 : 0 ≤ q
f g : α → ℝ≥0∞
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) = ⊤
hg_nonzero : (∫⁻ (a : α), g a ^ q ∂μ) ≠ 0
hp0_inv_lt : 0 < 1 / p
⊢ ⊤ = ⊤ * (∫⁻ (a : α), g a ^ q ∂μ) ^ (1 / q)

tactic: simp [hp0_lt]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p q : ℝ
hp0_lt : 0 < p
hq0 : 0 ≤ q
f g : α → ℝ≥0∞
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) = ⊤
hg_nonzero : (∫⁻ (a : α), g a ^ q ∂μ) ≠ 0
⊢ 0 < 1 / p
Theorem: SimpleGraph.IsUniform.mono
File: Mathlib/Combinatorics/SimpleGraph/Regularity/Uniform.lean

tactic: refine' (hε hs' ht' (le_trans _ hs) (le_trans _ ht)).trans_le h <;> gcongr
state_before: α : Type u_2
𝕜 : Type u_1
inst✝¹ : LinearOrderedField 𝕜
G : SimpleGraph α
inst✝ : DecidableRel G.Adj
ε : 𝕜
s t : Finset α
a b : α
ε' : 𝕜
h : ε ≤ ε'
hε : IsUniform G ε s t
s' : Finset α
hs' : s' ⊆ s
t' : Finset α
ht' : t' ⊆ t
hs : ↑(card s) * ε' ≤ ↑(card s')
ht : ↑(card t) * ε' ≤ ↑(card t')
⊢ abs (↑(edgeDensity G s' t') - ↑(edgeDensity G s t)) < ε'
Theorem: Fin.castLE_of_eq
File: Mathlib/Data/Fin/Basic.lean

tactic: ext
state_before: n✝ m✝ m n : ℕ
h : m = n
h' : m ≤ n
x✝ : Fin m
⊢ ↑(castLE h') x✝ = ↑(cast h) x✝

tactic: simp
state_before: case h
n✝ m✝ m n : ℕ
h : m = n
h' : m ≤ n
x✝ : Fin m
⊢ ↑(↑(castLE h') x✝) = ↑(↑(cast h) x✝)
Theorem: MeasureTheory.snorm_sub_le'
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: rw [sub_eq_add_neg]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3041589
G : Type ?u.3041592
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
⊢ snorm (f - g) p μ = snorm (f + -g) p μ

tactic: refine' snorm_mono_real fun x => _
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3041589
G : Type ?u.3041592
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
⊢ snorm (fun x => ‖f x + -g x‖) p μ ≤ snorm (fun x => ‖f x‖ + ‖-g x‖) p μ

tactic: rw [norm_norm]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3041589
G : Type ?u.3041592
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
x : α
⊢ ‖‖f x + -g x‖‖ ≤ ‖f x‖ + ‖-g x‖

tactic: exact norm_add_le _ _
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3041589
G : Type ?u.3041592
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
x : α
⊢ ‖f x + -g x‖ ≤ ‖f x‖ + ‖-g x‖

tactic: simp_rw [norm_neg]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3041589
G : Type ?u.3041592
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
⊢ snorm (fun x => ‖f x‖ + ‖-g x‖) p μ = snorm (fun x => ‖f x‖ + ‖g x‖) p μ

tactic: rw [← snorm_norm f, ← snorm_norm g]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.3041589
G : Type ?u.3041592
m m0 : MeasurableSpace α
p✝ : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hg : AEStronglyMeasurable g μ
p : ℝ≥0∞
⊢ LpAddConst p * (snorm (fun x => ‖f x‖) p μ + snorm (fun x => ‖g x‖) p μ) = LpAddConst p * (snorm f p μ + snorm g p μ)
Theorem: TensorProduct.toMatrix_map
File: Mathlib/LinearAlgebra/TensorProduct/Matrix.lean

tactic: ext (⟨i, j⟩⟨i', j'⟩)
state_before: R : Type u_1
M : Type u_2
N : Type u_4
P : Type ?u.11773
M' : Type u_3
N' : Type u_5
ι : Type u_6
κ : Type u_7
τ : Type ?u.11788
ι' : Type u_8
κ' : Type u_9
inst✝¹⁸ : DecidableEq ι
inst✝¹⁷ : DecidableEq κ
inst✝¹⁶ : DecidableEq τ
inst✝¹⁵ : Fintype ι
inst✝¹⁴ : Fintype κ
inst✝¹³ : Fintype τ
inst✝¹² : Fintype ι'
inst✝¹¹ : Fintype κ'
inst✝¹⁰ : CommRing R
inst✝⁹ : AddCommGroup M
inst✝⁸ : AddCommGroup N
inst✝⁷ : AddCommGroup P
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R M
inst✝³ : Module R N
inst✝² : Module R P
inst✝¹ : Module R M'
inst✝ : Module R N'
bM : Basis ι R M
bN : Basis κ R N
bP : Basis τ R P
bM' : Basis ι' R M'
bN' : Basis κ' R N'
f : M →ₗ[R] M'
g : N →ₗ[R] N'
⊢ ↑(toMatrix (Basis.tensorProduct bM bN) (Basis.tensorProduct bM' bN')) (map f g) =
    kroneckerMap (fun x x_1 => x * x_1) (↑(toMatrix bM bM') f) (↑(toMatrix bN bN') g)

tactic: simp_rw [Matrix.kroneckerMap_apply, toMatrix_apply, Basis.tensorProduct_apply,
  TensorProduct.map_tmul, Basis.tensorProduct_repr_tmul_apply]
state_before: case a.mk.h.mk
R : Type u_1
M : Type u_2
N : Type u_4
P : Type ?u.11773
M' : Type u_3
N' : Type u_5
ι : Type u_6
κ : Type u_7
τ : Type ?u.11788
ι' : Type u_8
κ' : Type u_9
inst✝¹⁸ : DecidableEq ι
inst✝¹⁷ : DecidableEq κ
inst✝¹⁶ : DecidableEq τ
inst✝¹⁵ : Fintype ι
inst✝¹⁴ : Fintype κ
inst✝¹³ : Fintype τ
inst✝¹² : Fintype ι'
inst✝¹¹ : Fintype κ'
inst✝¹⁰ : CommRing R
inst✝⁹ : AddCommGroup M
inst✝⁸ : AddCommGroup N
inst✝⁷ : AddCommGroup P
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup N'
inst✝⁴ : Module R M
inst✝³ : Module R N
inst✝² : Module R P
inst✝¹ : Module R M'
inst✝ : Module R N'
bM : Basis ι R M
bN : Basis κ R N
bP : Basis τ R P
bM' : Basis ι' R M'
bN' : Basis κ' R N'
f : M →ₗ[R] M'
g : N →ₗ[R] N'
i : ι'
j : κ'
i' : ι
j' : κ
⊢ ↑(toMatrix (Basis.tensorProduct bM bN) (Basis.tensorProduct bM' bN')) (map f g) (i, j) (i', j') =
    kroneckerMap (fun x x_1 => x * x_1) (↑(toMatrix bM bM') f) (↑(toMatrix bN bN') g) (i, j) (i', j')