tasksource/leandojo huggingface dataset:
Theorem: Finset.filter_ne'
File: Mathlib/Data/Finset/Basic.lean

tactic: simp_rw [@ne_comm _ b]
state_before: α : Type ?u.415768
β : Type u_1
γ : Type ?u.415774
p q : α → Prop
inst✝³ : DecidablePred p
inst✝² : DecidablePred q
inst✝¹ : DecidableEq α
inst✝ : DecidableEq β
s : Finset β
b x✝¹ : β
x✝ : x✝¹ ∈ s
⊢ x✝¹ ≠ b ↔ b ≠ x✝¹
Theorem: IsOpen.measure_eq_zero_iff
File: Mathlib/MeasureTheory/Measure/OpenPos.lean

tactic: simpa only [not_lt, nonpos_iff_eq_zero, not_nonempty_iff_eq_empty] using
  not_congr (hU.measure_pos_iff μ)
state_before: X : Type u_1
Y : Type ?u.1584
inst✝³ : TopologicalSpace X
m : MeasurableSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : T2Space Y
μ ν : Measure X
inst✝ : IsOpenPosMeasure μ
s U : Set X
x : X
hU : IsOpen U
⊢ ↑↑μ U = 0 ↔ U = ∅
Theorem: LocalEquiv.image_source_inter_eq
File: Mathlib/Logic/Equiv/LocalEquiv.lean

tactic: rw [inter_comm, e.leftInvOn.image_inter, image_source_eq_target, inter_comm]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.32210
δ : Type ?u.32213
e : LocalEquiv α β
e' : LocalEquiv β γ
s : Set α
⊢ ↑e '' (e.source ∩ s) = e.target ∩ ↑(LocalEquiv.symm e) ⁻¹' (e.source ∩ s)
Theorem: Qpf.supp_map
File: Mathlib/Data/QPF/Univariate/Basic.lean

tactic: rw [← abs_repr x]
state_before: F : Type u → Type u
inst✝ : Functor F
q : Qpf F
h : IsUniform
α β : Type u
g : α → β
x : F α
⊢ supp (g <$> x) = g '' supp x

tactic: cases' repr x with a f
state_before: F : Type u → Type u
inst✝ : Functor F
q : Qpf F
h : IsUniform
α β : Type u
g : α → β
x : F α
⊢ supp (g <$> abs (repr x)) = g '' supp (abs (repr x))

tactic: rw [← abs_map, PFunctor.map_eq]
state_before: case mk
F : Type u → Type u
inst✝ : Functor F
q : Qpf F
h : IsUniform
α β : Type u
g : α → β
x : F α
a : (P F).A
f : PFunctor.B (P F) a → α
⊢ supp (g <$> abs { fst := a, snd := f }) = g '' supp (abs { fst := a, snd := f })

tactic: rw [supp_eq_of_isUniform h, supp_eq_of_isUniform h, image_comp]
state_before: case mk
F : Type u → Type u
inst✝ : Functor F
q : Qpf F
h : IsUniform
α β : Type u
g : α → β
x : F α
a : (P F).A
f : PFunctor.B (P F) a → α
⊢ supp (abs { fst := a, snd := g ∘ f }) = g '' supp (abs { fst := a, snd := f })
Theorem: dist_self_div_right
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rw [div_eq_mul_inv, dist_self_mul_right, norm_inv']
state_before: 𝓕 : Type ?u.640245
𝕜 : Type ?u.640248
α : Type ?u.640251
ι : Type ?u.640254
κ : Type ?u.640257
E : Type u_1
F : Type ?u.640263
G : Type ?u.640266
inst✝¹ : SeminormedCommGroup E
inst✝ : SeminormedCommGroup F
a✝ a₁ a₂ b✝ b₁ b₂ : E
r r₁ r₂ : ℝ
a b : E
⊢ dist a (a / b) = ‖b‖
Theorem: Nat.gcd_self_add_left
File: Mathlib/Data/Nat/GCD/Basic.lean

tactic: rw [add_comm, gcd_add_self_left]
state_before: m n : ℕ
⊢ gcd (m + n) m = gcd n m
Theorem: LinearMap.update_apply
File: Mathlib/LinearAlgebra/Pi.lean

tactic: by_cases h : j = i
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
ι' : Type x'
inst✝⁷ : Semiring R
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : Module R M₂
inst✝⁴ : AddCommMonoid M₃
inst✝³ : Module R M₃
φ : ι → Type i
inst✝² : (i : ι) → AddCommMonoid (φ i)
inst✝¹ : (i : ι) → Module R (φ i)
inst✝ : DecidableEq ι
f : (i : ι) → M₂ →ₗ[R] φ i
c : M₂
i j : ι
b : M₂ →ₗ[R] φ i
⊢ ↑(update f i b j) c = update (fun i => ↑(f i) c) i (↑b c) j

tactic: rw [h, update_same, update_same]
state_before: case pos
R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
ι' : Type x'
inst✝⁷ : Semiring R
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : Module R M₂
inst✝⁴ : AddCommMonoid M₃
inst✝³ : Module R M₃
φ : ι → Type i
inst✝² : (i : ι) → AddCommMonoid (φ i)
inst✝¹ : (i : ι) → Module R (φ i)
inst✝ : DecidableEq ι
f : (i : ι) → M₂ →ₗ[R] φ i
c : M₂
i j : ι
b : M₂ →ₗ[R] φ i
h : j = i
⊢ ↑(update f i b j) c = update (fun i => ↑(f i) c) i (↑b c) j

tactic: rw [update_noteq h, update_noteq h]
state_before: case neg
R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
ι' : Type x'
inst✝⁷ : Semiring R
inst✝⁶ : AddCommMonoid M₂
inst✝⁵ : Module R M₂
inst✝⁴ : AddCommMonoid M₃
inst✝³ : Module R M₃
φ : ι → Type i
inst✝² : (i : ι) → AddCommMonoid (φ i)
inst✝¹ : (i : ι) → Module R (φ i)
inst✝ : DecidableEq ι
f : (i : ι) → M₂ →ₗ[R] φ i
c : M₂
i j : ι
b : M₂ →ₗ[R] φ i
h : ¬j = i
⊢ ↑(update f i b j) c = update (fun i => ↑(f i) c) i (↑b c) j
Theorem: FreeProduct.range_eq_iSup
File: Mathlib/GroupTheory/FreeProduct.lean

tactic: apply le_antisymm (lift_range_le _ f fun i => le_iSup (fun i => MonoidHom.range (f i)) i)
state_before: ι : Type u_3
M : ι → Type ?u.342946
inst✝³ : (i : ι) → Monoid (M i)
N✝ : Type ?u.342957
inst✝² : Monoid N✝
G : ι → Type u_2
inst✝¹ : (i : ι) → Group (G i)
N : Type u_1
inst✝ : Group N
f : (i : ι) → G i →* N
⊢ MonoidHom.range (↑lift f) = ⨆ (i : ι), MonoidHom.range (f i)

tactic: apply iSup_le _
state_before: ι : Type u_3
M : ι → Type ?u.342946
inst✝³ : (i : ι) → Monoid (M i)
N✝ : Type ?u.342957
inst✝² : Monoid N✝
G : ι → Type u_2
inst✝¹ : (i : ι) → Group (G i)
N : Type u_1
inst✝ : Group N
f : (i : ι) → G i →* N
⊢ (⨆ (i : ι), MonoidHom.range (f i)) ≤ MonoidHom.range (↑lift f)

tactic: rintro i _ ⟨x, rfl⟩
state_before: ι : Type u_3
M : ι → Type ?u.342946
inst✝³ : (i : ι) → Monoid (M i)
N✝ : Type ?u.342957
inst✝² : Monoid N✝
G : ι → Type u_2
inst✝¹ : (i : ι) → Group (G i)
N : Type u_1
inst✝ : Group N
f : (i : ι) → G i →* N
⊢ ∀ (i : ι), MonoidHom.range (f i) ≤ MonoidHom.range (↑lift f)

tactic: exact ⟨of x, by simp only [lift_of]⟩
state_before: case intro
ι : Type u_3
M : ι → Type ?u.342946
inst✝³ : (i : ι) → Monoid (M i)
N✝ : Type ?u.342957
inst✝² : Monoid N✝
G : ι → Type u_2
inst✝¹ : (i : ι) → Group (G i)
N : Type u_1
inst✝ : Group N
f : (i : ι) → G i →* N
i : ι
x : G i
⊢ ↑(f i) x ∈ MonoidHom.range (↑lift f)

tactic: simp only [lift_of]
state_before: ι : Type u_3
M : ι → Type ?u.342946
inst✝³ : (i : ι) → Monoid (M i)
N✝ : Type ?u.342957
inst✝² : Monoid N✝
G : ι → Type u_2
inst✝¹ : (i : ι) → Group (G i)
N : Type u_1
inst✝ : Group N
f : (i : ι) → G i →* N
i : ι
x : G i
⊢ ↑(↑lift f) (↑of x) = ↑(f i) x
Theorem: hasStrictFDerivAt_const
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: simp only [zero_apply, sub_self]
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.1354232
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.1354327
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
c : F
x : E
x✝ : E × E
⊢ 0 = (fun x => c) x✝.fst - (fun x => c) x✝.snd - ↑0 (x✝.fst - x✝.snd)
Theorem: ContinuousMap.prod_apply
File: Mathlib/Topology/ContinuousFunction/Algebra.lean

tactic: simp
state_before: α : Type u_3
β : Type u_1
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : CommMonoid β
inst✝ : ContinuousMul β
ι : Type u_2
s : Finset ι
f : ι → C(α, β)
a : α
⊢ ↑(∏ i in s, f i) a = ∏ i in s, ↑(f i) a
Theorem: map_extChartAt_nhdsWithin'
File: Mathlib/Geometry/Manifold/SmoothManifoldWithCorners.lean

tactic: rwa [← extChartAt_source I]
state_before: 𝕜 : Type u_3
E : Type u_2
M : Type u_1
H : Type u_4
E' : Type ?u.212452
M' : Type ?u.212455
H' : Type ?u.212458
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace 𝕜 E
inst✝⁷ : TopologicalSpace H
inst✝⁶ : TopologicalSpace M
f f' : LocalHomeomorph M H
I : ModelWithCorners 𝕜 E H
inst✝⁵ : NormedAddCommGroup E'
inst✝⁴ : NormedSpace 𝕜 E'
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
I' : ModelWithCorners 𝕜 E' H'
x : M
s t : Set M
inst✝¹ : ChartedSpace H M
inst✝ : ChartedSpace H' M'
y : M
hy : y ∈ (extChartAt I x).source
⊢ y ∈ (chartAt H x).toLocalEquiv.source
Theorem: Real.pi_lt_31416
File: Mathlib/Data/Real/Pi/Bounds.lean

tactic: pi_upper_bound
    [4756 / 3363, 101211 / 54775, 505534 / 257719, 83289 / 41846, 411278 / 205887,
      438142 / 219137, 451504 / 225769, 265603 / 132804, 849938 / 424971]
state_before: ⊢ π < 3.1416
Theorem: forall_liouvilleWith_iff
File: Mathlib/NumberTheory/Liouville/LiouvilleWith.lean

tactic: refine ⟨fun H n => ?_, Liouville.liouvilleWith⟩
state_before: x : ℝ
⊢ (∀ (p : ℝ), LiouvilleWith p x) ↔ Liouville x

tactic: rcases ((eventually_gt_atTop 1).and_frequently
  ((H (n + 1)).frequently_lt_rpow_neg (lt_add_one (n : ℝ)))).exists
  with  ⟨b, hb, a, hne, hlt⟩
state_before: x : ℝ
H : ∀ (p : ℝ), LiouvilleWith p x
n : ℕ
⊢ ∃ a b, 1 < b ∧ x ≠ ↑a / ↑b ∧ abs (x - ↑a / ↑b) < 1 / ↑b ^ n

tactic: exact ⟨a, b, by exact_mod_cast hb, hne, by simpa [rpow_neg] using hlt⟩
state_before: case intro.intro.intro.intro
x : ℝ
H : ∀ (p : ℝ), LiouvilleWith p x
n b : ℕ
hb : 1 < b
a : ℤ
hne : x ≠ ↑a / ↑b
hlt : abs (x - ↑a / ↑b) < ↑b ^ (-↑n)
⊢ ∃ a b, 1 < b ∧ x ≠ ↑a / ↑b ∧ abs (x - ↑a / ↑b) < 1 / ↑b ^ n

tactic: exact_mod_cast hb
state_before: x : ℝ
H : ∀ (p : ℝ), LiouvilleWith p x
n b : ℕ
hb : 1 < b
a : ℤ
hne : x ≠ ↑a / ↑b
hlt : abs (x - ↑a / ↑b) < ↑b ^ (-↑n)
⊢ 1 < ↑b

tactic: simpa [rpow_neg] using hlt
state_before: x : ℝ
H : ∀ (p : ℝ), LiouvilleWith p x
n b : ℕ
hb : 1 < b
a : ℤ
hne : x ≠ ↑a / ↑b
hlt : abs (x - ↑a / ↑b) < ↑b ^ (-↑n)
⊢ abs (x - ↑a / ↑↑b) < 1 / ↑↑b ^ n
Theorem: EReal.nhds_top
File: Mathlib/Topology/Instances/EReal.lean

tactic: simp only [lt_top_iff_ne_top]
state_before: α : Type ?u.8500
inst✝ : TopologicalSpace α
⊢ (⨅ (l : EReal) (_ : l < ⊤), 𝓟 (Ioi l)) = ⨅ (a : EReal) (_ : a ≠ ⊤), 𝓟 (Ioi a)
Theorem: CategoryTheory.Limits.limit.map_pre
File: Mathlib/CategoryTheory/Limits/HasLimits.lean

tactic: ext
state_before: J : Type u₁
inst✝⁴ : Category J
K : Type u₂
inst✝³ : Category K
C : Type u
inst✝² : Category C
F : J ⥤ C
inst✝¹ : HasLimitsOfShape J C
G : J ⥤ C
α : F ⟶ G
inst✝ : HasLimitsOfShape K C
E : K ⥤ J
⊢ lim.map α ≫ pre G E = pre F E ≫ lim.map (whiskerLeft E α)

tactic: simp
state_before: case w
J : Type u₁
inst✝⁴ : Category J
K : Type u₂
inst✝³ : Category K
C : Type u
inst✝² : Category C
F : J ⥤ C
inst✝¹ : HasLimitsOfShape J C
G : J ⥤ C
α : F ⟶ G
inst✝ : HasLimitsOfShape K C
E : K ⥤ J
j✝ : K
⊢ (lim.map α ≫ pre G E) ≫ π (E ⋙ G) j✝ = (pre F E ≫ lim.map (whiskerLeft E α)) ≫ π (E ⋙ G) j✝
Theorem: TopologicalSpace.Opens.inclusion_map_eq_top
File: Mathlib/Topology/Category/TopCat/Opens.lean

tactic: ext1
state_before: X : TopCat
U : Opens ↑X
⊢ (map (inclusion U)).obj U = ⊤

tactic: exact Subtype.coe_preimage_self _
state_before: case h
X : TopCat
U : Opens ↑X
⊢ ↑((map (inclusion U)).obj U) = ↑⊤
Theorem: isComplete_of_complete_image
File: Mathlib/Topology/UniformSpace/UniformEmbedding.lean

tactic: intro f hf hfs
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
⊢ IsComplete s

tactic: rw [le_principal_iff] at hfs
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
f : Filter α
hf : Cauchy f
hfs : f ≤ 𝓟 s
⊢ ∃ x, x ∈ s ∧ f ≤ 𝓝 x

tactic: obtain ⟨_, ⟨x, hx, rfl⟩, hyf⟩ : ∃ y ∈ m '' s, map m f ≤ 𝓝 y
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
f : Filter α
hf : Cauchy f
hfs : s ∈ f
⊢ ∃ x, x ∈ s ∧ f ≤ 𝓝 x

tactic: exact hs (f.map m) (hf.map hm.uniformContinuous) (le_principal_iff.2 (image_mem_map hfs))
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
f : Filter α
hf : Cauchy f
hfs : s ∈ f
⊢ ∃ y, y ∈ m '' s ∧ map m f ≤ 𝓝 y

case intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
f : Filter α
hf : Cauchy f
hfs : s ∈ f
x : α
hx : x ∈ s
hyf : map m f ≤ 𝓝 (m x)
⊢ ∃ x, x ∈ s ∧ f ≤ 𝓝 x

tactic: rw [map_le_iff_le_comap, ← nhds_induced, ← hm.inducing.induced] at hyf
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
f : Filter α
hf : Cauchy f
hfs : s ∈ f
x : α
hx : x ∈ s
hyf : map m f ≤ 𝓝 (m x)
⊢ ∃ x, x ∈ s ∧ f ≤ 𝓝 x

tactic: exact ⟨x, hx, hyf⟩
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝² : UniformSpace α
inst✝¹ : UniformSpace β
inst✝ : UniformSpace γ
m : α → β
s : Set α
hm : UniformInducing m
hs : IsComplete (m '' s)
f : Filter α
hf : Cauchy f
hfs : s ∈ f
x : α
hx : x ∈ s
hyf : f ≤ 𝓝 x
⊢ ∃ x, x ∈ s ∧ f ≤ 𝓝 x
Theorem: sup_comm
File: Mathlib/Order/Lattice.lean

tactic: apply le_antisymm <;> simp
state_before: α : Type u
β : Type v
inst✝ : SemilatticeSup α
a b c d : α
⊢ a ⊔ b = b ⊔ a
Theorem: differentiableOn_const_add_iff
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: simpa using h.const_add (-c)
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.272917
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.273012
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
c : F
h : DifferentiableOn 𝕜 (fun y => c + f y) s
⊢ DifferentiableOn 𝕜 f s
Theorem: dist_midpoint_right
File: Mathlib/Analysis/NormedSpace/AddTorsor.lean

tactic: rw [midpoint_comm, dist_midpoint_left, dist_comm]
state_before: α : Type ?u.64769
V : Type u_3
P : Type u_1
W : Type ?u.64778
Q : Type ?u.64781
inst✝⁹ : SeminormedAddCommGroup V
inst✝⁸ : PseudoMetricSpace P
inst✝⁷ : NormedAddTorsor V P
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : MetricSpace Q
inst✝⁴ : NormedAddTorsor W Q
𝕜 : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedSpace 𝕜 V
inst✝¹ : NormedSpace 𝕜 W
inst✝ : Invertible 2
p₁ p₂ : P
⊢ dist (midpoint 𝕜 p₁ p₂) p₂ = ‖2‖⁻¹ * dist p₁ p₂
Theorem: Matrix.rank_self_mul_transpose
File: Mathlib/Data/Matrix/Rank.lean

tactic: simpa only [rank_transpose, transpose_transpose] using rank_transpose_mul_self Aᵀ
state_before: l : Type ?u.284550
m : Type u_1
n : Type u_2
o : Type ?u.284559
R : Type u_3
m_fin : Fintype m
inst✝³ : Fintype n
inst✝² : Fintype o
inst✝¹ : Fintype m
inst✝ : LinearOrderedField R
A : Matrix m n R
⊢ rank (A ⬝ Aᵀ) = rank A
Theorem: Rel.inv_id
File: Mathlib/Data/Rel.lean

tactic: ext (x y)
state_before: α : Type u_1
β : Type ?u.12137
γ : Type ?u.12140
r : Rel α β
⊢ inv Eq = Eq

tactic: constructor <;> apply Eq.symm
state_before: case a.h.a
α : Type u_1
β : Type ?u.12137
γ : Type ?u.12140
r : Rel α β
x y : α
⊢ inv Eq x y ↔ x = y
Theorem: PrimeSpectrum.vanishingIdeal_eq_top_iff
File: Mathlib/AlgebraicGeometry/PrimeSpectrum/Basic.lean

tactic: rw [← top_le_iff, ← subset_zeroLocus_iff_le_vanishingIdeal, Submodule.top_coe, zeroLocus_univ,
  Set.subset_empty_iff]
state_before: R : Type u
S : Type v
inst✝¹ : CommRing R
inst✝ : CommRing S
s : Set (PrimeSpectrum R)
⊢ vanishingIdeal s = ⊤ ↔ s = ∅
Theorem: ENNReal.tsum_sub
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: simp only [← ENNReal.tsum_add, this]
state_before: α : Type ?u.272740
β : Type ?u.272743
γ : Type ?u.272746
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f✝ g✝ : α → ℝ≥0∞
f g : ℕ → ℝ≥0∞
h₁ : (∑' (i : ℕ), g i) ≠ ⊤
h₂ : g ≤ f
this : ∀ (i : ℕ), f i - g i + g i = f i
⊢ ((∑' (i : ℕ), f i - g i) + ∑' (i : ℕ), g i) = ∑' (i : ℕ), f i
Theorem: ContDiffWithinAt.continuousWithinAt
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: rcases h 0 bot_le with ⟨u, hu, p, H⟩
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : ContDiffWithinAt 𝕜 n f s x
⊢ ContinuousWithinAt f s x

tactic: rw [mem_nhdsWithin_insert] at hu
state_before: case intro.intro.intro
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u✝ : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p✝ : E → FormalMultilinearSeries 𝕜 E F
h : ContDiffWithinAt 𝕜 n f s x
u : Set E
hu : u ∈ 𝓝[insert x s] x
p : E → FormalMultilinearSeries 𝕜 E F
H : HasFTaylorSeriesUpToOn (↑0) f p u
⊢ ContinuousWithinAt f s x

tactic: exact (H.continuousOn.continuousWithinAt hu.1).mono_of_mem hu.2
state_before: case intro.intro.intro
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u✝ : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p✝ : E → FormalMultilinearSeries 𝕜 E F
h : ContDiffWithinAt 𝕜 n f s x
u : Set E
hu : x ∈ u ∧ u ∈ 𝓝[s] x
p : E → FormalMultilinearSeries 𝕜 E F
H : HasFTaylorSeriesUpToOn (↑0) f p u
⊢ ContinuousWithinAt f s x
Theorem: NormedSpace.isBounded_iff_subset_smul_ball
File: Mathlib/Analysis/LocallyConvex/Bounded.lean

tactic: rw [← isVonNBounded_iff 𝕜]
state_before: 𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
⊢ Bornology.IsBounded s ↔ ∃ a, s ⊆ a • Metric.ball 0 1

tactic: constructor
state_before: 𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
⊢ Bornology.IsVonNBounded 𝕜 s ↔ ∃ a, s ⊆ a • Metric.ball 0 1

tactic: intro h
state_before: case mp
𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
⊢ Bornology.IsVonNBounded 𝕜 s → ∃ a, s ⊆ a • Metric.ball 0 1

tactic: rcases h (Metric.ball_mem_nhds 0 zero_lt_one) with ⟨ρ, _, hρball⟩
state_before: case mp
𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
h : Bornology.IsVonNBounded 𝕜 s
⊢ ∃ a, s ⊆ a • Metric.ball 0 1

tactic: rcases NormedField.exists_lt_norm 𝕜 ρ with ⟨a, ha⟩
state_before: case mp.intro.intro
𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
h : Bornology.IsVonNBounded 𝕜 s
ρ : ℝ
left✝ : 0 < ρ
hρball : ∀ (a : 𝕜), ρ ≤ ‖a‖ → s ⊆ a • Metric.ball 0 1
⊢ ∃ a, s ⊆ a • Metric.ball 0 1

tactic: exact ⟨a, hρball a ha.le⟩
state_before: case mp.intro.intro.intro
𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
h : Bornology.IsVonNBounded 𝕜 s
ρ : ℝ
left✝ : 0 < ρ
hρball : ∀ (a : 𝕜), ρ ≤ ‖a‖ → s ⊆ a • Metric.ball 0 1
a : 𝕜
ha : ρ < ‖a‖
⊢ ∃ a, s ⊆ a • Metric.ball 0 1

tactic: rintro ⟨a, ha⟩
state_before: case mpr
𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
⊢ (∃ a, s ⊆ a • Metric.ball 0 1) → Bornology.IsVonNBounded 𝕜 s

tactic: exact ((isVonNBounded_ball 𝕜 E 1).image (a • (1 : E →L[𝕜] E))).subset ha
state_before: case mpr.intro
𝕜 : Type u_2
𝕜' : Type ?u.262092
E : Type u_1
E' : Type ?u.262098
F : Type ?u.262101
ι : Type ?u.262104
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
s : Set E
a : 𝕜
ha : s ⊆ a • Metric.ball 0 1
⊢ Bornology.IsVonNBounded 𝕜 s
Theorem: Real.sqrt_eq_iff_mul_self_eq
File: Mathlib/Data/Real/Sqrt.lean

tactic: rw [← h, mul_self_sqrt hx]
state_before: x y : ℝ
hx : 0 ≤ x
hy : 0 ≤ y
h : sqrt x = y
⊢ y * y = x

tactic: rw [← h, sqrt_mul_self hy]
state_before: x y : ℝ
hx : 0 ≤ x
hy : 0 ≤ y
h : y * y = x
⊢ sqrt x = y
Theorem: Denumerable.sigma_ofNat_val
File: Mathlib/Logic/Denumerable.lean

tactic: rw [← decode_eq_ofNat, decode_sigma_val]
state_before: α : Type u_1
β : Type ?u.23484
inst✝² : Denumerable α
inst✝¹ : Denumerable β
γ : α → Type u_2
inst✝ : (a : α) → Denumerable (γ a)
n : ℕ
⊢ some (ofNat (Sigma γ) n) =
    some { fst := ofNat α (unpair n).fst, snd := ofNat (γ (ofNat α (unpair n).fst)) (unpair n).snd }

tactic: simp
state_before: α : Type u_1
β : Type ?u.23484
inst✝² : Denumerable α
inst✝¹ : Denumerable β
γ : α → Type u_2
inst✝ : (a : α) → Denumerable (γ a)
n : ℕ
⊢ (Option.bind (decode (unpair n).fst) fun a => Option.map (Sigma.mk a) (decode (unpair n).snd)) =
    some { fst := ofNat α (unpair n).fst, snd := ofNat (γ (ofNat α (unpair n).fst)) (unpair n).snd }
Theorem: DihedralGroup.r_one_pow
File: Mathlib/GroupTheory/SpecificGroups/Dihedral.lean

tactic: induction' k with k IH
state_before: n k : ℕ
⊢ r 1 ^ k = r ↑k

tactic: rw [Nat.cast_zero]
state_before: case zero
n : ℕ
⊢ r 1 ^ Nat.zero = r ↑Nat.zero

tactic: rfl
state_before: case zero
n : ℕ
⊢ r 1 ^ Nat.zero = r 0

tactic: rw [pow_succ, IH, r_mul_r]
state_before: case succ
n k : ℕ
IH : r 1 ^ k = r ↑k
⊢ r 1 ^ Nat.succ k = r ↑(Nat.succ k)

tactic: congr 1
state_before: case succ
n k : ℕ
IH : r 1 ^ k = r ↑k
⊢ r (1 + ↑k) = r ↑(Nat.succ k)

tactic: norm_cast
state_before: case succ.e_a
n k : ℕ
IH : r 1 ^ k = r ↑k
⊢ 1 + ↑k = ↑(Nat.succ k)

tactic: rw [Nat.one_add]
state_before: case succ.e_a
n k : ℕ
IH : r 1 ^ k = r ↑k
⊢ ↑(1 + k) = ↑(Nat.succ k)
Theorem: SimpleGraph.Subgraph.sInf_adj_of_nonempty
File: Mathlib/Combinatorics/SimpleGraph/Subgraph.lean

tactic: obtain ⟨G', hG'⟩ := hs
state_before: ι : Sort ?u.21693
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : Subgraph G
a b : V
s : Set (Subgraph G)
hs : Set.Nonempty s
⊢ (∀ (G' : Subgraph G), G' ∈ s → Adj G' a b) → SimpleGraph.Adj G a b

tactic: exact fun h => G'.adj_sub (h _ hG')
state_before: case intro
ι : Sort ?u.21693
V : Type u
W : Type v
G : SimpleGraph V
G₁ G₂ : Subgraph G
a b : V
s : Set (Subgraph G)
G' : Subgraph G
hG' : G' ∈ s
⊢ (∀ (G' : Subgraph G), G' ∈ s → Adj G' a b) → SimpleGraph.Adj G a b
Theorem: smul_lt_smul_iff_of_neg
File: Mathlib/Algebra/Order/Module.lean

tactic: rw [← neg_neg c, neg_smul, neg_smul (-c), neg_lt_neg_iff]
state_before: k : Type u_1
M : Type u_2
N : Type ?u.26945
inst✝³ : OrderedRing k
inst✝² : OrderedAddCommGroup M
inst✝¹ : Module k M
inst✝ : OrderedSMul k M
a b : M
c : k
hc : c < 0
⊢ c • a < c • b ↔ b < a

tactic: exact smul_lt_smul_iff_of_pos (neg_pos_of_neg hc)
state_before: k : Type u_1
M : Type u_2
N : Type ?u.26945
inst✝³ : OrderedRing k
inst✝² : OrderedAddCommGroup M
inst✝¹ : Module k M
inst✝ : OrderedSMul k M
a b : M
c : k
hc : c < 0
⊢ -c • b < -c • a ↔ b < a
Theorem: Stream'.Seq.head_eq_destruct
File: Mathlib/Data/Seq/Seq.lean

tactic: unfold destruct head
state_before: α : Type u
β : Type v
γ : Type w
s : Seq α
⊢ head s = Prod.fst <$> destruct s

tactic: cases get? s 0 <;> rfl
state_before: α : Type u
β : Type v
γ : Type w
s : Seq α
⊢ get? s 0 = Prod.fst <$> (fun a' => (a', tail s)) <$> get? s 0