tasksource/leandojo huggingface dataset:
Theorem: HasStrictDerivAt.clm_apply
File: Mathlib/Analysis/Calculus/Deriv/Mul.lean

tactic: have := (hc.hasStrictFDerivAt.clm_apply hu.hasStrictFDerivAt).hasStrictDerivAt
state_before: 𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
c : 𝕜 → F →L[𝕜] G
c' : F →L[𝕜] G
d : 𝕜 → E →L[𝕜] F
d' : E →L[𝕜] F
u : 𝕜 → F
u' : F
hc : HasStrictDerivAt c c' x
hu : HasStrictDerivAt u u' x
⊢ HasStrictDerivAt (fun y => ↑(c y) (u y)) (↑c' (u x) + ↑(c x) u') x

tactic: rwa [add_apply, comp_apply, flip_apply, smulRight_apply, smulRight_apply, one_apply, one_smul,
  one_smul, add_comm] at this
state_before: 𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
c : 𝕜 → F →L[𝕜] G
c' : F →L[𝕜] G
d : 𝕜 → E →L[𝕜] F
d' : E →L[𝕜] F
u : 𝕜 → F
u' : F
hc : HasStrictDerivAt c c' x
hu : HasStrictDerivAt u u' x
this :
  HasStrictDerivAt (fun y => ↑(c y) (u y))
    (↑(comp (c x) (smulRight 1 u') + ↑(ContinuousLinearMap.flip (smulRight 1 c')) (u x)) 1) x
⊢ HasStrictDerivAt (fun y => ↑(c y) (u y)) (↑c' (u x) + ↑(c x) u') x
Theorem: ContDiff.contDiff_fderiv_apply
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: rw [← contDiffOn_univ] at hf ⊢
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.1158044
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
f : E → F
hf : ContDiff 𝕜 n f
hmn : m + 1 ≤ n
⊢ ContDiff 𝕜 m fun p => ↑(fderiv 𝕜 f p.fst) p.snd

tactic: rw [← fderivWithin_univ, ← univ_prod_univ]
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.1158044
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
f : E → F
hf : ContDiffOn 𝕜 n f univ
hmn : m + 1 ≤ n
⊢ ContDiffOn 𝕜 m (fun p => ↑(fderiv 𝕜 f p.fst) p.snd) univ

tactic: exact contDiffOn_fderivWithin_apply hf uniqueDiffOn_univ hmn
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.1158044
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
f : E → F
hf : ContDiffOn 𝕜 n f univ
hmn : m + 1 ≤ n
⊢ ContDiffOn 𝕜 m (fun p => ↑(fderivWithin 𝕜 f univ p.fst) p.snd) (univ ×ˢ univ)
Theorem: MeasureTheory.tendstoUniformlyOn_of_ae_tendsto'
File: Mathlib/MeasureTheory/Function/Egorov.lean

tactic: have ⟨t, _, ht, htendsto⟩ := tendstoUniformlyOn_of_ae_tendsto hf hg MeasurableSet.univ
  (measure_ne_top μ Set.univ) (by filter_upwards [hfg] with _ htendsto _ using htendsto) hε
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
inst✝⁵ : MetricSpace β
μ : Measure α
inst✝⁴ : SemilatticeSup ι
inst✝³ : Nonempty ι
inst✝² : Countable ι
γ : Type ?u.46709
inst✝¹ : TopologicalSpace γ
f : ι → α → β
g : α → β
s : Set α
inst✝ : IsFiniteMeasure μ
hf : ∀ (n : ι), StronglyMeasurable (f n)
hg : StronglyMeasurable g
hfg : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))
ε : ℝ
hε : 0 < ε
⊢ ∃ t, MeasurableSet t ∧ ↑↑μ t ≤ ENNReal.ofReal ε ∧ TendstoUniformlyOn f g atTop (tᶜ)

tactic: refine' ⟨_, ht, _⟩
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
inst✝⁵ : MetricSpace β
μ : Measure α
inst✝⁴ : SemilatticeSup ι
inst✝³ : Nonempty ι
inst✝² : Countable ι
γ : Type ?u.46709
inst✝¹ : TopologicalSpace γ
f : ι → α → β
g : α → β
s : Set α
inst✝ : IsFiniteMeasure μ
hf : ∀ (n : ι), StronglyMeasurable (f n)
hg : StronglyMeasurable g
hfg : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))
ε : ℝ
hε : 0 < ε
t : Set α
w✝ : t ⊆ Set.univ
ht : MeasurableSet t
htendsto : ↑↑μ t ≤ ENNReal.ofReal ε ∧ TendstoUniformlyOn (fun n => f n) g atTop (Set.univ \ t)
⊢ ∃ t, MeasurableSet t ∧ ↑↑μ t ≤ ENNReal.ofReal ε ∧ TendstoUniformlyOn f g atTop (tᶜ)

tactic: rwa [Set.compl_eq_univ_diff]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
inst✝⁵ : MetricSpace β
μ : Measure α
inst✝⁴ : SemilatticeSup ι
inst✝³ : Nonempty ι
inst✝² : Countable ι
γ : Type ?u.46709
inst✝¹ : TopologicalSpace γ
f : ι → α → β
g : α → β
s : Set α
inst✝ : IsFiniteMeasure μ
hf : ∀ (n : ι), StronglyMeasurable (f n)
hg : StronglyMeasurable g
hfg : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))
ε : ℝ
hε : 0 < ε
t : Set α
w✝ : t ⊆ Set.univ
ht : MeasurableSet t
htendsto : ↑↑μ t ≤ ENNReal.ofReal ε ∧ TendstoUniformlyOn (fun n => f n) g atTop (Set.univ \ t)
⊢ ↑↑μ t ≤ ENNReal.ofReal ε ∧ TendstoUniformlyOn f g atTop (tᶜ)

tactic: filter_upwards [hfg] with _ htendsto _ using htendsto
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
m : MeasurableSpace α
inst✝⁵ : MetricSpace β
μ : Measure α
inst✝⁴ : SemilatticeSup ι
inst✝³ : Nonempty ι
inst✝² : Countable ι
γ : Type ?u.46709
inst✝¹ : TopologicalSpace γ
f : ι → α → β
g : α → β
s : Set α
inst✝ : IsFiniteMeasure μ
hf : ∀ (n : ι), StronglyMeasurable (f n)
hg : StronglyMeasurable g
hfg : ∀ᵐ (x : α) ∂μ, Tendsto (fun n => f n x) atTop (𝓝 (g x))
ε : ℝ
hε : 0 < ε
⊢ ∀ᵐ (x : α) ∂μ, x ∈ Set.univ → Tendsto (fun n => f n x) atTop (𝓝 (g x))
Theorem: Multiset.esymm_neg
File: Mathlib/RingTheory/Polynomial/Vieta.lean

tactic: rw [esymm, esymm, ← Multiset.sum_map_mul_left, Multiset.powersetLen_map, Multiset.map_map,
  map_congr (Eq.refl _)]
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
⊢ esymm (map Neg.neg s) k = (-1) ^ k * esymm s k

tactic: intro x hx
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
⊢ ∀ (x : Multiset R), x ∈ powersetLen k s → (prod ∘ map Neg.neg) x = (-1) ^ k * prod x

tactic: rw [(mem_powersetLen.mp hx).right.symm, ← prod_replicate, ← Multiset.map_const]
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ (prod ∘ map Neg.neg) x = (-1) ^ k * prod x

tactic: nth_rw 3 [← map_id' x]
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ (prod ∘ map Neg.neg) x = prod (map (Function.const R (-1)) x) * prod x

tactic: rw [← prod_map_mul, map_congr (Eq.refl _)]
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ (prod ∘ map Neg.neg) x = prod (map (Function.const R (-1)) x) * prod (map (fun x => x) x)

tactic: rfl
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ (prod ∘ map Neg.neg) x = prod (map ?m.791744 x)

R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ ∀ (x_1 : R), x_1 ∈ x → Function.const R (-1) x_1 * x_1 = ?m.791744 x_1

R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ R → R

tactic: exact fun z _ => neg_one_mul z
state_before: R : Type u_1
inst✝ : CommRing R
s : Multiset R
k : ℕ
x : Multiset R
hx : x ∈ powersetLen k s
⊢ ∀ (x_1 : R), x_1 ∈ x → Function.const R (-1) x_1 * x_1 = -x_1
Theorem: rel_iSup_sum
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

tactic: rw [iSup_subtype', ← Finset.tsum_subtype]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.376229
δ : Type u_3
inst✝⁴ : AddCommMonoid α
inst✝³ : TopologicalSpace α
inst✝² : T2Space α
f g : β → α
a a₁ a₂ : α
inst✝¹ : Countable γ
inst✝ : CompleteLattice β
m : β → α
m0 : m ⊥ = 0
R : α → α → Prop
m_iSup : ∀ (s : ℕ → β), R (m (⨆ (i : ℕ), s i)) (∑' (i : ℕ), m (s i))
s : δ → β
t : Finset δ
⊢ R (m (⨆ (d : δ) (_ : d ∈ t), s d)) (∑ d in t, m (s d))

tactic: exact rel_iSup_tsum m m0 R m_iSup _
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.376229
δ : Type u_3
inst✝⁴ : AddCommMonoid α
inst✝³ : TopologicalSpace α
inst✝² : T2Space α
f g : β → α
a a₁ a₂ : α
inst✝¹ : Countable γ
inst✝ : CompleteLattice β
m : β → α
m0 : m ⊥ = 0
R : α → α → Prop
m_iSup : ∀ (s : ℕ → β), R (m (⨆ (i : ℕ), s i)) (∑' (i : ℕ), m (s i))
s : δ → β
t : Finset δ
⊢ R (m (⨆ (x : { d // d ∈ t }), s ↑x)) (∑' (x : { x // x ∈ t }), m (s ↑x))
Theorem: norm_add_sq_real
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: have h := @norm_add_sq ℝ _ _ _ _ x y
state_before: 𝕜 : Type ?u.2366731
E : Type ?u.2366734
F : Type u_1
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
dec_E : DecidableEq E
x y : F
⊢ ‖x + y‖ ^ 2 = ‖x‖ ^ 2 + 2 * inner x y + ‖y‖ ^ 2

tactic: simpa using h
state_before: 𝕜 : Type ?u.2366731
E : Type ?u.2366734
F : Type u_1
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
dec_E : DecidableEq E
x y : F
h : ‖x + y‖ ^ 2 = ‖x‖ ^ 2 + 2 * ↑re (inner x y) + ‖y‖ ^ 2
⊢ ‖x + y‖ ^ 2 = ‖x‖ ^ 2 + 2 * inner x y + ‖y‖ ^ 2
Theorem: tendsto_iff_dist_tendsto_zero
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: rw [← nhds_comap_dist a, tendsto_comap_iff]
state_before: α : Type u
β : Type v
X : Type ?u.289039
ι : Type ?u.289042
inst✝ : PseudoMetricSpace α
f : β → α
x : Filter β
a : α
⊢ Tendsto f x (𝓝 a) ↔ Tendsto (fun b => dist (f b) a) x (𝓝 0)

tactic: rfl
state_before: α : Type u
β : Type v
X : Type ?u.289039
ι : Type ?u.289042
inst✝ : PseudoMetricSpace α
f : β → α
x : Filter β
a : α
⊢ Tendsto ((fun x => dist x a) ∘ f) x (𝓝 0) ↔ Tendsto (fun b => dist (f b) a) x (𝓝 0)
Theorem: ENNReal.biSup_add'
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: haveI : Nonempty { i // p i } := nonempty_subtype.2 h
state_before: α : Type ?u.130531
β : Type ?u.130534
γ : Type ?u.130537
a b c d : ℝ≥0∞
r p✝ q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
ι : Sort u_1
p : ι → Prop
h : ∃ i, p i
f : ι → ℝ≥0∞
⊢ (⨆ (i : ι) (_ : p i), f i) + a = ⨆ (i : ι) (_ : p i), f i + a

tactic: simp only [iSup_subtype', iSup_add]
state_before: α : Type ?u.130531
β : Type ?u.130534
γ : Type ?u.130537
a b c d : ℝ≥0∞
r p✝ q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
ι : Sort u_1
p : ι → Prop
h : ∃ i, p i
f : ι → ℝ≥0∞
this : Nonempty { i // p i }
⊢ (⨆ (i : ι) (_ : p i), f i) + a = ⨆ (i : ι) (_ : p i), f i + a
Theorem: toIocDiv_neg'
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: simpa only [neg_neg] using toIocDiv_neg hp (-a) (-b)
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
⊢ toIocDiv hp (-a) b = -(toIcoDiv hp a (-b) + 1)
Theorem: Polynomial.coeff_multiset_prod_of_natDegree_le
File: Mathlib/Algebra/Polynomial/BigOperators.lean

tactic: induction t using Quotient.inductionOn
state_before: R : Type u
ι : Type w
s : Finset ι
inst✝ : CommSemiring R
f : ι → R[X]
t : Multiset R[X]
n : ℕ
hl : ∀ (p : R[X]), p ∈ t → natDegree p ≤ n
⊢ coeff (prod t) (↑Multiset.card t * n) = prod (Multiset.map (fun p => coeff p n) t)

tactic: simpa using coeff_list_prod_of_natDegree_le _ _ hl
state_before: case h
R : Type u
ι : Type w
s : Finset ι
inst✝ : CommSemiring R
f : ι → R[X]
t : Multiset R[X]
n : ℕ
a✝ : List R[X]
hl : ∀ (p : R[X]), p ∈ Quotient.mk (List.isSetoid R[X]) a✝ → natDegree p ≤ n
⊢ coeff (prod (Quotient.mk (List.isSetoid R[X]) a✝)) (↑Multiset.card (Quotient.mk (List.isSetoid R[X]) a✝) * n) =
    prod (Multiset.map (fun p => coeff p n) (Quotient.mk (List.isSetoid R[X]) a✝))
Theorem: CategoryTheory.exact_epi_comp
File: Mathlib/Algebra/Homology/Exact.lean

tactic: refine' ⟨by simp [hgh.w], _⟩
state_before: V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
⊢ Exact (f ≫ g) h

tactic: rw [imageToKernel_comp_left]
state_before: V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
⊢ Epi (imageToKernel (f ≫ g) h (_ : (f ≫ g) ≫ h = 0))

tactic: haveI := hgh.epi
state_before: V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
⊢ Epi
    (Subobject.ofLE (imageSubobject (f ≫ g)) (imageSubobject g) (_ : imageSubobject (f ≫ g) ≤ imageSubobject g) ≫
      imageToKernel g h ?w)

case w
V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
⊢ g ≫ h = 0

tactic: infer_instance
state_before: V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
this : Epi (imageToKernel g h (_ : g ≫ h = 0))
⊢ Epi
    (Subobject.ofLE (imageSubobject (f ≫ g)) (imageSubobject g) (_ : imageSubobject (f ≫ g) ≤ imageSubobject g) ≫
      imageToKernel g h ?w)

case w
V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
⊢ g ≫ h = 0

tactic: simp [hgh.w]
state_before: V : Type u
inst✝⁴ : Category V
inst✝³ : HasImages V
A B C D : V
f : A ⟶ B
g : B ⟶ C
h : C ⟶ D
inst✝² : HasZeroMorphisms V
inst✝¹ : HasEqualizers V
hgh : Exact g h
inst✝ : Epi f
⊢ (f ≫ g) ≫ h = 0
Theorem: List.takeI_left'
File: Mathlib/Data/List/Basic.lean

tactic: rw [← h]
state_before: ι : Type ?u.226663
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁✝ l₂✝ : List α
inst✝ : Inhabited α
l₁ l₂ : List α
n : ℕ
h : length l₁ = n
⊢ takeI n (l₁ ++ l₂) = l₁

tactic: apply takeI_left
state_before: ι : Type ?u.226663
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁✝ l₂✝ : List α
inst✝ : Inhabited α
l₁ l₂ : List α
n : ℕ
h : length l₁ = n
⊢ takeI (length l₁) (l₁ ++ l₂) = l₁
Theorem: Metric.emetric_ball
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: ext y
state_before: α : Type u
β : Type v
X : Type ?u.164248
ι : Type ?u.164251
inst✝ : PseudoMetricSpace α
x : α
ε : ℝ
⊢ EMetric.ball x (ENNReal.ofReal ε) = ball x ε

tactic: simp only [EMetric.mem_ball, mem_ball, edist_dist]
state_before: case h
α : Type u
β : Type v
X : Type ?u.164248
ι : Type ?u.164251
inst✝ : PseudoMetricSpace α
x : α
ε : ℝ
y : α
⊢ y ∈ EMetric.ball x (ENNReal.ofReal ε) ↔ y ∈ ball x ε

tactic: exact ENNReal.ofReal_lt_ofReal_iff_of_nonneg dist_nonneg
state_before: case h
α : Type u
β : Type v
X : Type ?u.164248
ι : Type ?u.164251
inst✝ : PseudoMetricSpace α
x : α
ε : ℝ
y : α
⊢ ENNReal.ofReal (dist y x) < ENNReal.ofReal ε ↔ dist y x < ε
Theorem: spectrum.add_mem_add_iff
File: Mathlib/Algebra/Algebra/Spectrum.lean

tactic: rw [add_mem_iff, neg_add_cancel_left]
state_before: R : Type u
A : Type v
inst✝² : CommSemiring R
inst✝¹ : Ring A
inst✝ : Algebra R A
a : A
r s : R
⊢ r + s ∈ σ (↑↑ₐ s + a) ↔ r ∈ σ a
Theorem: tendsto_one_iff_norm_tendsto_one
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rw [tendsto_iff_norm_tendsto_one]
state_before: 𝓕 : Type ?u.450626
𝕜 : Type ?u.450629
α : Type u_1
ι : Type ?u.450635
κ : Type ?u.450638
E : Type u_2
F : Type ?u.450644
G : Type ?u.450647
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a✝ a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
f : α → E
a : Filter α
⊢ Tendsto f a (𝓝 1) ↔ Tendsto (fun e => ‖f e‖) a (𝓝 0)

tactic: simp only [div_one]
state_before: 𝓕 : Type ?u.450626
𝕜 : Type ?u.450629
α : Type u_1
ι : Type ?u.450635
κ : Type ?u.450638
E : Type u_2
F : Type ?u.450644
G : Type ?u.450647
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a✝ a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
f : α → E
a : Filter α
⊢ Tendsto (fun e => ‖f e / 1‖) a (𝓝 0) ↔ Tendsto (fun e => ‖f e‖) a (𝓝 0)
Theorem: String.foldr_eq
File: Std/Data/String/Lemmas.lean

tactic: simpa using foldrAux_of_valid f [] s.1 [] a
state_before: α : Type u_1
f : Char → α → α
s : String
a : α
⊢ foldr f a s = List.foldr f a s.data
Theorem: InnerProductSpace.Core.inner_neg_right
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← inner_conj_symm, inner_neg_left]
state_before: 𝕜 : Type u_1
E : Type ?u.598333
F : Type u_2
inst✝² : IsROrC 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x y : F
⊢ inner x (-y) = -inner x y

tactic: simp only [RingHom.map_neg, inner_conj_symm]
state_before: 𝕜 : Type u_1
E : Type ?u.598333
F : Type u_2
inst✝² : IsROrC 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x y : F
⊢ ↑(starRingEnd 𝕜) (-inner y x) = -inner x y
Theorem: Submodule.IsPrincipal.of_comap
File: Mathlib/RingTheory/PrincipalIdealDomain.lean

tactic: rw [← Set.image_singleton, ← Submodule.map_span, IsPrincipal.span_singleton_generator,
  Submodule.map_comap_eq_of_surjective hf]
state_before: R : Type u
M : Type v
S✝ : Type ?u.178108
N : Type u_1
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : AddCommGroup N
inst✝² : Ring S✝
inst✝¹ : Module R M
inst✝ : Module R N
f : M →ₗ[R] N
hf : Surjective ↑f
S : Submodule R N
hI : IsPrincipal (comap f S)
⊢ S = span R {↑f (generator (comap f S))}
Theorem: LinearMap.isUnit_iff_ker_eq_bot
File: Mathlib/LinearAlgebra/FiniteDimensional.lean

tactic: constructor
state_before: K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : V →ₗ[K] V
⊢ IsUnit f ↔ ker f = ⊥

tactic: rintro ⟨u, rfl⟩
state_before: case mp
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : V →ₗ[K] V
⊢ IsUnit f → ker f = ⊥

tactic: exact LinearMap.ker_eq_bot_of_inverse u.inv_mul
state_before: case mp.intro
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
u : (V →ₗ[K] V)ˣ
⊢ ker ↑u = ⊥

tactic: intro h_inj
state_before: case mpr
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : V →ₗ[K] V
⊢ ker f = ⊥ → IsUnit f

tactic: rw [ker_eq_bot] at h_inj
state_before: case mpr
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : V →ₗ[K] V
h_inj : ker f = ⊥
⊢ IsUnit f

tactic: exact ⟨⟨f, (LinearEquiv.ofInjectiveEndo f h_inj).symm.toLinearMap,
  LinearEquiv.ofInjectiveEndo_right_inv f h_inj, LinearEquiv.ofInjectiveEndo_left_inv f h_inj⟩,
  rfl⟩
state_before: case mpr
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : V →ₗ[K] V
h_inj : Injective ↑f
⊢ IsUnit f
Theorem: MeasureTheory.tendsto_integral_filter_of_dominated_convergence
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [integral, L1.integral]
state_before: α : Type u_2
E : Type u_3
F✝ : Type ?u.995907
𝕜 : Type ?u.995910
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace ℝ E
inst✝⁷ : CompleteSpace E
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : SMulCommClass ℝ 𝕜 E
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace ℝ F✝
inst✝¹ : CompleteSpace F✝
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
ι : Type u_1
l : Filter ι
inst✝ : IsCountablyGenerated l
F : ι → α → E
f : α → E
bound : α → ℝ
hF_meas : ∀ᶠ (n : ι) in l, AEStronglyMeasurable (F n) μ
h_bound : ∀ᶠ (n : ι) in l, ∀ᵐ (a : α) ∂μ, ‖F n a‖ ≤ bound a
bound_integrable : Integrable bound
h_lim : ∀ᵐ (a : α) ∂μ, Tendsto (fun n => F n a) l (𝓝 (f a))
⊢ Tendsto (fun n => ∫ (a : α), F n a ∂μ) l (𝓝 (∫ (a : α), f a ∂μ))

tactic: exact tendsto_setToFun_filter_of_dominated_convergence (dominatedFinMeasAdditive_weightedSMul μ)
  bound hF_meas h_bound bound_integrable h_lim
state_before: α : Type u_2
E : Type u_3
F✝ : Type ?u.995907
𝕜 : Type ?u.995910
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace ℝ E
inst✝⁷ : CompleteSpace E
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedSpace 𝕜 E
inst✝⁴ : SMulCommClass ℝ 𝕜 E
inst✝³ : NormedAddCommGroup F✝
inst✝² : NormedSpace ℝ F✝
inst✝¹ : CompleteSpace F✝
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
ι : Type u_1
l : Filter ι
inst✝ : IsCountablyGenerated l
F : ι → α → E
f : α → E
bound : α → ℝ
hF_meas : ∀ᶠ (n : ι) in l, AEStronglyMeasurable (F n) μ
h_bound : ∀ᶠ (n : ι) in l, ∀ᵐ (a : α) ∂μ, ‖F n a‖ ≤ bound a
bound_integrable : Integrable bound
h_lim : ∀ᵐ (a : α) ∂μ, Tendsto (fun n => F n a) l (𝓝 (f a))
⊢ Tendsto (fun n => if hf : Integrable fun a => F n a then ↑L1.integralCLM (Integrable.toL1 (fun a => F n a) hf) else 0)
    l (𝓝 (if hf : Integrable fun a => f a then ↑L1.integralCLM (Integrable.toL1 (fun a => f a) hf) else 0))
Theorem: Subgroup.map_le_map_iff_of_injective
File: Mathlib/GroupTheory/Subgroup/Basic.lean

tactic: rw [map_le_iff_le_comap, comap_map_eq_self_of_injective hf]
state_before: G : Type u_1
G' : Type ?u.594358
inst✝³ : Group G
inst✝² : Group G'
A : Type ?u.594367
inst✝¹ : AddGroup A
N : Type u_2
inst✝ : Group N
f✝ f : G →* N
hf : Injective ↑f
H K : Subgroup G
⊢ map f H ≤ map f K ↔ H ≤ K
Theorem: MeasureTheory.OuterMeasure.smul_boundedBy
File: Mathlib/MeasureTheory/Measure/OuterMeasure.lean

tactic: simp only [boundedBy , smul_ofFunction hc]
state_before: α : Type u_1
m : Set α → ℝ≥0∞
c : ℝ≥0∞
hc : c ≠ ⊤
⊢ c • boundedBy m = boundedBy (c • m)

tactic: congr 1 with s : 1
state_before: α : Type u_1
m : Set α → ℝ≥0∞
c : ℝ≥0∞
hc : c ≠ ⊤
⊢ OuterMeasure.ofFunction (c • fun s => ⨆ (_ : Set.Nonempty s), m s) (_ : (c • ⨆ (_ : Set.Nonempty ∅), m ∅) = 0) =
    OuterMeasure.ofFunction (fun s => ⨆ (_ : Set.Nonempty s), (c • m) s) (_ : (⨆ (_ : Set.Nonempty ∅), (c • m) ∅) = 0)

tactic: rcases s.eq_empty_or_nonempty with (rfl | hs) <;> simp [*]
state_before: case e_m.h
α : Type u_1
m : Set α → ℝ≥0∞
c : ℝ≥0∞
hc : c ≠ ⊤
s : Set α
⊢ (c • fun s => ⨆ (_ : Set.Nonempty s), m s) s = ⨆ (_ : Set.Nonempty s), (c • m) s
Theorem: Set.range_eq_empty_iff
File: Mathlib/Data/Set/Image.lean

tactic: rw [← not_nonempty_iff, ← range_nonempty_iff_nonempty, not_nonempty_iff_eq_empty]
state_before: α : Type u_1
β : Type ?u.72544
γ : Type ?u.72547
ι : Sort u_2
ι' : Sort ?u.72553
f✝ : ι → α
s t : Set α
f : ι → α
⊢ range f = ∅ ↔ IsEmpty ι
Theorem: LiouvilleNumber.remainder_lt'
File: Mathlib/NumberTheory/Liouville/LiouvilleNumber.lean

tactic: simp only [pow_add, one_div, mul_inv, inv_pow]
state_before: n : ℕ
m : ℝ
m1 : 1 < m
m0 : 0 < m
mi : 1 / m < 1
⊢ (∑' (i : ℕ), 1 / m ^ (i + (n + 1)!)) = ∑' (i : ℕ), (1 / m) ^ i * (1 / m ^ (n + 1)!)

tactic: rw [tsum_geometric_of_lt_1 (by positivity) mi]
state_before: n : ℕ
m : ℝ
m1 : 1 < m
m0 : 0 < m
mi : 1 / m < 1
⊢ (∑' (i : ℕ), (1 / m) ^ i) * (1 / m ^ (n + 1)!) = (1 - 1 / m)⁻¹ * (1 / m ^ (n + 1)!)

tactic: positivity
state_before: n : ℕ
m : ℝ
m1 : 1 < m
m0 : 0 < m
mi : 1 / m < 1
⊢ 0 ≤ 1 / m