tasksource/leandojo huggingface dataset:
Theorem: intervalIntegral.measure_integral_sub_linear_isLittleO_of_tendsto_ae_of_ge'
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

tactic: simp [integral_symm (u t), add_comm]
state_before: ι : Type u_2
𝕜 : Type ?u.504617
E : Type u_1
F : Type ?u.504623
A : Type ?u.504626
inst✝⁴ : NormedAddCommGroup E
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
f : ℝ → E
a b : ℝ
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
μ : MeasureTheory.Measure ℝ
u v ua va ub vb : ι → ℝ
inst✝¹ : IsMeasurablyGenerated l'
inst✝ : TendstoIxxClass Ioc l l'
hfm : StronglyMeasurableAtFilter f l'
hf : Tendsto f (l' ⊓ Measure.ae μ) (𝓝 c)
hl : Measure.FiniteAtFilter μ l'
hu : Tendsto u lt l
hv : Tendsto v lt l
huv : v ≤ᶠ[lt] u
t : ι
⊢ -((∫ (x : ℝ) in v t..u t, f x ∂μ) - ENNReal.toReal (↑↑μ (Ioc (v t) (u t))) • c) =
    (∫ (x : ℝ) in u t..v t, f x ∂μ) + ENNReal.toReal (↑↑μ (Ioc (v t) (u t))) • c
Theorem: IsLocalization.isPrime_of_isPrime_disjoint
File: Mathlib/RingTheory/Localization/Ideal.lean

tactic: rw [isPrime_iff_isPrime_disjoint M S, comap_map_of_isPrime_disjoint M S I hp hd]
state_before: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
inst✝ : IsLocalization M S
I : Ideal R
hp : Ideal.IsPrime I
hd : Disjoint ↑M ↑I
⊢ Ideal.IsPrime (Ideal.map (algebraMap R S) I)

tactic: exact ⟨hp, hd⟩
state_before: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
inst✝ : IsLocalization M S
I : Ideal R
hp : Ideal.IsPrime I
hd : Disjoint ↑M ↑I
⊢ Ideal.IsPrime I ∧ Disjoint ↑M ↑I
Theorem: BddBelow.bddBelow_image2_of_bddAbove
File: Mathlib/Order/Bounds/Basic.lean

tactic: rintro ⟨a, ha⟩ ⟨b, hb⟩
state_before: α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α → β → γ
s : Set α
t : Set β
a : α
b : β
h₀ : ∀ (b : β), Monotone (swap f b)
h₁ : ∀ (a : α), Antitone (f a)
⊢ BddBelow s → BddAbove t → BddBelow (Set.image2 f s t)

tactic: exact ⟨f a b, mem_lowerBounds_image2_of_mem_lowerBounds_of_mem_upperBounds h₀ h₁ ha hb⟩
state_before: case intro.intro
α : Type u
β : Type v
γ : Type w
ι : Sort x
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
f : α → β → γ
s : Set α
t : Set β
a✝ : α
b✝ : β
h₀ : ∀ (b : β), Monotone (swap f b)
h₁ : ∀ (a : α), Antitone (f a)
a : α
ha : a ∈ lowerBounds s
b : β
hb : b ∈ upperBounds t
⊢ BddBelow (Set.image2 f s t)
Theorem: Real.log_lt_log_iff
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: rw [← exp_lt_exp, exp_log hx, exp_log hy]
state_before: x y : ℝ
hx : 0 < x
hy : 0 < y
⊢ log x < log y ↔ x < y
Theorem: Coheyting.boundary_inf
File: Mathlib/Order/Heyting/Boundary.lean

tactic: unfold boundary
state_before: α : Type u_1
inst✝ : CoheytingAlgebra α
a✝ b✝ a b : α
⊢ ∂ (a ⊓ b) = ∂ a ⊓ b ⊔ a ⊓ ∂ b

tactic: rw [hnot_inf_distrib, inf_sup_left, inf_right_comm, ← inf_assoc]
state_before: α : Type u_1
inst✝ : CoheytingAlgebra α
a✝ b✝ a b : α
⊢ a ⊓ b ⊓ ￢(a ⊓ b) = a ⊓ ￢a ⊓ b ⊔ a ⊓ (b ⊓ ￢b)
Theorem: Nat.add_sub_cancel'
File: Std/Data/Nat/Lemmas.lean

tactic: rw [Nat.add_comm, Nat.sub_add_cancel h]
state_before: n m : Nat
h : m ≤ n
⊢ m + (n - m) = n
Theorem: Ideal.IsHomogeneous.radical
File: Mathlib/RingTheory/GradedAlgebra/Radical.lean

tactic: rw [h.radical_eq]
state_before: ι : Type u_2
σ : Type u_3
A : Type u_1
inst✝⁴ : CommRing A
inst✝³ : LinearOrderedCancelAddCommMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ IsHomogeneous 𝒜 (Ideal.radical I)

tactic: exact Ideal.IsHomogeneous.sInf fun _ => And.left
state_before: ι : Type u_2
σ : Type u_3
A : Type u_1
inst✝⁴ : CommRing A
inst✝³ : LinearOrderedCancelAddCommMonoid ι
inst✝² : SetLike σ A
inst✝¹ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝ : GradedRing 𝒜
I : Ideal A
h : IsHomogeneous 𝒜 I
⊢ IsHomogeneous 𝒜 (InfSet.sInf {J | IsHomogeneous 𝒜 J ∧ I ≤ J ∧ IsPrime J})
Theorem: Subring.mem_map
File: Mathlib/RingTheory/Subring/Basic.lean

tactic: simp
state_before: R : Type u
S : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S
inst✝ : Ring T
s✝ : Subring R
f : R →+* S
s : Subring R
y : S
⊢ (∃ x x_1, ↑f x = y) ↔ ∃ x, x ∈ s ∧ ↑f x = y
Theorem: MeasureTheory.measure_eq_zero_iff_eq_empty_of_smulInvariant
File: Mathlib/MeasureTheory/Group/Action.lean

tactic: rw [← not_iff_not, ← Ne.def, ← pos_iff_ne_zero,
  measure_pos_iff_nonempty_of_smulInvariant G hμ hU, nonempty_iff_ne_empty]
state_before: G : Type ?u.78809
M : Type ?u.78812
α : Type u_1
s : Set α
m : MeasurableSpace α
inst✝⁸ : Group G
inst✝⁷ : MulAction G α
inst✝⁶ : MeasurableSpace G
inst✝⁵ : MeasurableSMul G α
c : G
μ : Measure α
inst✝⁴ : SMulInvariantMeasure G α μ
inst✝³ : TopologicalSpace α
inst✝² : ContinuousConstSMul G α
inst✝¹ : MulAction.IsMinimal G α
K U : Set α
inst✝ : Regular μ
hμ : μ ≠ 0
hU : IsOpen U
⊢ ↑↑μ U = 0 ↔ U = ∅
Theorem: dist_left_midpoint
File: Mathlib/Analysis/NormedSpace/AddTorsor.lean

tactic: rw [midpoint, dist_comm, dist_lineMap_left, invOf_eq_inv, ← norm_inv]
state_before: α : Type ?u.56153
V : Type u_3
P : Type u_1
W : Type ?u.56162
Q : Type ?u.56165
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 p₁ (midpoint 𝕜 p₁ p₂) = ‖2‖⁻¹ * dist p₁ p₂
Theorem: UniformOnFun.t2Space_of_covering
File: Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean

tactic: intro f g hfg
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.102716
ι : Type ?u.102719
s s' : Set α
x : α
p : Filter ι
g : ι → α
inst✝¹ : UniformSpace β
𝔖 : Set (Set α)
inst✝ : T2Space β
h : ⋃₀ 𝔖 = univ
⊢ ∀ (x y : α →ᵤ[𝔖] β), x ≠ y → ∃ u v, IsOpen u ∧ IsOpen v ∧ x ∈ u ∧ y ∈ v ∧ Disjoint u v

tactic: obtain ⟨x, hx⟩ := not_forall.mp (mt funext hfg)
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.102716
ι : Type ?u.102719
s s' : Set α
x : α
p : Filter ι
g✝ : ι → α
inst✝¹ : UniformSpace β
𝔖 : Set (Set α)
inst✝ : T2Space β
h : ⋃₀ 𝔖 = univ
f g : α →ᵤ[𝔖] β
hfg : f ≠ g
⊢ ∃ u v, IsOpen u ∧ IsOpen v ∧ f ∈ u ∧ g ∈ v ∧ Disjoint u v

tactic: obtain ⟨s, hs, hxs⟩ : ∃ s ∈ 𝔖, x ∈ s := mem_sUnion.mp (h.symm ▸ True.intro)
state_before: case intro
α : Type u_2
β : Type u_1
γ : Type ?u.102716
ι : Type ?u.102719
s s' : Set α
x✝ : α
p : Filter ι
g✝ : ι → α
inst✝¹ : UniformSpace β
𝔖 : Set (Set α)
inst✝ : T2Space β
h : ⋃₀ 𝔖 = univ
f g : α →ᵤ[𝔖] β
hfg : f ≠ g
x : α
hx : ¬f x = g x
⊢ ∃ u v, IsOpen u ∧ IsOpen v ∧ f ∈ u ∧ g ∈ v ∧ Disjoint u v

tactic: exact separated_by_continuous (uniformContinuous_eval_of_mem β 𝔖 hxs hs).continuous hx
state_before: case intro.intro.intro
α : Type u_2
β : Type u_1
γ : Type ?u.102716
ι : Type ?u.102719
s✝ s' : Set α
x✝ : α
p : Filter ι
g✝ : ι → α
inst✝¹ : UniformSpace β
𝔖 : Set (Set α)
inst✝ : T2Space β
h : ⋃₀ 𝔖 = univ
f g : α →ᵤ[𝔖] β
hfg : f ≠ g
x : α
hx : ¬f x = g x
s : Set α
hs : s ∈ 𝔖
hxs : x ∈ s
⊢ ∃ u v, IsOpen u ∧ IsOpen v ∧ f ∈ u ∧ g ∈ v ∧ Disjoint u v
Theorem: Ordinal.succ_nadd
File: Mathlib/SetTheory/Ordinal/NaturalOps.lean

tactic: rw [← one_nadd (a ♯ b), ← nadd_assoc, one_nadd]
state_before: a b c : Ordinal
⊢ succ a ♯ b = succ (a ♯ b)
Theorem: Cardinal.extend_function_of_lt
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: cases fintypeOrInfinite α
state_before: α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : Nonempty (α ≃ β)
⊢ ∃ g, ∀ (x : ↑s), ↑g ↑x = ↑f x

tactic: exact extend_function_finite f h
state_before: case inl
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : Nonempty (α ≃ β)
val✝ : Fintype α
⊢ ∃ g, ∀ (x : ↑s), ↑g ↑x = ↑f x

tactic: apply extend_function f
state_before: case inr
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : Nonempty (α ≃ β)
val✝ : Infinite α
⊢ ∃ g, ∀ (x : ↑s), ↑g ↑x = ↑f x

tactic: cases' id h with g
state_before: case inr
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : Nonempty (α ≃ β)
val✝ : Infinite α
⊢ Nonempty (↑(sᶜ) ≃ ↑(range ↑fᶜ))

tactic: haveI := Infinite.of_injective _ g.injective
state_before: case inr.intro
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : Nonempty (α ≃ β)
val✝ : Infinite α
g : α ≃ β
⊢ Nonempty (↑(sᶜ) ≃ ↑(range ↑fᶜ))

tactic: rw [← lift_mk_eq'] at h⊢
state_before: case inr.intro
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : Nonempty (α ≃ β)
val✝ : Infinite α
g : α ≃ β
this : Infinite β
⊢ Nonempty (↑(sᶜ) ≃ ↑(range ↑fᶜ))

tactic: rwa [mk_compl_of_infinite s hs, mk_compl_of_infinite]
state_before: case inr.intro
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : lift (#α) = lift (#β)
val✝ : Infinite α
g : α ≃ β
this : Infinite β
⊢ lift (#↑(sᶜ)) = lift (#↑(range ↑fᶜ))

tactic: rwa [← lift_lt, mk_range_eq_of_injective f.injective, ← h, lift_lt]
state_before: case inr.intro.h2
α : Type u_1
β : Type u_2
s : Set α
f : ↑s ↪ β
hs : (#↑s) < (#α)
h : lift (#α) = lift (#β)
val✝ : Infinite α
g : α ≃ β
this : Infinite β
⊢ (#↑(range ↑f)) < (#β)
Theorem: List.length_inits
File: Mathlib/Data/List/Infix.lean

tactic: simp [inits_eq_tails]
state_before: α : Type u_1
β : Type ?u.48989
l✝ l₁ l₂ l₃ : List α
a b : α
m n : ℕ
l : List α
⊢ length (inits l) = length l + 1
Theorem: MeasureTheory.VectorMeasure.AbsolutelyContinuous.add
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

tactic: intro s hs
state_before: α : Type u_2
β : Type ?u.630299
m : MeasurableSpace α
L : Type ?u.630305
M : Type u_1
N : Type u_3
inst✝⁶ : AddCommMonoid L
inst✝⁵ : TopologicalSpace L
inst✝⁴ : AddCommMonoid M
inst✝³ : TopologicalSpace M
inst✝² : AddCommMonoid N
inst✝¹ : TopologicalSpace N
v : VectorMeasure α M
w✝ : VectorMeasure α N
inst✝ : ContinuousAdd M
v₁ v₂ : VectorMeasure α M
w : VectorMeasure α N
hv₁ : v₁ ≪ᵥ w
hv₂ : v₂ ≪ᵥ w
⊢ v₁ + v₂ ≪ᵥ w

tactic: rw [add_apply, hv₁ hs, hv₂ hs, zero_add]
state_before: α : Type u_2
β : Type ?u.630299
m : MeasurableSpace α
L : Type ?u.630305
M : Type u_1
N : Type u_3
inst✝⁶ : AddCommMonoid L
inst✝⁵ : TopologicalSpace L
inst✝⁴ : AddCommMonoid M
inst✝³ : TopologicalSpace M
inst✝² : AddCommMonoid N
inst✝¹ : TopologicalSpace N
v : VectorMeasure α M
w✝ : VectorMeasure α N
inst✝ : ContinuousAdd M
v₁ v₂ : VectorMeasure α M
w : VectorMeasure α N
hv₁ : v₁ ≪ᵥ w
hv₂ : v₂ ≪ᵥ w
s : Set α
hs : ↑w s = 0
⊢ ↑(v₁ + v₂) s = 0
Theorem: EReal.continuousAt_add
File: Mathlib/Topology/Instances/EReal.lean

tactic: rcases p with ⟨x, y⟩
state_before: α : Type ?u.28673
inst✝ : TopologicalSpace α
p : EReal × EReal
h : p.fst ≠ ⊤ ∨ p.snd ≠ ⊥
h' : p.fst ≠ ⊥ ∨ p.snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) p

tactic: induction x using EReal.rec <;> induction y using EReal.rec
state_before: case mk
α : Type ?u.28673
inst✝ : TopologicalSpace α
x y : EReal
h : (x, y).fst ≠ ⊤ ∨ (x, y).snd ≠ ⊥
h' : (x, y).fst ≠ ⊥ ∨ (x, y).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (x, y)

tactic: exact continuousAt_add_bot_bot
state_before: case mk.h_bot.h_bot
α : Type ?u.28673
inst✝ : TopologicalSpace α
h : (⊥, ⊥).fst ≠ ⊤ ∨ (⊥, ⊥).snd ≠ ⊥
h' : (⊥, ⊥).fst ≠ ⊥ ∨ (⊥, ⊥).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (⊥, ⊥)

tactic: exact continuousAt_add_bot_coe _
state_before: case mk.h_bot.h_real
α : Type ?u.28673
inst✝ : TopologicalSpace α
a✝ : ℝ
h : (⊥, ↑a✝).fst ≠ ⊤ ∨ (⊥, ↑a✝).snd ≠ ⊥
h' : (⊥, ↑a✝).fst ≠ ⊥ ∨ (⊥, ↑a✝).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (⊥, ↑a✝)

tactic: simp at h'
state_before: case mk.h_bot.h_top
α : Type ?u.28673
inst✝ : TopologicalSpace α
h : (⊥, ⊤).fst ≠ ⊤ ∨ (⊥, ⊤).snd ≠ ⊥
h' : (⊥, ⊤).fst ≠ ⊥ ∨ (⊥, ⊤).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (⊥, ⊤)

tactic: exact continuousAt_add_coe_bot _
state_before: case mk.h_real.h_bot
α : Type ?u.28673
inst✝ : TopologicalSpace α
a✝ : ℝ
h : (↑a✝, ⊥).fst ≠ ⊤ ∨ (↑a✝, ⊥).snd ≠ ⊥
h' : (↑a✝, ⊥).fst ≠ ⊥ ∨ (↑a✝, ⊥).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (↑a✝, ⊥)

tactic: exact continuousAt_add_coe_coe _ _
state_before: case mk.h_real.h_real
α : Type ?u.28673
inst✝ : TopologicalSpace α
a✝¹ a✝ : ℝ
h : (↑a✝¹, ↑a✝).fst ≠ ⊤ ∨ (↑a✝¹, ↑a✝).snd ≠ ⊥
h' : (↑a✝¹, ↑a✝).fst ≠ ⊥ ∨ (↑a✝¹, ↑a✝).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (↑a✝¹, ↑a✝)

tactic: exact continuousAt_add_coe_top _
state_before: case mk.h_real.h_top
α : Type ?u.28673
inst✝ : TopologicalSpace α
a✝ : ℝ
h : (↑a✝, ⊤).fst ≠ ⊤ ∨ (↑a✝, ⊤).snd ≠ ⊥
h' : (↑a✝, ⊤).fst ≠ ⊥ ∨ (↑a✝, ⊤).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (↑a✝, ⊤)

tactic: simp at h
state_before: case mk.h_top.h_bot
α : Type ?u.28673
inst✝ : TopologicalSpace α
h : (⊤, ⊥).fst ≠ ⊤ ∨ (⊤, ⊥).snd ≠ ⊥
h' : (⊤, ⊥).fst ≠ ⊥ ∨ (⊤, ⊥).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (⊤, ⊥)

tactic: exact continuousAt_add_top_coe _
state_before: case mk.h_top.h_real
α : Type ?u.28673
inst✝ : TopologicalSpace α
a✝ : ℝ
h : (⊤, ↑a✝).fst ≠ ⊤ ∨ (⊤, ↑a✝).snd ≠ ⊥
h' : (⊤, ↑a✝).fst ≠ ⊥ ∨ (⊤, ↑a✝).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (⊤, ↑a✝)

tactic: exact continuousAt_add_top_top
state_before: case mk.h_top.h_top
α : Type ?u.28673
inst✝ : TopologicalSpace α
h : (⊤, ⊤).fst ≠ ⊤ ∨ (⊤, ⊤).snd ≠ ⊥
h' : (⊤, ⊤).fst ≠ ⊥ ∨ (⊤, ⊤).snd ≠ ⊤
⊢ ContinuousAt (fun p => p.fst + p.snd) (⊤, ⊤)
Theorem: isGδ_setOf_liouville
File: Mathlib/NumberTheory/Liouville/Residual.lean

tactic: rw [setOf_liouville_eq_iInter_iUnion]
state_before: ⊢ IsGδ {x | Liouville x}

tactic: refine isGδ_iInter fun n => IsOpen.isGδ ?_
state_before: ⊢ IsGδ (⋂ (n : ℕ), ⋃ (a : ℤ) (b : ℤ) (_ : 1 < b), ball (↑a / ↑b) (1 / ↑b ^ n) \ {↑a / ↑b})

tactic: refine isOpen_iUnion fun a => isOpen_iUnion fun b => isOpen_iUnion fun _hb => ?_
state_before: n : ℕ
⊢ IsOpen (⋃ (a : ℤ) (b : ℤ) (_ : 1 < b), ball (↑a / ↑b) (1 / ↑b ^ n) \ {↑a / ↑b})

tactic: exact isOpen_ball.inter isClosed_singleton.isOpen_compl
state_before: n : ℕ
a b : ℤ
_hb : 1 < b
⊢ IsOpen (ball (↑a / ↑b) (1 / ↑b ^ n) \ {↑a / ↑b})
Theorem: closure_Ioc
File: Mathlib/Topology/Order/Basic.lean

tactic: apply Subset.antisymm
state_before: α : Type u
β : Type v
γ : Type w
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b✝ : α
s : Set α
a b : α
hab : a ≠ b
⊢ closure (Ioc a b) = Icc a b

tactic: exact closure_minimal Ioc_subset_Icc_self isClosed_Icc
state_before: case h₁
α : Type u
β : Type v
γ : Type w
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b✝ : α
s : Set α
a b : α
hab : a ≠ b
⊢ closure (Ioc a b) ⊆ Icc a b

tactic: apply Subset.trans _ (closure_mono Ioo_subset_Ioc_self)
state_before: case h₂
α : Type u
β : Type v
γ : Type w
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b✝ : α
s : Set α
a b : α
hab : a ≠ b
⊢ Icc a b ⊆ closure (Ioc a b)

tactic: rw [closure_Ioo hab]
state_before: α : Type u
β : Type v
γ : Type w
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a✝ b✝ : α
s : Set α
a b : α
hab : a ≠ b
⊢ Icc a b ⊆ closure (Ioo a b)
Theorem: WithBot.image_coe_Iic
File: Mathlib/Data/Set/Intervals/WithBotTop.lean

tactic: rw [← preimage_coe_Iic, image_preimage_eq_inter_range, range_coe, inter_comm, Ioi_inter_Iic]
state_before: α : Type u_1
inst✝ : PartialOrder α
a b : α
⊢ some '' Iic a = Ioc ⊥ ↑a
Theorem: LowerTopology.isClosed_upperClosure
File: Mathlib/Topology/Order/LowerTopology.lean

tactic: simp only [← UpperSet.iInf_Ici, UpperSet.coe_iInf]
state_before: α : Type u_1
β : Type ?u.4368
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : LowerTopology α
s : Set α
h : Set.Finite s
⊢ IsClosed ↑(upperClosure s)

tactic: exact isClosed_biUnion h fun a _ => isClosed_Ici a
state_before: α : Type u_1
β : Type ?u.4368
inst✝² : Preorder α
inst✝¹ : TopologicalSpace α
inst✝ : LowerTopology α
s : Set α
h : Set.Finite s
⊢ IsClosed (⋃ (i : α) (_ : i ∈ s), ↑(UpperSet.Ici i))
Theorem: finSuccEquiv'_ne_last_apply
File: Mathlib/Logic/Equiv/Fin.lean

tactic: rcases Fin.exists_succAbove_eq hj with ⟨j, rfl⟩
state_before: m n : ℕ
i j : Fin (n + 1)
hi : i ≠ Fin.last n
hj : j ≠ i
⊢ ↑(finSuccEquiv' i) j = some (Fin.predAbove (Fin.castLT i (_ : ↑i < n)) j)

tactic: rcases Fin.exists_castSucc_eq.2 hi with ⟨i, rfl⟩
state_before: case intro
m n : ℕ
i : Fin (n + 1)
hi : i ≠ Fin.last n
j : Fin n
hj : ↑(Fin.succAbove i) j ≠ i
⊢ ↑(finSuccEquiv' i) (↑(Fin.succAbove i) j) = some (Fin.predAbove (Fin.castLT i (_ : ↑i < n)) (↑(Fin.succAbove i) j))

tactic: simp
state_before: case intro.intro
m n : ℕ
j i : Fin n
hi : ↑Fin.castSucc i ≠ Fin.last n
hj : ↑(Fin.succAbove (↑Fin.castSucc i)) j ≠ ↑Fin.castSucc i
⊢ ↑(finSuccEquiv' (↑Fin.castSucc i)) (↑(Fin.succAbove (↑Fin.castSucc i)) j) =
    some
      (Fin.predAbove (Fin.castLT (↑Fin.castSucc i) (_ : ↑(↑Fin.castSucc i) < n)) (↑(Fin.succAbove (↑Fin.castSucc i)) j))
Theorem: IsPGroup.card_orbit
File: Mathlib/GroupTheory/PGroup.lean

tactic: let ϕ := orbitEquivQuotientStabilizer G a
state_before: p : ℕ
G : Type u_2
inst✝² : Group G
hG : IsPGroup p G
hp : Fact (Nat.Prime p)
α : Type u_1
inst✝¹ : MulAction G α
a : α
inst✝ : Fintype ↑(orbit G a)
⊢ ∃ n, card ↑(orbit G a) = p ^ n

tactic: haveI := Fintype.ofEquiv (orbit G a) ϕ
state_before: p : ℕ
G : Type u_2
inst✝² : Group G
hG : IsPGroup p G
hp : Fact (Nat.Prime p)
α : Type u_1
inst✝¹ : MulAction G α
a : α
inst✝ : Fintype ↑(orbit G a)
ϕ : ↑(orbit G a) ≃ G ⧸ stabilizer G a := orbitEquivQuotientStabilizer G a
⊢ ∃ n, card ↑(orbit G a) = p ^ n

tactic: haveI := (stabilizer G a).finiteIndex_of_finite_quotient
state_before: p : ℕ
G : Type u_2
inst✝² : Group G
hG : IsPGroup p G
hp : Fact (Nat.Prime p)
α : Type u_1
inst✝¹ : MulAction G α
a : α
inst✝ : Fintype ↑(orbit G a)
ϕ : ↑(orbit G a) ≃ G ⧸ stabilizer G a := orbitEquivQuotientStabilizer G a
this : Fintype (G ⧸ stabilizer G a)
⊢ ∃ n, card ↑(orbit G a) = p ^ n

tactic: rw [card_congr ϕ, ← Subgroup.index_eq_card]
state_before: p : ℕ
G : Type u_2
inst✝² : Group G
hG : IsPGroup p G
hp : Fact (Nat.Prime p)
α : Type u_1
inst✝¹ : MulAction G α
a : α
inst✝ : Fintype ↑(orbit G a)
ϕ : ↑(orbit G a) ≃ G ⧸ stabilizer G a := orbitEquivQuotientStabilizer G a
this✝ : Fintype (G ⧸ stabilizer G a)
this : Subgroup.FiniteIndex (stabilizer G a)
⊢ ∃ n, card ↑(orbit G a) = p ^ n

tactic: exact hG.index (stabilizer G a)
state_before: p : ℕ
G : Type u_2
inst✝² : Group G
hG : IsPGroup p G
hp : Fact (Nat.Prime p)
α : Type u_1
inst✝¹ : MulAction G α
a : α
inst✝ : Fintype ↑(orbit G a)
ϕ : ↑(orbit G a) ≃ G ⧸ stabilizer G a := orbitEquivQuotientStabilizer G a
this✝ : Fintype (G ⧸ stabilizer G a)
this : Subgroup.FiniteIndex (stabilizer G a)
⊢ ∃ n, Subgroup.index (stabilizer G a) = p ^ n
Theorem: squarefree_iff_irreducible_sq_not_dvd_of_ne_zero
File: Mathlib/Algebra/Squarefree.lean

tactic: simpa [hr] using (irreducible_sq_not_dvd_iff_eq_zero_and_no_irreducibles_or_squarefree r).symm
state_before: R : Type u_1
inst✝¹ : CommMonoidWithZero R
inst✝ : WfDvdMonoid R
r : R
hr : r ≠ 0
⊢ Squarefree r ↔ ∀ (x : R), Irreducible x → ¬x * x ∣ r
Theorem: ProjectiveSpectrum.zeroLocus_singleton_mul
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean

tactic: simpa using x.isPrime.mul_mem_iff_mem_or_mem
state_before: R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
f g : A
x : ProjectiveSpectrum 𝒜
⊢ x ∈ zeroLocus 𝒜 {f * g} ↔ x ∈ zeroLocus 𝒜 {f} ∪ zeroLocus 𝒜 {g}
Theorem: MeasureTheory.snormEssSup_indicator_const_le
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: by_cases hμ0 : μ = 0
state_before: α : Type u_1
E : Type ?u.633107
F : Type ?u.633110
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
⊢ snormEssSup (Set.indicator s fun x => c) μ ≤ ↑‖c‖₊

tactic: rw [hμ0, snormEssSup_measure_zero]
state_before: case pos
α : Type u_1
E : Type ?u.633107
F : Type ?u.633110
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hμ0 : μ = 0
⊢ snormEssSup (Set.indicator s fun x => c) μ ≤ ↑‖c‖₊

tactic: exact zero_le _
state_before: case pos
α : Type u_1
E : Type ?u.633107
F : Type ?u.633110
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hμ0 : μ = 0
⊢ 0 ≤ ↑‖c‖₊

tactic: exact (snormEssSup_indicator_le s fun _ => c).trans (snormEssSup_const c hμ0).le
state_before: case neg
α : Type u_1
E : Type ?u.633107
F : Type ?u.633110
G : Type u_2
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
s✝ : Set α
hs : MeasurableSet s✝
c✝ : E
f : α → E
hf : AEStronglyMeasurable f μ
s : Set α
c : G
hμ0 : ¬μ = 0
⊢ snormEssSup (Set.indicator s fun x => c) μ ≤ ↑‖c‖₊
Theorem: mem_sphere_one_iff_norm
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simp [dist_eq_norm_div]
state_before: 𝓕 : Type ?u.103512
𝕜 : Type ?u.103515
α : Type ?u.103518
ι : Type ?u.103521
κ : Type ?u.103524
E : Type u_1
F : Type ?u.103530
G : Type ?u.103533
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
⊢ a ∈ sphere 1 r ↔ ‖a‖ = r
Theorem: TrivSqZeroExt.inr_mul_inl
File: Mathlib/Algebra/TrivSqZeroExt.lean

tactic: rw [smul_zero, zero_add]
state_before: R : Type u
M : Type v
inst✝³ : Semiring R
inst✝² : AddCommMonoid M
inst✝¹ : Module R M
inst✝ : Module Rᵐᵒᵖ M
r : R
m : M
⊢ 0 • 0 + op r • m = op r • m
Theorem: ite_smul
File: Mathlib/GroupTheory/GroupAction/Defs.lean

tactic: split_ifs <;> rfl
state_before: M : Type u_2
N : Type ?u.13476
G : Type ?u.13479
A : Type ?u.13482
B : Type ?u.13485
α : Type u_1
β : Type ?u.13491
γ : Type ?u.13494
δ : Type ?u.13497
inst✝¹ : SMul M α
p : Prop
inst✝ : Decidable p
a₁ a₂ : M
b : α
⊢ (if p then a₁ else a₂) • b = if p then a₁ • b else a₂ • b
Theorem: ENNReal.fun_eq_funMulInvSnorm_mul_snorm
File: Mathlib/MeasureTheory/Integral/MeanInequalities.lean

tactic: simp [funMulInvSnorm, mul_assoc, ENNReal.inv_mul_cancel, hf_nonzero, hf_top]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
μ : MeasureTheory.Measure α
p : ℝ
f : α → ℝ≥0∞
hf_nonzero : (∫⁻ (a : α), f a ^ p ∂μ) ≠ 0
hf_top : (∫⁻ (a : α), f a ^ p ∂μ) ≠ ⊤
a : α
⊢ f a = funMulInvSnorm f p μ a * (∫⁻ (c : α), f c ^ p ∂μ) ^ (1 / p)
Theorem: MeasureTheory.Measure.empty_of_count_eq_zero
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: have hs : s.Finite := by
  rw [← count_apply_lt_top, hsc]
  exact WithTop.zero_lt_top
state_before: α : Type u_1
β : Type ?u.382504
γ : Type ?u.382507
δ : Type ?u.382510
ι : Type ?u.382513
R : Type ?u.382516
R' : Type ?u.382519
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSingletonClass α
hsc : ↑↑count s = 0
⊢ s = ∅

tactic: simpa [count_apply_finite _ hs] using hsc
state_before: α : Type u_1
β : Type ?u.382504
γ : Type ?u.382507
δ : Type ?u.382510
ι : Type ?u.382513
R : Type ?u.382516
R' : Type ?u.382519
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSingletonClass α
hsc : ↑↑count s = 0
hs : Set.Finite s
⊢ s = ∅

tactic: rw [← count_apply_lt_top, hsc]
state_before: α : Type u_1
β : Type ?u.382504
γ : Type ?u.382507
δ : Type ?u.382510
ι : Type ?u.382513
R : Type ?u.382516
R' : Type ?u.382519
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSingletonClass α
hsc : ↑↑count s = 0
⊢ Set.Finite s

tactic: exact WithTop.zero_lt_top
state_before: α : Type u_1
β : Type ?u.382504
γ : Type ?u.382507
δ : Type ?u.382510
ι : Type ?u.382513
R : Type ?u.382516
R' : Type ?u.382519
m0 : MeasurableSpace α
inst✝³ : MeasurableSpace β
inst✝² : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSingletonClass α
hsc : ↑↑count s = 0
⊢ 0 < ⊤