1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Hyperreal.infiniteNeg_of_tendsto_bot
File: Mathlib/Data/Real/Hyperreal.lean

tactic: simp only [Set.compl_setOf, not_lt]
state_before: f : ℕ → ℝ
hf : Tendsto f atTop atBot
r : ℝ
hf' : ∀ (b : ℝ), ∃ i, ∀ (a : ℕ), i ≤ a → f a ≤ b
i : ℕ
hi : ∀ (a : ℕ), i ≤ a → f a ≤ r - 1
hi' : ∀ (a : ℕ), r - 1 < f a → a < i
⊢ {a | f a < r}ᶜ ⊆ {a | a ≤ i}
state_after: f : ℕ → ℝ
hf : Tendsto f atTop atBot
r : ℝ
hf' : ∀ (b : ℝ), ∃ i, ∀ (a : ℕ), i ≤ a → f a ≤ b
i : ℕ
hi : ∀ (a : ℕ), i ≤ a → f a ≤ r - 1
hi' : ∀ (a : ℕ), r - 1 < f a → a < i
⊢ {a | r ≤ f a} ⊆ {a | a ≤ i}

tactic: exact fun a har => le_of_lt (hi' a (lt_of_lt_of_le (sub_one_lt _) har))
state_before: f : ℕ → ℝ
hf : Tendsto f atTop atBot
r : ℝ
hf' : ∀ (b : ℝ), ∃ i, ∀ (a : ℕ), i ≤ a → f a ≤ b
i : ℕ
hi : ∀ (a : ℕ), i ≤ a → f a ≤ r - 1
hi' : ∀ (a : ℕ), r - 1 < f a → a < i
⊢ {a | r ≤ f a} ⊆ {a | a ≤ i}
state_after: no goals
Theorem: Erased.mk_out
File: Mathlib/Data/Erased.lean

tactic: simp only [mk]
state_before: α : Sort u_1
s : α → Prop
h : ∃ a, (fun b => a = b) = s
⊢ mk (out ⟨s, h⟩) = ⟨s, h⟩
state_after: α : Sort u_1
s : α → Prop
h : ∃ a, (fun b => a = b) = s
⊢ ⟨fun b => out ⟨s, h⟩ = b, ⋯⟩ = ⟨s, h⟩

tactic: congr
state_before: α : Sort u_1
s : α → Prop
h : ∃ a, (fun b => a = b) = s
⊢ ⟨fun b => out ⟨s, h⟩ = b, ⋯⟩ = ⟨s, h⟩
state_after: case e_fst
α : Sort u_1
s : α → Prop
h : ∃ a, (fun b => a = b) = s
⊢ (fun b => out ⟨s, h⟩ = b) = s

tactic: exact Classical.choose_spec h
state_before: case e_fst
α : Sort u_1
s : α → Prop
h : ∃ a, (fun b => a = b) = s
⊢ (fun b => out ⟨s, h⟩ = b) = s
state_after: no goals
Theorem: MeasureTheory.Lp.norm_le_norm_of_ae_le
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: rw [norm_def, norm_def, ENNReal.toReal_le_toReal (snorm_ne_top _) (snorm_ne_top _)]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : ↥(Lp E p μ)
g : ↥(Lp F p μ)
h : ∀ᵐ (x : α) ∂μ, ‖↑↑f x‖ ≤ ‖↑↑g x‖
⊢ ‖f‖ ≤ ‖g‖
state_after: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : ↥(Lp E p μ)
g : ↥(Lp F p μ)
h : ∀ᵐ (x : α) ∂μ, ‖↑↑f x‖ ≤ ‖↑↑g x‖
⊢ snorm (↑↑f) p μ ≤ snorm (↑↑g) p μ

tactic: exact snorm_mono_ae h
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : ↥(Lp E p μ)
g : ↥(Lp F p μ)
h : ∀ᵐ (x : α) ∂μ, ‖↑↑f x‖ ≤ ‖↑↑g x‖
⊢ snorm (↑↑f) p μ ≤ snorm (↑↑g) p μ
state_after: no goals
Theorem: CategoryTheory.Functor.IsMittagLeffler.subset_image_eventualRange
File: Mathlib/CategoryTheory/CofilteredSystem.lean

tactic: obtain ⟨k, g, hg⟩ := F.isMittagLeffler_iff_eventualRange.1 h j
state_before: J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
⊢ F.eventualRange i ⊆ F.map f '' F.eventualRange j
state_after: case intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
⊢ F.eventualRange i ⊆ F.map f '' F.eventualRange j

tactic: rw [hg]
state_before: case intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
⊢ F.eventualRange i ⊆ F.map f '' F.eventualRange j
state_after: case intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
⊢ F.eventualRange i ⊆ F.map f '' range (F.map g)

tactic: intro x hx
state_before: case intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
⊢ F.eventualRange i ⊆ F.map f '' range (F.map g)
state_after: case intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
x : F.obj i
hx : x ∈ F.eventualRange i
⊢ x ∈ F.map f '' range (F.map g)

tactic: obtain ⟨x, rfl⟩ := F.mem_eventualRange_iff.1 hx (g ≫ f)
state_before: case intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
x : F.obj i
hx : x ∈ F.eventualRange i
⊢ x ∈ F.map f '' range (F.map g)
state_after: case intro.intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
x : F.obj k
hx : F.map (g ≫ f) x ∈ F.eventualRange i
⊢ F.map (g ≫ f) x ∈ F.map f '' range (F.map g)

tactic: exact ⟨_, ⟨x, rfl⟩, by rw [map_comp_apply]⟩
state_before: case intro.intro.intro
J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
x : F.obj k
hx : F.map (g ≫ f) x ∈ F.eventualRange i
⊢ F.map (g ≫ f) x ∈ F.map f '' range (F.map g)
state_after: no goals

tactic: rw [map_comp_apply]
state_before: J : Type u
inst✝ : Category.{u_1, u} J
F : J ⥤ Type v
i j k✝ : J
s : Set (F.obj i)
h : F.IsMittagLeffler
f : j ⟶ i
k : J
g : k ⟶ j
hg : F.eventualRange j = range (F.map g)
x : F.obj k
hx : F.map (g ≫ f) x ∈ F.eventualRange i
⊢ F.map f (F.map g x) = F.map (g ≫ f) x
state_after: no goals
Theorem: CategoryTheory.MonoidalCategory.whiskerLeft_inv_hom'
File: Mathlib/CategoryTheory/Monoidal/Category.lean

tactic: rw [← whiskerLeft_comp, IsIso.inv_hom_id, whiskerLeft_id]
state_before: C : Type u
𝒞 : Category.{v, u} C
inst✝¹ : MonoidalCategory C
X Y Z : C
f : Y ⟶ Z
inst✝ : IsIso f
⊢ X ◁ inv f ≫ X ◁ f = 𝟙 (X ⊗ Z)
state_after: no goals
Theorem: Fin.mem_piFinset_succ
File: Mathlib/Data/Fin/Tuple/Finset.lean

tactic: simp only [mem_piFinset, forall_fin_succ, tail]
state_before: n : ℕ
α : Fin (n + 1) → Type u_1
x : (i : Fin (n + 1)) → α i
s : (i : Fin (n + 1)) → Finset (α i)
⊢ x ∈ piFinset s ↔ x 0 ∈ s 0 ∧ tail x ∈ piFinset (tail s)
state_after: no goals
Theorem: Matrix.right_inv_eq_right_inv
File: Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean

tactic: rw [← inv_eq_right_inv h, ← inv_eq_right_inv g]
state_before: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝² : Fintype n
inst✝¹ : DecidableEq n
inst✝ : CommRing α
A B C : Matrix n n α
h : A * B = 1
g : A * C = 1
⊢ B = C
state_after: no goals
Theorem: List.Ico.chain'_succ
File: Mathlib/Data/List/Intervals.lean

tactic: by_cases h : n < m
state_before: n m : ℕ
⊢ Chain' (fun a b => b = a.succ) (Ico n m)
state_after: case pos
n m : ℕ
h : n < m
⊢ Chain' (fun a b => b = a.succ) (Ico n m)

case neg
n m : ℕ
h : ¬n < m
⊢ Chain' (fun a b => b = a.succ) (Ico n m)

tactic: rw [eq_cons h]
state_before: case pos
n m : ℕ
h : n < m
⊢ Chain' (fun a b => b = a.succ) (Ico n m)
state_after: case pos
n m : ℕ
h : n < m
⊢ Chain' (fun a b => b = a.succ) (n :: Ico (n + 1) m)

tactic: exact chain_succ_range' _ _ 1
state_before: case pos
n m : ℕ
h : n < m
⊢ Chain' (fun a b => b = a.succ) (n :: Ico (n + 1) m)
state_after: no goals

tactic: rw [eq_nil_of_le (le_of_not_gt h)]
state_before: case neg
n m : ℕ
h : ¬n < m
⊢ Chain' (fun a b => b = a.succ) (Ico n m)
state_after: case neg
n m : ℕ
h : ¬n < m
⊢ Chain' (fun a b => b = a.succ) []

tactic: trivial
state_before: case neg
n m : ℕ
h : ¬n < m
⊢ Chain' (fun a b => b = a.succ) []
state_after: no goals
Theorem: List.foldr_fixed'
File: Mathlib/Data/List/Basic.lean

tactic: rw [foldr_cons, foldr_fixed' hf l, hf a]
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
f : α → β → β
b : β
hf : ∀ (a : α), f a b = b
a : α
l : List α
⊢ foldr f b (a :: l) = b
state_after: no goals
Theorem: iSup_range'
File: Mathlib/Order/CompleteLattice.lean

tactic: rw [iSup, iSup, ← image_eq_range, ← range_comp]
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g✝ : ι → α
g : β → α
f : ι → β
⊢ ⨆ b, g ↑b = ⨆ i, g (f i)
state_after: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g✝ : ι → α
g : β → α
f : ι → β
⊢ sSup (range (g ∘ f)) = sSup (range fun i => g (f i))

tactic: rfl
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f✝ g✝ : ι → α
g : β → α
f : ι → β
⊢ sSup (range (g ∘ f)) = sSup (range fun i => g (f i))
state_after: no goals
Theorem: IsScalarTower.of_algebraMap_eq
File: Mathlib/Algebra/Algebra/Tower.lean

tactic: simp_rw [Algebra.smul_def, RingHom.map_mul, mul_assoc, h]
state_before: R : Type u
S : Type v
A : Type w
B : Type u₁
M : Type v₁
inst✝⁷ : CommSemiring R
inst✝⁶ : CommSemiring S
inst✝⁵ : Semiring A
inst✝⁴ : Semiring B
inst✝³ : Algebra R S
inst✝² : Algebra S A
inst✝¹ : Algebra S B
inst✝ : Algebra R A
h : ∀ (x : R), (algebraMap R A) x = (algebraMap S A) ((algebraMap R S) x)
x : R
y : S
z : A
⊢ (x • y) • z = x • y • z
state_after: no goals
Theorem: ProbabilityTheory.condexp_ae_eq_integral_condexpKernel'
File: Mathlib/Probability/Kernel/Condexp.lean

tactic: have hX : @Measurable Ω Ω mΩ (m ⊓ mΩ) id := measurable_id.mono le_rfl (inf_le_right : m ⊓ mΩ ≤ mΩ)
state_before: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condexpKernel μ m) ω
state_after: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
hX : Measurable id
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condexpKernel μ m) ω

tactic: simp_rw [condexpKernel_apply_eq_condDistrib]
state_before: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
hX : Measurable id
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condexpKernel μ m) ω
state_after: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
hX : Measurable id
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condDistrib id id μ) (id ω)

tactic: have h := condexp_ae_eq_integral_condDistrib_id hX hf_int
state_before: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
hX : Measurable id
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condDistrib id id μ) (id ω)
state_after: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
hX : Measurable id
h : μ[f|MeasurableSpace.comap id (m ⊓ mΩ)] =ᶠ[ae μ] fun a => ∫ (y : Ω), f y ∂(condDistrib id id μ) (id a)
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condDistrib id id μ) (id ω)

tactic: simpa only [MeasurableSpace.comap_id, id_eq] using h
state_before: Ω : Type u_1
F : Type u_2
m mΩ : MeasurableSpace Ω
inst✝⁵ : StandardBorelSpace Ω
inst✝⁴ : Nonempty Ω
μ : Measure Ω
inst✝³ : IsFiniteMeasure μ
inst✝² : NormedAddCommGroup F
f : Ω → F
inst✝¹ : NormedSpace ℝ F
inst✝ : CompleteSpace F
hf_int : Integrable f μ
hX : Measurable id
h : μ[f|MeasurableSpace.comap id (m ⊓ mΩ)] =ᶠ[ae μ] fun a => ∫ (y : Ω), f y ∂(condDistrib id id μ) (id a)
⊢ μ[f|m ⊓ mΩ] =ᶠ[ae μ] fun ω => ∫ (y : Ω), f y ∂(condDistrib id id μ) (id ω)
state_after: no goals
Theorem: subset_balancedCore
File: Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean

tactic: rw [balancedCore_eq_iInter ht]
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
⊢ s ⊆ balancedCore 𝕜 t
state_after: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
⊢ s ⊆ ⋂ r, ⋂ (_ : 1 ≤ ‖r‖), r • t

tactic: refine subset_iInter₂ fun a ha => ?_
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
⊢ s ⊆ ⋂ r, ⋂ (_ : 1 ≤ ‖r‖), r • t
state_after: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ s ⊆ a • t

tactic: rw [← smul_inv_smul₀ (norm_pos_iff.mp <| zero_lt_one.trans_le ha) s]
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ s ⊆ a • t
state_after: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ a • a⁻¹ • s ⊆ a • t

tactic: refine smul_set_mono (hst _ ?_)
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ a • a⁻¹ • s ⊆ a • t
state_after: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ ‖a⁻¹‖ ≤ 1

tactic: rw [norm_inv]
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ ‖a⁻¹‖ ≤ 1
state_after: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ ‖a‖⁻¹ ≤ 1

tactic: exact inv_le_one ha
state_before: 𝕜 : Type u_1
E : Type u_2
ι : Type u_3
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
ht : 0 ∈ t
hst : ∀ (a : 𝕜), ‖a‖ ≤ 1 → a • s ⊆ t
a : 𝕜
ha : 1 ≤ ‖a‖
⊢ ‖a‖⁻¹ ≤ 1
state_after: no goals
Theorem: CliffordAlgebra.involute_comp_involute
File: Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean

tactic: ext
state_before: R : Type u_1
inst✝² : CommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
⊢ involute.comp involute = AlgHom.id R (CliffordAlgebra Q)
state_after: case a.h
R : Type u_1
inst✝² : CommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
x✝ : M
⊢ ((involute.comp involute).toLinearMap ∘ₗ ι Q) x✝ = ((AlgHom.id R (CliffordAlgebra Q)).toLinearMap ∘ₗ ι Q) x✝

tactic: simp
state_before: case a.h
R : Type u_1
inst✝² : CommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
x✝ : M
⊢ ((involute.comp involute).toLinearMap ∘ₗ ι Q) x✝ = ((AlgHom.id R (CliffordAlgebra Q)).toLinearMap ∘ₗ ι Q) x✝
state_after: no goals
Theorem: Real.tan_pi_div_four
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: rw [tan_eq_sin_div_cos, cos_pi_div_four, sin_pi_div_four]
state_before: ⊢ tan (π / 4) = 1
state_after: ⊢ √2 / 2 / (√2 / 2) = 1

tactic: have h : √2 / 2 > 0 := by positivity
state_before: ⊢ √2 / 2 / (√2 / 2) = 1
state_after: h : √2 / 2 > 0
⊢ √2 / 2 / (√2 / 2) = 1

tactic: exact div_self (ne_of_gt h)
state_before: h : √2 / 2 > 0
⊢ √2 / 2 / (√2 / 2) = 1
state_after: no goals

tactic: positivity
state_before: ⊢ √2 / 2 > 0
state_after: no goals
Theorem: Nat.mem_divisors
File: Mathlib/NumberTheory/Divisors.lean

tactic: rcases eq_or_ne m 0 with (rfl | hm)
state_before: n m : ℕ
⊢ n ∈ m.divisors ↔ n ∣ m ∧ m ≠ 0
state_after: case inl
n : ℕ
⊢ n ∈ divisors 0 ↔ n ∣ 0 ∧ 0 ≠ 0

case inr
n m : ℕ
hm : m ≠ 0
⊢ n ∈ m.divisors ↔ n ∣ m ∧ m ≠ 0

tactic: simp only [hm, Ne, not_false_iff, and_true_iff, ← filter_dvd_eq_divisors hm, mem_filter,
  mem_range, and_iff_right_iff_imp, Nat.lt_succ_iff]
state_before: case inr
n m : ℕ
hm : m ≠ 0
⊢ n ∈ m.divisors ↔ n ∣ m ∧ m ≠ 0
state_after: case inr
n m : ℕ
hm : m ≠ 0
⊢ n ∣ m → n ≤ m

tactic: exact le_of_dvd hm.bot_lt
state_before: case inr
n m : ℕ
hm : m ≠ 0
⊢ n ∣ m → n ≤ m
state_after: no goals

tactic: simp [divisors]
state_before: case inl
n : ℕ
⊢ n ∈ divisors 0 ↔ n ∣ 0 ∧ 0 ≠ 0
state_after: no goals
Theorem: contDiffWithinAt_of_subsingleton
File: Mathlib/Analysis/Calculus/ContDiff/Basic.lean

tactic: rw [Subsingleton.elim f fun _ => 0]
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_2
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
inst✝ : Subsingleton F
⊢ ContDiffWithinAt 𝕜 n f s x
state_after: 𝕜 : 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_2
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
inst✝ : Subsingleton F
⊢ ContDiffWithinAt 𝕜 n (fun x => 0) s x

tactic: exact contDiffWithinAt_const
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_2
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
inst✝ : Subsingleton F
⊢ ContDiffWithinAt 𝕜 n (fun x => 0) s x
state_after: no goals
Theorem: monotone_dual_iff
File: Mathlib/Order/Monotone/Basic.lean

tactic: rw [monotone_toDual_comp_iff, antitone_comp_ofDual_iff]
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
δ : Type u_2
π : ι → Type u_3
r : α → α → Prop
inst✝¹ : Preorder α
inst✝ : Preorder β
f : α → β
s : Set α
⊢ Monotone (⇑toDual ∘ f ∘ ⇑ofDual) ↔ Monotone f
state_after: no goals
Theorem: Real.cosh_log
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: rw [cosh_eq, exp_neg, exp_log hx]
state_before: x✝ y x : ℝ
hx : 0 < x
⊢ cosh (log x) = (x + x⁻¹) / 2
state_after: no goals
Theorem: Real.volume_pi_Ioo_toReal
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: simp only [volume_pi_Ioo, ENNReal.toReal_prod, ENNReal.toReal_ofReal (sub_nonneg.2 (h _))]
state_before: ι : Type u_1
inst✝ : Fintype ι
a b : ι → ℝ
h : a ≤ b
⊢ (volume (univ.pi fun i => Ioo (a i) (b i))).toReal = ∏ i : ι, (b i - a i)
state_after: no goals
Theorem: Prod.Lex.monotone_fst
File: Mathlib/Data/Prod/Lex.lean

tactic: cases (Prod.Lex.le_iff t c).mp h with
| inl h' => exact h'.le
| inr h' => exact h'.1.le
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Preorder α
inst✝ : LE β
t c : Lex (α × β)
h : t ≤ c
⊢ (ofLex t).1 ≤ (ofLex c).1
state_after: no goals

tactic: exact h'.le
state_before: case inl
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Preorder α
inst✝ : LE β
t c : Lex (α × β)
h : t ≤ c
h' : t.1 < c.1
⊢ (ofLex t).1 ≤ (ofLex c).1
state_after: no goals

tactic: exact h'.1.le
state_before: case inr
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Preorder α
inst✝ : LE β
t c : Lex (α × β)
h : t ≤ c
h' : t.1 = c.1 ∧ t.2 ≤ c.2
⊢ (ofLex t).1 ≤ (ofLex c).1
state_after: no goals
Theorem: Set.Ioo_union_right
File: Mathlib/Order/Interval/Set/Basic.lean

tactic: simpa only [dual_Ioo, dual_Ico] using Ioo_union_left hab.dual
state_before: α : Type u_1
β : Type u_2
inst✝ : PartialOrder α
a b c : α
hab : a < b
⊢ Ioo a b ∪ {b} = Ioc a b
state_after: no goals
Theorem: Multiset.erase_le_iff_le_cons
File: Mathlib/Data/Multiset/Basic.lean

tactic: rw [← cons_erase m] at h
state_before: α : Type u_1
β : Type v
γ : Type u_2
inst✝ : DecidableEq α
s✝ t✝ : Multiset α
a✝ b : α
s t : Multiset α
a : α
h : s ≤ a ::ₘ t
m : a ∈ s
⊢ s.erase a ≤ t
state_after: α : Type u_1
β : Type v
γ : Type u_2
inst✝ : DecidableEq α
s✝ t✝ : Multiset α
a✝ b : α
s t : Multiset α
a : α
h : a ::ₘ s.erase a ≤ a ::ₘ t
m : a ∈ s
⊢ s.erase a ≤ t

tactic: exact (cons_le_cons_iff _).1 h
state_before: α : Type u_1
β : Type v
γ : Type u_2
inst✝ : DecidableEq α
s✝ t✝ : Multiset α
a✝ b : α
s t : Multiset α
a : α
h : a ::ₘ s.erase a ≤ a ::ₘ t
m : a ∈ s
⊢ s.erase a ≤ t
state_after: no goals
Theorem: Set.image_subset
File: Mathlib/Data/Set/Image.lean

tactic: simp only [subset_def, mem_image]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : α → β
s t a b : Set α
f : α → β
h : a ⊆ b
⊢ f '' a ⊆ f '' b
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : α → β
s t a b : Set α
f : α → β
h : a ⊆ b
⊢ ∀ (x : β), (∃ x_1 ∈ a, f x_1 = x) → ∃ x_1 ∈ b, f x_1 = x

tactic: exact fun x => fun ⟨w, h1, h2⟩ => ⟨w, h h1, h2⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : α → β
s t a b : Set α
f : α → β
h : a ⊆ b
⊢ ∀ (x : β), (∃ x_1 ∈ a, f x_1 = x) → ∃ x_1 ∈ b, f x_1 = x
state_after: no goals
Theorem: convexJoin_singleton_left
File: Mathlib/Analysis/Convex/Join.lean

tactic: simp [convexJoin]
state_before: ι : Sort u_1
𝕜 : Type u_2
E : Type u_3
inst✝² : OrderedSemiring 𝕜
inst✝¹ : AddCommMonoid E
inst✝ : Module 𝕜 E
s t✝ s₁ s₂ t₁ t₂ u : Set E
x✝ y : E
t : Set E
x : E
⊢ convexJoin 𝕜 {x} t = ⋃ y ∈ t, segment 𝕜 x y
state_after: no goals
Theorem: List.merge_loop_nil_left
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: rw [merge.loop]
state_before: α : Type u_1
s : α → α → Bool
r t : List α
⊢ merge.loop s [] r t = t.reverseAux r
state_after: no goals
Theorem: cardinal_eq_of_isOpen
File: Mathlib/Topology/Algebra/Module/Cardinality.lean

tactic: rcases h's with ⟨x, hx⟩
state_before: E : Type u_1
𝕜 : Type u_2
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul 𝕜 E
s : Set E
hs : IsOpen s
h's : s.Nonempty
⊢ #↑s = #E
state_after: case intro
E : Type u_1
𝕜 : Type u_2
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul 𝕜 E
s : Set E
hs : IsOpen s
x : E
hx : x ∈ s
⊢ #↑s = #E

tactic: exact cardinal_eq_of_mem_nhds 𝕜 (hs.mem_nhds hx)
state_before: case intro
E : Type u_1
𝕜 : Type u_2
inst✝⁵ : NontriviallyNormedField 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : Module 𝕜 E
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul 𝕜 E
s : Set E
hs : IsOpen s
x : E
hx : x ∈ s
⊢ #↑s = #E
state_after: no goals