tasksource/leandojo huggingface dataset:
Theorem: MeasureTheory.Measure.mapₗ_apply_of_measurable
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simp only [← mapₗ_mk_apply_of_aemeasurable hf.aemeasurable]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.176472
δ : Type ?u.176475
ι : Type ?u.176478
R : Type ?u.176481
R' : Type ?u.176484
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f : α → β
hf : Measurable f
μ : Measure α
⊢ ↑(mapₗ f) μ = map f μ

tactic: exact mapₗ_congr hf hf.aemeasurable.measurable_mk hf.aemeasurable.ae_eq_mk
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.176472
δ : Type ?u.176475
ι : Type ?u.176478
R : Type ?u.176481
R' : Type ?u.176484
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f : α → β
hf : Measurable f
μ : Measure α
⊢ ↑(mapₗ f) μ = ↑(mapₗ (AEMeasurable.mk f (_ : AEMeasurable f))) μ
Theorem: WfDvdMonoid.iff_wellFounded_associates
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: apply WfDvdMonoid.wellFounded_associates
state_before: α : Type u_1
inst✝ : CancelCommMonoidWithZero α
⊢ WfDvdMonoid α → WellFounded fun x x_1 => x < x_1
Theorem: CategoryTheory.Limits.WidePullback.π_arrow
File: Mathlib/CategoryTheory/Limits/Shapes/WidePullbacks.lean

tactic: apply limit.w (WidePullbackShape.wideCospan _ _ _) (WidePullbackShape.Hom.term j)
state_before: J : Type w
C : Type u
inst✝² : Category C
D : Type u_1
inst✝¹ : Category D
B : D
objs : J → D
arrows : (j : J) → objs j ⟶ B
inst✝ : HasWidePullback B objs arrows
j : J
⊢ π arrows j ≫ arrows j = base arrows
Theorem: Filter.tendsto_const_mul_atTop_iff
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: rcases lt_trichotomy r 0 with (hr | rfl | hr)
state_before: ι : Type ?u.233433
ι' : Type ?u.233436
α : Type u_2
β : Type u_1
γ : Type ?u.233445
inst✝¹ : LinearOrderedField α
l : Filter β
f : β → α
r : α
inst✝ : NeBot l
⊢ Tendsto (fun x => r * f x) l atTop ↔ 0 < r ∧ Tendsto f l atTop ∨ r < 0 ∧ Tendsto f l atBot

tactic: simp [hr, hr.not_lt, tendsto_const_mul_atTop_of_neg]
state_before: case inl
ι : Type ?u.233433
ι' : Type ?u.233436
α : Type u_2
β : Type u_1
γ : Type ?u.233445
inst✝¹ : LinearOrderedField α
l : Filter β
f : β → α
r : α
inst✝ : NeBot l
hr : r < 0
⊢ Tendsto (fun x => r * f x) l atTop ↔ 0 < r ∧ Tendsto f l atTop ∨ r < 0 ∧ Tendsto f l atBot

tactic: simp [not_tendsto_const_atTop]
state_before: case inr.inl
ι : Type ?u.233433
ι' : Type ?u.233436
α : Type u_2
β : Type u_1
γ : Type ?u.233445
inst✝¹ : LinearOrderedField α
l : Filter β
f : β → α
inst✝ : NeBot l
⊢ Tendsto (fun x => 0 * f x) l atTop ↔ 0 < 0 ∧ Tendsto f l atTop ∨ 0 < 0 ∧ Tendsto f l atBot

tactic: simp [hr, hr.not_lt, tendsto_const_mul_atTop_of_pos]
state_before: case inr.inr
ι : Type ?u.233433
ι' : Type ?u.233436
α : Type u_2
β : Type u_1
γ : Type ?u.233445
inst✝¹ : LinearOrderedField α
l : Filter β
f : β → α
r : α
inst✝ : NeBot l
hr : 0 < r
⊢ Tendsto (fun x => r * f x) l atTop ↔ 0 < r ∧ Tendsto f l atTop ∨ r < 0 ∧ Tendsto f l atBot
Theorem: Polynomial.expand_eq_sum
File: Mathlib/Data/Polynomial/Expand.lean

tactic: simp [expand, eval₂]
state_before: R : Type u
inst✝¹ : CommSemiring R
S : Type v
inst✝ : CommSemiring S
p q : ℕ
f : R[X]
⊢ ↑(expand R p) f = sum f fun e a => ↑C a * (X ^ p) ^ e
Theorem: Submodule.range_subtype
File: Mathlib/LinearAlgebra/Basic.lean

tactic: simpa using map_comap_subtype p ⊤
state_before: R : Type u_2
R₁ : Type ?u.1533316
R₂ : Type ?u.1533319
R₃ : Type ?u.1533322
R₄ : Type ?u.1533325
S : Type ?u.1533328
K : Type ?u.1533331
K₂ : Type ?u.1533334
M : Type u_1
M' : Type ?u.1533340
M₁ : Type ?u.1533343
M₂ : Type ?u.1533346
M₃ : Type ?u.1533349
M₄ : Type ?u.1533352
N : Type ?u.1533355
N₂ : Type ?u.1533358
ι : Type ?u.1533361
V : Type ?u.1533364
V₂ : Type ?u.1533367
inst✝⁵ : Semiring R
inst✝⁴ : Semiring R₂
inst✝³ : AddCommMonoid M
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M
inst✝ : Module R₂ M₂
p p' : Submodule R M
q : Submodule R₂ M₂
τ₁₂ : R →+* R₂
F : Type ?u.1533541
sc : SemilinearMapClass F τ₁₂ M M₂
⊢ range (Submodule.subtype p) = p
Theorem: List.mem_keys_kunion
File: Mathlib/Data/List/Sigma.lean

tactic: induction l₁ generalizing l₂
state_before: α : Type u
β : α → Type v
l l₁✝ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
l₁ l₂ : List (Sigma β)
⊢ a ∈ keys (kunion l₁ l₂) ↔ a ∈ keys l₁ ∨ a ∈ keys l₂

tactic: case nil => simp
state_before: case nil
α : Type u
β : α → Type v
l l₁ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
l₂ : List (Sigma β)
⊢ a ∈ keys (kunion [] l₂) ↔ a ∈ keys [] ∨ a ∈ keys l₂

case cons
α : Type u
β : α → Type v
l l₁ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
head✝ : Sigma β
tail✝ : List (Sigma β)
tail_ih✝ : ∀ {l₂ : List (Sigma β)}, a ∈ keys (kunion tail✝ l₂) ↔ a ∈ keys tail✝ ∨ a ∈ keys l₂
l₂ : List (Sigma β)
⊢ a ∈ keys (kunion (head✝ :: tail✝) l₂) ↔ a ∈ keys (head✝ :: tail✝) ∨ a ∈ keys l₂

tactic: case cons s l₁ ih => by_cases h : a = s.1 <;> [simp [h]; simp [h, ih]]
state_before: case cons
α : Type u
β : α → Type v
l l₁ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
head✝ : Sigma β
tail✝ : List (Sigma β)
tail_ih✝ : ∀ {l₂ : List (Sigma β)}, a ∈ keys (kunion tail✝ l₂) ↔ a ∈ keys tail✝ ∨ a ∈ keys l₂
l₂ : List (Sigma β)
⊢ a ∈ keys (kunion (head✝ :: tail✝) l₂) ↔ a ∈ keys (head✝ :: tail✝) ∨ a ∈ keys l₂

tactic: simp
state_before: α : Type u
β : α → Type v
l l₁ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
l₂ : List (Sigma β)
⊢ a ∈ keys (kunion [] l₂) ↔ a ∈ keys [] ∨ a ∈ keys l₂

tactic: by_cases h : a = s.1 <;> [simp [h]; simp [h, ih]]
state_before: α : Type u
β : α → Type v
l l₁✝ l₂✝ : List (Sigma β)
inst✝ : DecidableEq α
a : α
s : Sigma β
l₁ : List (Sigma β)
ih : ∀ {l₂ : List (Sigma β)}, a ∈ keys (kunion l₁ l₂) ↔ a ∈ keys l₁ ∨ a ∈ keys l₂
l₂ : List (Sigma β)
⊢ a ∈ keys (kunion (s :: l₁) l₂) ↔ a ∈ keys (s :: l₁) ∨ a ∈ keys l₂
Theorem: Set.Ioi_diff_Ici
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: rw [diff_eq, compl_Ici, Ioi_inter_Iio]
state_before: α : Type u_1
β : Type ?u.61989
inst✝ : LinearOrder α
a a₁ a₂ b b₁ b₂ c d : α
⊢ Ioi a \ Ici b = Ioo a b
Theorem: Rat.divInt_mul_left
File: Std/Data/Rat/Lemmas.lean

tactic: if d0 : d = 0 then simp [d0] else
simp [divInt_eq_iff (Int.mul_ne_zero a0 d0) d0, Int.mul_assoc, Int.mul_left_comm]
state_before: n d a : Int
a0 : a ≠ 0
⊢ a * n /. (a * d) = n /. d

tactic: simp [d0]
state_before: n d a : Int
a0 : a ≠ 0
d0 : d = 0
⊢ a * n /. (a * d) = n /. d

tactic: simp [divInt_eq_iff (Int.mul_ne_zero a0 d0) d0, Int.mul_assoc, Int.mul_left_comm]
state_before: n d a : Int
a0 : a ≠ 0
d0 : ¬d = 0
⊢ a * n /. (a * d) = n /. d
Theorem: NNReal.iInf_mul
File: Mathlib/Data/Real/NNReal.lean

tactic: rw [← NNReal.coe_eq, NNReal.coe_mul, coe_iInf, coe_iInf]
state_before: ι : Sort u_1
f✝ f : ι → ℝ≥0
a : ℝ≥0
⊢ iInf f * a = ⨅ (i : ι), f i * a

tactic: exact Real.iInf_mul_of_nonneg (NNReal.coe_nonneg _) _
state_before: ι : Sort u_1
f✝ f : ι → ℝ≥0
a : ℝ≥0
⊢ (⨅ (i : ι), ↑(f i)) * ↑a = ⨅ (i : ι), ↑(f i * a)
Theorem: AlgebraicTopology.DoldKan.PInfty_comp_PInftyToNormalizedMooreComplex
File: Mathlib/AlgebraicTopology/DoldKan/Normalized.lean

tactic: aesop_cat
state_before: A : Type u_2
inst✝¹ : Category A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ PInfty ≫ PInftyToNormalizedMooreComplex X = PInftyToNormalizedMooreComplex X
Theorem: List.lt_length_right_of_zipWith
File: Mathlib/Data/List/Zip.lean

tactic: rw [length_zipWith, lt_min_iff] at h
state_before: α : Type u
β : Type u_1
γ : Type u_2
δ : Type ?u.19964
ε : Type ?u.19967
f : α → β → γ
i : ℕ
l : List α
l' : List β
h : i < length (zipWith f l l')
⊢ i < length l'

tactic: exact h.right
state_before: α : Type u
β : Type u_1
γ : Type u_2
δ : Type ?u.19964
ε : Type ?u.19967
f : α → β → γ
i : ℕ
l : List α
l' : List β
h : i < length l ∧ i < length l'
⊢ i < length l'
Theorem: TopCat.epi_iff_surjective
File: Mathlib/Topology/Category/TopCat/EpiMono.lean

tactic: suffices Epi f ↔ Epi ((forget TopCat).map f) by
  rw [this, CategoryTheory.epi_iff_surjective]
state_before: X Y : TopCat
f : X ⟶ Y
⊢ Epi f ↔ Function.Surjective ((forget TopCat).map f)

tactic: constructor
state_before: X Y : TopCat
f : X ⟶ Y
⊢ Epi f ↔ Epi ((forget TopCat).map f)

tactic: rw [this, CategoryTheory.epi_iff_surjective]
state_before: X Y : TopCat
f : X ⟶ Y
this : Epi f ↔ Epi ((forget TopCat).map f)
⊢ Epi f ↔ Function.Surjective ((forget TopCat).map f)

tactic: intro
state_before: case mp
X Y : TopCat
f : X ⟶ Y
⊢ Epi f → Epi ((forget TopCat).map f)

tactic: infer_instance
state_before: case mp
X Y : TopCat
f : X ⟶ Y
a✝ : Epi f
⊢ Epi ((forget TopCat).map f)

tactic: apply Functor.epi_of_epi_map
state_before: case mpr
X Y : TopCat
f : X ⟶ Y
⊢ Epi ((forget TopCat).map f) → Epi f
Theorem: Mathlib.Meta.NormNum.IsRat.neg_to_eq
File: Mathlib/Tactic/NormNum/Core.lean

tactic: simp [div_eq_mul_inv]
state_before: α : Type u_1
inst✝ : DivisionRing α
n d : ℕ
inv✝ : Invertible ↑d
⊢ ↑(Int.negOfNat n) * ⅟↑d = -(↑n / ↑d)
Theorem: Multiset.cons_ndinter_of_mem
File: Mathlib/Data/Multiset/FinsetOps.lean

tactic: simp [ndinter, h]
state_before: α : Type u_1
inst✝ : DecidableEq α
s✝ : Multiset α
a : α
s t : Multiset α
h : a ∈ t
⊢ ndinter (a ::ₘ s) t = a ::ₘ ndinter s t
Theorem: Multiset.Rel.mono
File: Mathlib/Data/Multiset/Basic.lean

tactic: induction hst
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s : Multiset α
t : Multiset β
hst : Rel r s t
h : ∀ (a : α), a ∈ s → ∀ (b : β), b ∈ t → r a b → p a b
⊢ Rel p s t

tactic: case zero => exact Rel.zero
state_before: case zero
α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s : Multiset α
t : Multiset β
h : ∀ (a : α), a ∈ 0 → ∀ (b : β), b ∈ 0 → r a b → p a b
⊢ Rel p 0 0

case cons
α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s : Multiset α
t : Multiset β
a✝² : α
b✝ : β
as✝ : Multiset α
bs✝ : Multiset β
a✝¹ : r a✝² b✝
a✝ : Rel r as✝ bs✝
a_ih✝ : (∀ (a : α), a ∈ as✝ → ∀ (b : β), b ∈ bs✝ → r a b → p a b) → Rel p as✝ bs✝
h : ∀ (a : α), a ∈ a✝² ::ₘ as✝ → ∀ (b : β), b ∈ b✝ ::ₘ bs✝ → r a b → p a b
⊢ Rel p (a✝² ::ₘ as✝) (b✝ ::ₘ bs✝)

tactic: case
  cons a b s t hab _hst ih =>
  apply Rel.cons (h a (mem_cons_self _ _) b (mem_cons_self _ _) hab)
  exact ih fun a' ha' b' hb' h' => h a' (mem_cons_of_mem ha') b' (mem_cons_of_mem hb') h'
state_before: case cons
α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s : Multiset α
t : Multiset β
a✝² : α
b✝ : β
as✝ : Multiset α
bs✝ : Multiset β
a✝¹ : r a✝² b✝
a✝ : Rel r as✝ bs✝
a_ih✝ : (∀ (a : α), a ∈ as✝ → ∀ (b : β), b ∈ bs✝ → r a b → p a b) → Rel p as✝ bs✝
h : ∀ (a : α), a ∈ a✝² ::ₘ as✝ → ∀ (b : β), b ∈ b✝ ::ₘ bs✝ → r a b → p a b
⊢ Rel p (a✝² ::ₘ as✝) (b✝ ::ₘ bs✝)

tactic: exact Rel.zero
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s : Multiset α
t : Multiset β
h : ∀ (a : α), a ∈ 0 → ∀ (b : β), b ∈ 0 → r a b → p a b
⊢ Rel p 0 0

tactic: apply Rel.cons (h a (mem_cons_self _ _) b (mem_cons_self _ _) hab)
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s✝ : Multiset α
t✝ : Multiset β
a : α
b : β
s : Multiset α
t : Multiset β
hab : r a b
_hst : Rel r s t
ih : (∀ (a : α), a ∈ s → ∀ (b : β), b ∈ t → r a b → p a b) → Rel p s t
h : ∀ (a_1 : α), a_1 ∈ a ::ₘ s → ∀ (b_1 : β), b_1 ∈ b ::ₘ t → r a_1 b_1 → p a_1 b_1
⊢ Rel p (a ::ₘ s) (b ::ₘ t)

tactic: exact ih fun a' ha' b' hb' h' => h a' (mem_cons_of_mem ha') b' (mem_cons_of_mem hb') h'
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.439427
δ : Type ?u.439430
r✝ : α → β → Prop
p✝ : γ → δ → Prop
r p : α → β → Prop
s✝ : Multiset α
t✝ : Multiset β
a : α
b : β
s : Multiset α
t : Multiset β
hab : r a b
_hst : Rel r s t
ih : (∀ (a : α), a ∈ s → ∀ (b : β), b ∈ t → r a b → p a b) → Rel p s t
h : ∀ (a_1 : α), a_1 ∈ a ::ₘ s → ∀ (b_1 : β), b_1 ∈ b ::ₘ t → r a_1 b_1 → p a_1 b_1
⊢ Rel p s t
Theorem: Ordnode.all_node4L
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: cases m <;> simp [node4L, all_node', All, all_node3L, and_assoc]
state_before: α : Type u_1
P : α → Prop
l : Ordnode α
x : α
m : Ordnode α
y : α
r : Ordnode α
⊢ All P (node4L l x m y r) ↔ All P l ∧ P x ∧ All P m ∧ P y ∧ All P r
Theorem: Nat.bodd_add_div2
File: Mathlib/Init/Data/Nat/Bitwise.lean

tactic: simp
state_before: n : ℕ
⊢ (bif bodd (succ n) then 1 else 0) + 2 * div2 (succ n) = succ n

tactic: refine' Eq.trans _ (congr_arg succ (bodd_add_div2 n))
state_before: n : ℕ
⊢ (bif bodd n then 0 else 1) + (bif bodd n then succ (div2 n) else div2 n) * 2 = succ n

tactic: cases bodd n <;> simp [cond, not]
state_before: n : ℕ
⊢ (bif bodd n then 0 else 1) + (bif bodd n then succ (div2 n) else div2 n) * 2 =
    succ ((bif bodd n then 1 else 0) + 2 * div2 n)

tactic: rw [Nat.add_comm, Nat.add_succ]
state_before: case false
n : ℕ
⊢ 1 + div2 n * 2 = succ (div2 n * 2)

tactic: rw [succ_mul, Nat.add_comm 1, Nat.add_succ]
state_before: case true
n : ℕ
⊢ succ (div2 n) * 2 = succ (1 + div2 n * 2)
Theorem: MeasureTheory.snorm'_add_le_of_le_one
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: refine' ENNReal.rpow_le_rpow _ (by simp [hq0] : 0 ≤ 1 / q)
state_before: α : Type u_1
E : Type u_2
F : Type ?u.2557321
G : Type ?u.2557324
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hq0 : 0 ≤ q
hq1 : q ≤ 1
⊢ (∫⁻ (a : α), ↑‖(f + g) a‖₊ ^ q ∂μ) ^ (1 / q) ≤
    (∫⁻ (a : α), ((fun a => ↑‖f a‖₊) + fun a => ↑‖g a‖₊) a ^ q ∂μ) ^ (1 / q)

tactic: refine' lintegral_mono fun a => ENNReal.rpow_le_rpow _ hq0
state_before: α : Type u_1
E : Type u_2
F : Type ?u.2557321
G : Type ?u.2557324
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hq0 : 0 ≤ q
hq1 : q ≤ 1
⊢ (∫⁻ (a : α), ↑‖(f + g) a‖₊ ^ q ∂μ) ≤ ∫⁻ (a : α), ((fun a => ↑‖f a‖₊) + fun a => ↑‖g a‖₊) a ^ q ∂μ

tactic: simp only [Pi.add_apply, ← ENNReal.coe_add, ENNReal.coe_le_coe, nnnorm_add_le]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.2557321
G : Type ?u.2557324
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hq0 : 0 ≤ q
hq1 : q ≤ 1
a : α
⊢ ↑‖(f + g) a‖₊ ≤ ((fun a => ↑‖f a‖₊) + fun a => ↑‖g a‖₊) a

tactic: simp [hq0]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.2557321
G : Type ?u.2557324
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f g : α → E
hf : AEStronglyMeasurable f μ
hq0 : 0 ≤ q
hq1 : q ≤ 1
⊢ 0 ≤ 1 / q
Theorem: Set.compl_cIoo
File: Mathlib/Order/Circular.lean

tactic: ext
state_before: α : Type u_1
inst✝ : CircularOrder α
a b : α
⊢ cIoo a bᶜ = cIcc b a

tactic: rw [Set.mem_cIcc, btw_iff_not_sbtw]
state_before: case h
α : Type u_1
inst✝ : CircularOrder α
a b x✝ : α
⊢ x✝ ∈ cIoo a bᶜ ↔ x✝ ∈ cIcc b a

tactic: rfl
state_before: case h
α : Type u_1
inst✝ : CircularOrder α
a b x✝ : α
⊢ x✝ ∈ cIoo a bᶜ ↔ ¬sbtw a x✝ b
Theorem: Metric.continuousAt_iff'
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: rw [ContinuousAt, tendsto_nhds]
state_before: α : Type u
β : Type v
X : Type ?u.127935
ι : Type ?u.127938
inst✝¹ : PseudoMetricSpace α
x y z : α
δ ε ε₁ ε₂ : ℝ
s : Set α
inst✝ : TopologicalSpace β
f : β → α
b : β
⊢ ContinuousAt f b ↔ ∀ (ε : ℝ), ε > 0 → ∀ᶠ (x : β) in 𝓝 b, dist (f x) (f b) < ε
Theorem: OrderBot.ext
File: Mathlib/Order/BoundedOrder.lean

tactic: rcases A with ⟨ha⟩
state_before: α✝ : Type u
β : Type v
γ : Type ?u.25434
δ : Type ?u.25437
α : Type u_1
inst✝ : PartialOrder α
A B : OrderBot α
⊢ A = B

tactic: rcases B with ⟨hb⟩
state_before: case mk
α✝ : Type u
β : Type v
γ : Type ?u.25434
δ : Type ?u.25437
α : Type u_1
inst✝ : PartialOrder α
B : OrderBot α
toBot✝ : Bot α
ha : ∀ (a : α), ⊥ ≤ a
⊢ mk ha = B

tactic: congr
state_before: case mk.mk
α✝ : Type u
β : Type v
γ : Type ?u.25434
δ : Type ?u.25437
α : Type u_1
inst✝ : PartialOrder α
toBot✝¹ : Bot α
ha : ∀ (a : α), ⊥ ≤ a
toBot✝ : Bot α
hb : ∀ (a : α), ⊥ ≤ a
⊢ mk ha = mk hb

tactic: ext
state_before: case mk.mk.e_toBot
α✝ : Type u
β : Type v
γ : Type ?u.25434
δ : Type ?u.25437
α : Type u_1
inst✝ : PartialOrder α
toBot✝¹ : Bot α
ha : ∀ (a : α), ⊥ ≤ a
toBot✝ : Bot α
hb : ∀ (a : α), ⊥ ≤ a
⊢ toBot✝¹ = toBot✝

tactic: exact le_antisymm (ha _) (hb _)
state_before: case mk.mk.e_toBot.bot
α✝ : Type u
β : Type v
γ : Type ?u.25434
δ : Type ?u.25437
α : Type u_1
inst✝ : PartialOrder α
toBot✝¹ : Bot α
ha : ∀ (a : α), ⊥ ≤ a
toBot✝ : Bot α
hb : ∀ (a : α), ⊥ ≤ a
⊢ ⊥ = ⊥
Theorem: WithTop.mul_lt_top'
File: Mathlib/Algebra/Order/Ring/WithTop.lean

tactic: rw [WithTop.lt_top_iff_ne_top] at *
state_before: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Zero α
inst✝¹ : Mul α
inst✝ : LT α
a b : WithTop α
ha : a < ⊤
hb : b < ⊤
⊢ a * b < ⊤

tactic: simp only [Ne.def, mul_eq_top_iff, *, and_false, false_and, false_or]
state_before: α : Type u_1
inst✝³ : DecidableEq α
inst✝² : Zero α
inst✝¹ : Mul α
inst✝ : LT α
a b : WithTop α
ha : a ≠ ⊤
hb : b ≠ ⊤
⊢ a * b ≠ ⊤
Theorem: countable_of_isolated_left'
File: Mathlib/Topology/Order/Basic.lean

tactic: simpa only [← covby_iff_Ioo_eq] using countable_setOf_covby_left
state_before: α : Type u
β : Type v
γ : Type w
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : SecondCountableTopology α
⊢ Set.Countable {x | ∃ y, y < x ∧ Ioo y x = ∅}
Theorem: ProjectiveSpectrum.zeroLocus_vanishingIdeal_eq_closure
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean

tactic: apply Set.Subset.antisymm
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 𝒜
t : Set (ProjectiveSpectrum 𝒜)
⊢ zeroLocus 𝒜 ↑(vanishingIdeal t) = closure t

tactic: rintro x hx t' ⟨ht', ht⟩
state_before: case h₁
R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
t : Set (ProjectiveSpectrum 𝒜)
⊢ zeroLocus 𝒜 ↑(vanishingIdeal t) ⊆ closure t

tactic: obtain ⟨fs, rfl⟩ : ∃ s, t' = zeroLocus 𝒜 s := by rwa [isClosed_iff_zeroLocus] at ht'
state_before: case h₁.intro
R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
t : Set (ProjectiveSpectrum 𝒜)
x : ProjectiveSpectrum 𝒜
hx : x ∈ zeroLocus 𝒜 ↑(vanishingIdeal t)
t' : Set (ProjectiveSpectrum 𝒜)
ht' : IsClosed t'
ht : t ⊆ t'
⊢ x ∈ t'

tactic: rw [subset_zeroLocus_iff_subset_vanishingIdeal] at ht
state_before: case h₁.intro.intro
R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
t : Set (ProjectiveSpectrum 𝒜)
x : ProjectiveSpectrum 𝒜
hx : x ∈ zeroLocus 𝒜 ↑(vanishingIdeal t)
fs : Set A
ht' : IsClosed (zeroLocus 𝒜 fs)
ht : t ⊆ zeroLocus 𝒜 fs
⊢ x ∈ zeroLocus 𝒜 fs

tactic: exact Set.Subset.trans ht hx
state_before: case h₁.intro.intro
R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
t : Set (ProjectiveSpectrum 𝒜)
x : ProjectiveSpectrum 𝒜
hx : x ∈ zeroLocus 𝒜 ↑(vanishingIdeal t)
fs : Set A
ht' : IsClosed (zeroLocus 𝒜 fs)
ht : fs ⊆ ↑(vanishingIdeal t)
⊢ x ∈ zeroLocus 𝒜 fs

tactic: rwa [isClosed_iff_zeroLocus] at ht'
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 𝒜
t : Set (ProjectiveSpectrum 𝒜)
x : ProjectiveSpectrum 𝒜
hx : x ∈ zeroLocus 𝒜 ↑(vanishingIdeal t)
t' : Set (ProjectiveSpectrum 𝒜)
ht' : IsClosed t'
ht : t ⊆ t'
⊢ ∃ s, t' = zeroLocus 𝒜 s

tactic: rw [(isClosed_zeroLocus _ _).closure_subset_iff]
state_before: case h₂
R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
t : Set (ProjectiveSpectrum 𝒜)
⊢ closure t ⊆ zeroLocus 𝒜 ↑(vanishingIdeal t)

tactic: exact subset_zeroLocus_vanishingIdeal 𝒜 t
state_before: case h₂
R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
t : Set (ProjectiveSpectrum 𝒜)
⊢ t ⊆ zeroLocus 𝒜 ↑(vanishingIdeal t)
Theorem: tendsto_log_mul_rpow_nhds_zero
File: Mathlib/Analysis/SpecialFunctions/Pow/Asymptotics.lean

tactic: rw [rpow_neg hx.out.le, div_inv_eq_mul]
state_before: r : ℝ
hr : 0 < r
x : ℝ
hx : x ∈ Set.Ioi 0
⊢ log x / x ^ (-r) = (fun x => log x * x ^ r) x
Theorem: intervalIntegral.integral_comp_mul_add
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: rw [← integral_comp_add_right, ← integral_comp_mul_left _ hc]
state_before: ι : Type ?u.14872189
𝕜 : Type ?u.14872192
E : Type u_1
F : Type ?u.14872198
A : Type ?u.14872201
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d✝ : ℝ
f : ℝ → E
hc : c ≠ 0
d : ℝ
⊢ (∫ (x : ℝ) in a..b, f (c * x + d)) = c⁻¹ • ∫ (x : ℝ) in c * a + d..c * b + d, f x
Theorem: FiniteDimensional.finrank_le_finrank_of_rank_le_rank
File: Mathlib/LinearAlgebra/Finrank.lean

tactic: simpa only [toNat_lift] using toNat_le_of_le_of_lt_aleph0 (lift_lt_aleph0.mpr h') h
state_before: K : Type u
V : Type v
inst✝⁴ : Ring K
inst✝³ : AddCommGroup V
inst✝² : Module K V
V₂ : Type v'
inst✝¹ : AddCommGroup V₂
inst✝ : Module K V₂
h : lift (Module.rank K V) ≤ lift (Module.rank K V₂)
h' : Module.rank K V₂ < ℵ₀
⊢ finrank K V ≤ finrank K V₂
Theorem: mul_eq_left₀
File: Mathlib/Algebra/GroupWithZero/Basic.lean

tactic: rw [Iff.comm, ← mul_right_inj' ha, mul_one]
state_before: α : Type ?u.11158
M₀ : Type u_1
G₀ : Type ?u.11164
M₀' : Type ?u.11167
G₀' : Type ?u.11170
F : Type ?u.11173
F' : Type ?u.11176
inst✝ : CancelMonoidWithZero M₀
a b c : M₀
ha : a ≠ 0
⊢ a * b = a ↔ b = 1
Theorem: Ordinal.pred_le_self
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: let ⟨a, e⟩ := h
state_before: α : Type ?u.81368
β : Type ?u.81371
γ : Type ?u.81374
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal
h : ∃ a, o = succ a
⊢ pred o ≤ o

tactic: rw [e, pred_succ]
state_before: α : Type ?u.81368
β : Type ?u.81371
γ : Type ?u.81374
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal
h : ∃ a, o = succ a
a : Ordinal
e : o = succ a
⊢ pred o ≤ o

tactic: exact le_succ a
state_before: α : Type ?u.81368
β : Type ?u.81371
γ : Type ?u.81374
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal
h : ∃ a, o = succ a
a : Ordinal
e : o = succ a
⊢ a ≤ succ a

tactic: rw [pred, dif_neg h]
state_before: α : Type ?u.81368
β : Type ?u.81371
γ : Type ?u.81374
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal
h : ¬∃ a, o = succ a
⊢ pred o ≤ o
Theorem: LocalizedModule.mk_cancel
File: Mathlib/Algebra/Module/LocalizedModule.lean

tactic: simp
state_before: R : Type u
inst✝² : CommSemiring R
S : Submonoid R
M : Type v
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
s : { x // x ∈ S }
m : M
⊢ 1 • 1 • s • m = 1 • s • m