tasksource/leandojo huggingface dataset:
Theorem: UV.mem_of_mem_compression
File: Mathlib/Combinatorics/SetFamily/Compression/UV.lean

tactic: rw [mem_compression] at ha
state_before: α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b : α
ha : a ∈ 𝓒 u v s
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
⊢ a ∈ s

tactic: obtain ha | ⟨_, b, hb, h⟩ := ha
state_before: α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b : α
ha : a ∈ s ∧ compress u v a ∈ s ∨ ¬a ∈ s ∧ ∃ b, b ∈ s ∧ compress u v b = a
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
⊢ a ∈ s

tactic: unfold compress at h
state_before: case inr.intro.intro.intro
α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b✝ : α
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
left✝ : ¬a ∈ s
b : α
hb : b ∈ s
h : compress u v b = a
⊢ a ∈ s

tactic: split_ifs at h
state_before: case inr.intro.intro.intro
α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b✝ : α
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
left✝ : ¬a ∈ s
b : α
hb : b ∈ s
h : (if Disjoint u b ∧ v ≤ b then (b ⊔ u) \ v else b) = a
⊢ a ∈ s

tactic: exact ha.1
state_before: case inl
α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b : α
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
ha : a ∈ s ∧ compress u v a ∈ s
⊢ a ∈ s

tactic: rw [← h, le_sdiff_iff] at hva
state_before: case inr.intro.intro.intro.inl
α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b✝ : α
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
left✝ : ¬a ∈ s
b : α
hb : b ∈ s
h✝ : Disjoint u b ∧ v ≤ b
h : (b ⊔ u) \ v = a
⊢ a ∈ s

tactic: rwa [← h, hvu hva, hva, sup_bot_eq, sdiff_bot]
state_before: case inr.intro.intro.intro.inl
α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b✝ : α
hvu : v = ⊥ → u = ⊥
left✝ : ¬a ∈ s
b : α
hva : v = ⊥
hb : b ∈ s
h✝ : Disjoint u b ∧ v ≤ b
h : (b ⊔ u) \ v = a
⊢ a ∈ s

tactic: rwa [← h]
state_before: case inr.intro.intro.intro.inr
α : Type u_1
inst✝² : GeneralizedBooleanAlgebra α
inst✝¹ : DecidableRel Disjoint
inst✝ : DecidableRel fun x x_1 => x ≤ x_1
s : Finset α
u v a b✝ : α
hva : v ≤ a
hvu : v = ⊥ → u = ⊥
left✝ : ¬a ∈ s
b : α
hb : b ∈ s
h✝ : ¬(Disjoint u b ∧ v ≤ b)
h : b = a
⊢ a ∈ s
Theorem: mem_circle_iff_normSq
File: Mathlib/Analysis/Complex/Circle.lean

tactic: simp [Complex.abs]
state_before: z : ℂ
⊢ z ∈ circle ↔ ↑normSq z = 1
Theorem: Cubic.b_of_eq
File: Mathlib/Algebra/CubicDiscriminant.lean

tactic: rw [← coeff_eq_b, h, coeff_eq_b]
state_before: R : Type u_1
S : Type ?u.286658
F : Type ?u.286661
K : Type ?u.286664
P Q : Cubic R
a b c d a' b' c' d' : R
inst✝ : Semiring R
h : toPoly P = toPoly Q
⊢ P.b = Q.b
Theorem: Matrix.isHermitian_transpose_iff
File: Mathlib/LinearAlgebra/Matrix/Hermitian.lean

tactic: intro h
state_before: α : Type u_2
β : Type ?u.3927
m : Type ?u.3930
n : Type u_1
A✝ : Matrix n n α
inst✝¹ : Star α
inst✝ : Star β
A : Matrix n n α
⊢ IsHermitian Aᵀ → IsHermitian A

tactic: rw [← transpose_transpose A]
state_before: α : Type u_2
β : Type ?u.3927
m : Type ?u.3930
n : Type u_1
A✝ : Matrix n n α
inst✝¹ : Star α
inst✝ : Star β
A : Matrix n n α
h : IsHermitian Aᵀ
⊢ IsHermitian A

tactic: exact IsHermitian.transpose h
state_before: α : Type u_2
β : Type ?u.3927
m : Type ?u.3930
n : Type u_1
A✝ : Matrix n n α
inst✝¹ : Star α
inst✝ : Star β
A : Matrix n n α
h : IsHermitian Aᵀ
⊢ IsHermitian Aᵀᵀ
Theorem: List.Perm.foldr_eq
File: Mathlib/Data/List/Perm.lean

tactic: simp
state_before: α : Type uu
β : Type vv
l₁✝ l₂✝ : List α
f : α → β → β
l₁ l₂ : List α
lcomm : LeftCommutative f
p : l₁ ~ l₂
x : α
t₁ t₂ : List α
_p : t₁ ~ t₂
r : ∀ (b : β), foldr f b t₁ = foldr f b t₂
b : β
⊢ foldr f b (x :: t₁) = foldr f b (x :: t₂)

tactic: rw [r b]
state_before: α : Type uu
β : Type vv
l₁✝ l₂✝ : List α
f : α → β → β
l₁ l₂ : List α
lcomm : LeftCommutative f
p : l₁ ~ l₂
x : α
t₁ t₂ : List α
_p : t₁ ~ t₂
r : ∀ (b : β), foldr f b t₁ = foldr f b t₂
b : β
⊢ f x (foldr f b t₁) = f x (foldr f b t₂)

tactic: simp
state_before: α : Type uu
β : Type vv
l₁✝ l₂✝ : List α
f : α → β → β
l₁ l₂ : List α
lcomm : LeftCommutative f
p : l₁ ~ l₂
x y : α
t₁ t₂ : List α
_p : t₁ ~ t₂
r : ∀ (b : β), foldr f b t₁ = foldr f b t₂
b : β
⊢ foldr f b (y :: x :: t₁) = foldr f b (x :: y :: t₂)

tactic: rw [lcomm, r b]
state_before: α : Type uu
β : Type vv
l₁✝ l₂✝ : List α
f : α → β → β
l₁ l₂ : List α
lcomm : LeftCommutative f
p : l₁ ~ l₂
x y : α
t₁ t₂ : List α
_p : t₁ ~ t₂
r : ∀ (b : β), foldr f b t₁ = foldr f b t₂
b : β
⊢ f y (f x (foldr f b t₁)) = f x (f y (foldr f b t₂))
Theorem: ContDiffBump.integral_normed
File: Mathlib/Analysis/Calculus/BumpFunctionInner.lean

tactic: simp_rw [ContDiffBump.normed, div_eq_mul_inv, mul_comm (f _), ← smul_eq_mul, integral_smul]
state_before: E : Type u_1
X : Type ?u.1858193
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace ℝ E
inst✝⁷ : NormedAddCommGroup X
inst✝⁶ : NormedSpace ℝ X
inst✝⁵ : HasContDiffBump E
c : E
f : ContDiffBump c
x : E
n : ℕ∞
inst✝⁴ : MeasurableSpace E
μ : MeasureTheory.Measure E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsLocallyFiniteMeasure μ
inst✝ : Measure.IsOpenPosMeasure μ
⊢ (∫ (x : E), ContDiffBump.normed f μ x ∂μ) = 1

tactic: exact inv_mul_cancel f.integral_pos.ne'
state_before: E : Type u_1
X : Type ?u.1858193
inst✝⁹ : NormedAddCommGroup E
inst✝⁸ : NormedSpace ℝ E
inst✝⁷ : NormedAddCommGroup X
inst✝⁶ : NormedSpace ℝ X
inst✝⁵ : HasContDiffBump E
c : E
f : ContDiffBump c
x : E
n : ℕ∞
inst✝⁴ : MeasurableSpace E
μ : MeasureTheory.Measure E
inst✝³ : BorelSpace E
inst✝² : FiniteDimensional ℝ E
inst✝¹ : IsLocallyFiniteMeasure μ
inst✝ : Measure.IsOpenPosMeasure μ
⊢ ((∫ (x : E), ↑f x ∂μ)⁻¹ • ∫ (x : E), ↑f x ∂μ) = 1
Theorem: List.inits_eq_initsTR
File: Std/Data/List/Basic.lean

tactic: funext α l
state_before: ⊢ @inits = @initsTR

tactic: simp [initsTR]
state_before: case h.h
α : Type u_1
l : List α
⊢ inits l = initsTR l

tactic: induction l <;> simp [*, reverse_map]
state_before: case h.h
α : Type u_1
l : List α
⊢ inits l = reverse (foldr (fun a arrs => Array.push (Array.map (fun t => a :: t) arrs) []) #[[]] l).data
Theorem: LieIdeal.map_mono
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: rw [SetLike.le_def] at h
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂✝ : LieIdeal R L
J : LieIdeal R L'
I₁ I₂ : LieIdeal R L
h : I₁ ≤ I₂
⊢ map f I₁ ≤ map f I₂

tactic: apply LieSubmodule.lieSpan_mono (Set.image_subset (⇑f) h)
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂✝ : LieIdeal R L
J : LieIdeal R L'
I₁ I₂ : LieIdeal R L
h : ∀ ⦃x : L⦄, x ∈ I₁ → x ∈ I₂
⊢ map f I₁ ≤ map f I₂
Theorem: Nat.factorial_inj
File: Mathlib/Data/Nat/Factorial/Basic.lean

tactic: refine' ⟨fun h => _, congr_arg _⟩
state_before: m n : ℕ
hn : 1 < n !
⊢ n ! = m ! ↔ n = m

tactic: obtain hnm | rfl | hnm := lt_trichotomy n m
state_before: m n : ℕ
hn : 1 < n !
h : n ! = m !
⊢ n = m

tactic: rw [h, one_lt_factorial] at hn
state_before: case inr.inr
m n : ℕ
hn : 1 < n !
h : n ! = m !
hnm : m < n
⊢ n = m

tactic: rw [← factorial_lt (lt_trans one_pos hn), h] at hnm
state_before: case inr.inr
m n : ℕ
hn : 1 < m
h : n ! = m !
hnm : m < n
⊢ n = m

tactic: cases lt_irrefl _ hnm
state_before: case inr.inr
m n : ℕ
hn : 1 < m
h : n ! = m !
hnm : m ! < m !
⊢ n = m

tactic: rw [← factorial_lt <| pos_of_gt <| one_lt_factorial.mp hn, h] at hnm
state_before: case inl
m n : ℕ
hn : 1 < n !
h : n ! = m !
hnm : n < m
⊢ n = m

tactic: cases lt_irrefl _ hnm
state_before: case inl
m n : ℕ
hn : 1 < n !
h : n ! = m !
hnm : m ! < m !
⊢ n = m

tactic: rfl
state_before: case inr.inl
n : ℕ
hn : 1 < n !
h : n ! = n !
⊢ n = n
Theorem: zsmul_one
File: Mathlib/Algebra/GroupPower/Lemmas.lean

tactic: cases n <;> simp
state_before: α : Type ?u.84932
M : Type u
N : Type v
G : Type w
H : Type x
A : Type y
B : Type z
R : Type u₁
S : Type u₂
inst✝ : AddGroupWithOne A
n : ℤ
⊢ n • 1 = ↑n
Theorem: PosNum.bit0_of_bit0
File: Mathlib/Data/Num/Lemmas.lean

tactic: rw [bit0_of_bit0 p]
state_before: α : Type ?u.80889
p : PosNum
⊢ bit0 (succ (_root_.bit0 p)) = bit0 (bit1 p)

tactic: rfl
state_before: α : Type ?u.80889
p : PosNum
⊢ bit0 (succ (bit0 p)) = bit0 (bit1 p)
Theorem: Tactic.Elementwise.hom_elementwise
File: Mathlib/Tactic/CategoryTheory/Elementwise.lean

tactic: rw [h]
state_before: C : Type u_1
inst✝¹ : Category C
inst✝ : ConcreteCategory C
X Y : C
f g : X ⟶ Y
h : f = g
x : (forget C).obj X
⊢ (forget C).map f x = (forget C).map g x
Theorem: MeasureTheory.Integrable.add_measure
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: simp_rw [← memℒp_one_iff_integrable] at hμ hν⊢
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.839059
δ : Type ?u.839062
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
hμ : Integrable f
hν : Integrable f
⊢ Integrable f

tactic: refine' ⟨hμ.aestronglyMeasurable.add_measure hν.aestronglyMeasurable, _⟩
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.839059
δ : Type ?u.839062
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
hμ : Memℒp f 1
hν : Memℒp f 1
⊢ Memℒp f 1

tactic: rw [snorm_one_add_measure, ENNReal.add_lt_top]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.839059
δ : Type ?u.839062
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
hμ : Memℒp f 1
hν : Memℒp f 1
⊢ snorm f 1 (μ + ν) < ⊤

tactic: exact ⟨hμ.snorm_lt_top, hν.snorm_lt_top⟩
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.839059
δ : Type ?u.839062
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
hμ : Memℒp f 1
hν : Memℒp f 1
⊢ snorm f 1 μ < ⊤ ∧ snorm f 1 ν < ⊤
Theorem: List.toFinsupp_concat_eq_toFinsupp_add_single
File: Mathlib/Data/List/ToFinsupp.lean

tactic: classical rw [toFinsupp_append, toFinsupp_singleton, Finsupp.embDomain_single,
  addLeftEmbedding_apply, add_zero]
state_before: M : Type ?u.23867
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => getD l x 0 ≠ 0
n : ℕ
R : Type u_1
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun i => getD (xs ++ [x]) i 0 ≠ 0
inst✝ : DecidablePred fun i => getD xs i 0 ≠ 0
⊢ toFinsupp (xs ++ [x]) = toFinsupp xs + Finsupp.single (length xs) x

tactic: rw [toFinsupp_append, toFinsupp_singleton, Finsupp.embDomain_single,
addLeftEmbedding_apply, add_zero]
state_before: M : Type ?u.23867
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => getD l x 0 ≠ 0
n : ℕ
R : Type u_1
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun i => getD (xs ++ [x]) i 0 ≠ 0
inst✝ : DecidablePred fun i => getD xs i 0 ≠ 0
⊢ toFinsupp (xs ++ [x]) = toFinsupp xs + Finsupp.single (length xs) x
Theorem: IntermediateField.sInf_toSubalgebra
File: Mathlib/FieldTheory/Adjoin.lean

tactic: simp [Set.sUnion_image]
state_before: F : Type u_2
inst✝² : Field F
E : Type u_1
inst✝¹ : Field E
inst✝ : Algebra F E
S : Set (IntermediateField F E)
⊢ ↑(sInf S).toSubalgebra = ↑(sInf (toSubalgebra '' S))
Theorem: Path.Homotopy.eval_one
File: Mathlib/Topology/Homotopy/Path.lean

tactic: ext t
state_before: X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ x₂ x₃ : X
p₀ p₁ : Path x₀ x₁
F : Homotopy p₀ p₁
⊢ eval F 1 = p₁

tactic: simp [eval]
state_before: case a.h
X : Type u
Y : Type v
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
x₀ x₁ x₂ x₃ : X
p₀ p₁ : Path x₀ x₁
F : Homotopy p₀ p₁
t : ↑I
⊢ ↑(eval F 1) t = ↑p₁ t
Theorem: MvPolynomial.map_mapRange_eq_iff
File: Mathlib/Data/MvPolynomial/Basic.lean

tactic: rw [MvPolynomial.ext_iff]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ f : R →+* S₁
g : S₁ → R
hg : g 0 = 0
φ : MvPolynomial σ S₁
⊢ ↑(map f) (mapRange g hg φ) = φ ↔ ∀ (d : σ →₀ ℕ), ↑f (g (coeff d φ)) = coeff d φ

tactic: apply forall_congr'
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ f : R →+* S₁
g : S₁ → R
hg : g 0 = 0
φ : MvPolynomial σ S₁
⊢ (∀ (m : σ →₀ ℕ), coeff m (↑(map f) (mapRange g hg φ)) = coeff m φ) ↔ ∀ (d : σ →₀ ℕ), ↑f (g (coeff d φ)) = coeff d φ

tactic: intro m
state_before: case h
R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ f : R →+* S₁
g : S₁ → R
hg : g 0 = 0
φ : MvPolynomial σ S₁
⊢ ∀ (a : σ →₀ ℕ), coeff a (↑(map f) (mapRange g hg φ)) = coeff a φ ↔ ↑f (g (coeff a φ)) = coeff a φ

tactic: rw [coeff_map]
state_before: case h
R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m✝ : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ f : R →+* S₁
g : S₁ → R
hg : g 0 = 0
φ : MvPolynomial σ S₁
m : σ →₀ ℕ
⊢ coeff m (↑(map f) (mapRange g hg φ)) = coeff m φ ↔ ↑f (g (coeff m φ)) = coeff m φ

tactic: apply eq_iff_eq_cancel_right.mpr
state_before: case h
R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m✝ : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ f : R →+* S₁
g : S₁ → R
hg : g 0 = 0
φ : MvPolynomial σ S₁
m : σ →₀ ℕ
⊢ ↑f (coeff m (mapRange g hg φ)) = coeff m φ ↔ ↑f (g (coeff m φ)) = coeff m φ

tactic: rfl
state_before: case h.a
R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m✝ : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ f : R →+* S₁
g : S₁ → R
hg : g 0 = 0
φ : MvPolynomial σ S₁
m : σ →₀ ℕ
⊢ ↑f (coeff m (mapRange g hg φ)) = ↑f (g (coeff m φ))
Theorem: MeasureTheory.snormEssSup_zero
File: Mathlib/MeasureTheory/Function/LpSeminorm.lean

tactic: simp_rw [snormEssSup, Pi.zero_apply, nnnorm_zero, ENNReal.coe_zero, ← ENNReal.bot_eq_zero]
state_before: α : Type u_1
E : Type ?u.920015
F : Type u_2
G : Type ?u.920021
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
⊢ snormEssSup 0 μ = 0

tactic: exact essSup_const_bot
state_before: α : Type u_1
E : Type ?u.920015
F : Type u_2
G : Type ?u.920021
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
⊢ essSup (fun x => ⊥) μ = ⊥
Theorem: UniqueFactorizationMonoid.prime_of_factor
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: have ane0 := ne_zero_of_mem_factors hx
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a x : α
hx : x ∈ factors a
⊢ Prime x

tactic: rw [factors, dif_neg ane0] at hx
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a x : α
hx : x ∈ factors a
ane0 : a ≠ 0
⊢ Prime x

tactic: exact (Classical.choose_spec (UniqueFactorizationMonoid.exists_prime_factors a ane0)).1 x hx
state_before: α : Type u_1
inst✝² : CancelCommMonoidWithZero α
inst✝¹ : DecidableEq α
inst✝ : UniqueFactorizationMonoid α
a x : α
ane0 : a ≠ 0
hx : x ∈ Classical.choose (_ : ∃ f, (∀ (b : α), b ∈ f → Prime b) ∧ Multiset.prod f ~ᵤ a)
⊢ Prime x
Theorem: MeasureTheory.SimpleFunc.piecewise_empty
File: Mathlib/MeasureTheory/Function/SimpleFunc.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.42149
δ : Type ?u.42152
inst✝ : MeasurableSpace α
f g : α →ₛ β
⊢ ↑(piecewise ∅ (_ : MeasurableSet ∅) f g) = ↑g

tactic: convert Set.piecewise_empty f g
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.42149
δ : Type ?u.42152
inst✝ : MeasurableSpace α
f g : α →ₛ β
⊢ Set.piecewise ∅ ↑f ↑g = ↑g
Theorem: CategoryTheory.Limits.Cocones.cocone_iso_of_hom_iso
File: Mathlib/CategoryTheory/Limits/Cones.lean

tactic: aesop_cat
state_before: J : Type u₁
inst✝³ : Category J
K✝ : Type u₂
inst✝² : Category K✝
C : Type u₃
inst✝¹ : Category C
D : Type u₄
inst✝ : Category D
F K : J ⥤ C
c d : Cocone K
f : c ⟶ d
i : IsIso f.Hom
⊢ f ≫ CoconeMorphism.mk (inv f.Hom) = 𝟙 c ∧ CoconeMorphism.mk (inv f.Hom) ≫ f = 𝟙 d
Theorem: Quiver.Hom.cast_eq_cast
File: Mathlib/Combinatorics/Quiver/Cast.lean

tactic: subst_vars
state_before: U : Type u_1
inst✝ : Quiver U
u v u' v' : U
hu : u = u'
hv : v = v'
e : u ⟶ v
⊢ cast hu hv e = _root_.cast (_ : (u ⟶ v) = (u' ⟶ v')) e

tactic: rfl
state_before: U : Type u_1
inst✝ : Quiver U
u' v' : U
e : u' ⟶ v'
⊢ cast (_ : u' = u') (_ : v' = v') e = _root_.cast (_ : (u' ⟶ v') = (u' ⟶ v')) e
Theorem: differentiableAt_dslope_of_ne
File: Mathlib/Analysis/Calculus/Dslope.lean

tactic: simp only [← differentiableWithinAt_univ, differentiableWithinAt_dslope_of_ne h]
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝² : NontriviallyNormedField 𝕜
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f : 𝕜 → E
a b : 𝕜
s : Set 𝕜
h : b ≠ a
⊢ DifferentiableAt 𝕜 (dslope f a) b ↔ DifferentiableAt 𝕜 f b
Theorem: PiLp.infty_equiv_isometry
File: Mathlib/Analysis/NormedSpace/PiLp.lean

tactic: simpa only [ENNReal.coe_one, one_mul] using lipschitzWith_equiv ∞ β x y
state_before: p : ℝ≥0∞
𝕜 : Type ?u.215698
𝕜' : Type ?u.215701
ι : Type u_2
α : ι → Type ?u.215709
β : ι → Type u_1
inst✝² : Fintype ι
inst✝¹ : Fact (1 ≤ p)
inst✝ : (i : ι) → PseudoEMetricSpace (β i)
x y : PiLp ⊤ β
⊢ edist (↑(PiLp.equiv ⊤ β) x) (↑(PiLp.equiv ⊤ β) y) ≤ edist x y

tactic: simpa only [ENNReal.div_top, ENNReal.zero_toReal, NNReal.rpow_zero, ENNReal.coe_one,
  one_mul] using antilipschitzWith_equiv ∞ β x y
state_before: p : ℝ≥0∞
𝕜 : Type ?u.215698
𝕜' : Type ?u.215701
ι : Type u_2
α : ι → Type ?u.215709
β : ι → Type u_1
inst✝² : Fintype ι
inst✝¹ : Fact (1 ≤ p)
inst✝ : (i : ι) → PseudoEMetricSpace (β i)
x y : PiLp ⊤ β
⊢ edist x y ≤ edist (↑(PiLp.equiv ⊤ β) x) (↑(PiLp.equiv ⊤ β) y)
Theorem: Part.inv_mem_inv
File: Mathlib/Data/Part.lean

tactic: simp [inv_def]
state_before: α : Type u_1
β : Type ?u.58569
γ : Type ?u.58572
inst✝ : Inv α
a : Part α
ma : α
ha : ma ∈ a
⊢ ma⁻¹ ∈ a⁻¹

tactic: aesop
state_before: α : Type u_1
β : Type ?u.58569
γ : Type ?u.58572
inst✝ : Inv α
a : Part α
ma : α
ha : ma ∈ a
⊢ ∃ a_1, a_1 ∈ a ∧ a_1⁻¹ = ma⁻¹
Theorem: DoubleCentralizer.norm_fst
File: Mathlib/Analysis/NormedSpace/Star/Multiplier.lean

tactic: simp only [norm_def, toProdHom_apply, Prod.norm_def, norm_fst_eq_snd, max_eq_right le_rfl]
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NonUnitalNormedRing A
inst✝⁴ : NormedSpace 𝕜 A
inst✝³ : SMulCommClass 𝕜 A A
inst✝² : IsScalarTower 𝕜 A A
inst✝¹ : StarRing A
inst✝ : CstarRing A
a : 𝓜(𝕜, A)
⊢ ‖a.fst‖ = ‖a‖
Theorem: AlgebraicTopology.DoldKan.PInfty_idem
File: Mathlib/AlgebraicTopology/DoldKan/PInfty.lean

tactic: ext n
state_before: C : Type u_2
inst✝¹ : Category C
inst✝ : Preadditive C
X : SimplicialObject C
⊢ PInfty ≫ PInfty = PInfty

tactic: exact PInfty_f_idem n
state_before: case h
C : Type u_2
inst✝¹ : Category C
inst✝ : Preadditive C
X : SimplicialObject C
n : ℕ
⊢ HomologicalComplex.Hom.f (PInfty ≫ PInfty) n = HomologicalComplex.Hom.f PInfty n
Theorem: Ideal.span_singleton_eq_span_singleton
File: Mathlib/RingTheory/Ideal/Basic.lean

tactic: rw [← dvd_dvd_iff_associated, le_antisymm_iff, and_comm]
state_before: α✝ : Type u
β : Type v
a b : α✝
inst✝² : CommSemiring α✝
I : Ideal α✝
α : Type u
inst✝¹ : CommRing α
inst✝ : IsDomain α
x y : α
⊢ span {x} = span {y} ↔ Associated x y

tactic: apply and_congr <;> rw [span_singleton_le_span_singleton]
state_before: α✝ : Type u
β : Type v
a b : α✝
inst✝² : CommSemiring α✝
I : Ideal α✝
α : Type u
inst✝¹ : CommRing α
inst✝ : IsDomain α
x y : α
⊢ span {y} ≤ span {x} ∧ span {x} ≤ span {y} ↔ x ∣ y ∧ y ∣ x
Theorem: Asymptotics.IsBigO.smul
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: intros
state_before: case refine'_2
α : Type u_1
β : Type ?u.566716
E : Type ?u.566719
F : Type ?u.566722
G : Type ?u.566725
E' : Type u_4
F' : Type u_5
G' : Type ?u.566734
E'' : Type ?u.566737
F'' : Type ?u.566740
G'' : Type ?u.566743
R : Type ?u.566746
R' : Type ?u.566749
𝕜 : Type u_2
𝕜' : Type u_3
inst✝¹⁴ : Norm E
inst✝¹³ : Norm F
inst✝¹² : Norm G
inst✝¹¹ : SeminormedAddCommGroup E'
inst✝¹⁰ : SeminormedAddCommGroup F'
inst✝⁹ : SeminormedAddCommGroup G'
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedAddCommGroup F''
inst✝⁶ : NormedAddCommGroup G''
inst✝⁵ : SeminormedRing R
inst✝⁴ : SeminormedRing R'
inst✝³ : NormedField 𝕜
inst✝² : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
inst✝¹ : NormedSpace 𝕜 E'
inst✝ : NormedSpace 𝕜' F'
k₁ : α → 𝕜
k₂ : α → 𝕜'
h₁ : k₁ =O[l] k₂
h₂ : f' =O[l] g'
⊢ ∀ (x : α), ‖k₂ x‖ * ‖g' x‖ = ‖k₂ x • g' x‖

tactic: simp only [norm_smul]
state_before: case refine'_2
α : Type u_1
β : Type ?u.566716
E : Type ?u.566719
F : Type ?u.566722
G : Type ?u.566725
E' : Type u_4
F' : Type u_5
G' : Type ?u.566734
E'' : Type ?u.566737
F'' : Type ?u.566740
G'' : Type ?u.566743
R : Type ?u.566746
R' : Type ?u.566749
𝕜 : Type u_2
𝕜' : Type u_3
inst✝¹⁴ : Norm E
inst✝¹³ : Norm F
inst✝¹² : Norm G
inst✝¹¹ : SeminormedAddCommGroup E'
inst✝¹⁰ : SeminormedAddCommGroup F'
inst✝⁹ : SeminormedAddCommGroup G'
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedAddCommGroup F''
inst✝⁶ : NormedAddCommGroup G''
inst✝⁵ : SeminormedRing R
inst✝⁴ : SeminormedRing R'
inst✝³ : NormedField 𝕜
inst✝² : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
inst✝¹ : NormedSpace 𝕜 E'
inst✝ : NormedSpace 𝕜' F'
k₁ : α → 𝕜
k₂ : α → 𝕜'
h₁ : k₁ =O[l] k₂
h₂ : f' =O[l] g'
x✝ : α
⊢ ‖k₂ x✝‖ * ‖g' x✝‖ = ‖k₂ x✝ • g' x✝‖
Theorem: Set.image_const_sub_Ici
File: Mathlib/Data/Set/Pointwise/Interval.lean

tactic: have := image_comp (fun x => a + x) fun x => -x
state_before: α : Type u_1
inst✝ : OrderedAddCommGroup α
a b c : α
⊢ (fun x => a - x) '' Ici b = Iic (a - b)

tactic: dsimp [Function.comp] at this
state_before: α : Type u_1
inst✝ : OrderedAddCommGroup α
a b c : α
this : ∀ (a_1 : Set α), ((fun x => a + x) ∘ fun x => -x) '' a_1 = (fun x => a + x) '' ((fun x => -x) '' a_1)
⊢ (fun x => a - x) '' Ici b = Iic (a - b)

tactic: simp [sub_eq_add_neg, this, add_comm]
state_before: α : Type u_1
inst✝ : OrderedAddCommGroup α
a b c : α
this : ∀ (a_1 : Set α), (fun x => a + -x) '' a_1 = (fun x => a + x) '' ((fun x => -x) '' a_1)
⊢ (fun x => a - x) '' Ici b = Iic (a - b)
Theorem: Set.Finite.upperClosure
File: Mathlib/Order/UpperLower/LocallyFinite.lean

tactic: rw [coe_upperClosure]
state_before: α : Type u_1
inst✝¹ : Preorder α
s : Set α
inst✝ : LocallyFiniteOrderTop α
hs : Set.Finite s
⊢ Set.Finite ↑(upperClosure s)

tactic: exact hs.biUnion fun _ _ => finite_Ici _
state_before: α : Type u_1
inst✝¹ : Preorder α
s : Set α
inst✝ : LocallyFiniteOrderTop α
hs : Set.Finite s
⊢ Set.Finite (⋃ (a : α) (_ : a ∈ s), Ici a)
Theorem: List.isRotated_reverse_comm_iff
File: Mathlib/Data/List/Rotate.lean

tactic: intro h
state_before: case mpr
α : Type u
l l' : List α
⊢ l ~r reverse l' → reverse l ~r l'

tactic: simpa using h.reverse
state_before: case mpr
α : Type u
l l' : List α
h : l ~r reverse l'
⊢ reverse l ~r l'