tasksource/leandojo huggingface dataset:
Theorem: MvPolynomial.support_map_subset
File: Mathlib/Data/MvPolynomial/Basic.lean

tactic: intro x
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 : R →+* S₁
p : MvPolynomial σ R
⊢ support (↑(map f) p) ⊆ support p

tactic: simp only [mem_support_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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
⊢ x ∈ support (↑(map f) p) → x ∈ support p

tactic: contrapose!
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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
⊢ coeff x (↑(map f) p) ≠ 0 → coeff x p ≠ 0

tactic: change p.coeff x = 0 → (map f p).coeff x = 0
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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
⊢ coeff x p = 0 → coeff x (↑(map f) p) = 0

tactic: rw [coeff_map]
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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
⊢ coeff x p = 0 → coeff x (↑(map f) p) = 0

tactic: intro hx
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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
⊢ coeff x p = 0 → ↑f (coeff x p) = 0

tactic: rw [hx]
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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
hx : coeff x p = 0
⊢ ↑f (coeff x p) = 0

tactic: exact RingHom.map_zero f
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 : R →+* S₁
p : MvPolynomial σ R
x : σ →₀ ℕ
hx : coeff x p = 0
⊢ ↑f 0 = 0
Theorem: Int.closedBall_eq_Icc
File: Mathlib/Topology/Instances/Int.lean

tactic: rw [← preimage_closedBall, Real.closedBall_eq_Icc, preimage_Icc]
state_before: x : ℤ
r : ℝ
⊢ closedBall x r = Icc ⌈↑x - r⌉ ⌊↑x + r⌋
Theorem: SameRay.exists_nonneg_left
File: Mathlib/LinearAlgebra/Ray.lean

tactic: obtain rfl | hy := eq_or_ne y 0
state_before: R : Type u_1
inst✝² : LinearOrderedField R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
x y v₁ v₂ : M
h : SameRay R x y
hx : x ≠ 0
⊢ ∃ r, 0 ≤ r ∧ r • x = y

tactic: exact ⟨0, le_rfl, zero_smul _ _⟩
state_before: case inl
R : Type u_1
inst✝² : LinearOrderedField R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
x v₁ v₂ : M
hx : x ≠ 0
h : SameRay R x 0
⊢ ∃ r, 0 ≤ r ∧ r • x = 0

tactic: exact (h.exists_pos_left hx hy).imp fun _ => And.imp_left le_of_lt
state_before: case inr
R : Type u_1
inst✝² : LinearOrderedField R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
x y v₁ v₂ : M
h : SameRay R x y
hx : x ≠ 0
hy : y ≠ 0
⊢ ∃ r, 0 ≤ r ∧ r • x = y
Theorem: Seminorm.ball_finset_sup'
File: Mathlib/Analysis/Seminorm.lean

tactic: induction' H using Finset.Nonempty.cons_induction with a a s ha hs ih
state_before: R : Type ?u.865125
R' : Type ?u.865128
𝕜 : Type u_1
𝕜₂ : Type ?u.865134
𝕜₃ : Type ?u.865137
𝕝 : Type ?u.865140
E : Type u_2
E₂ : Type ?u.865146
E₃ : Type ?u.865149
F : Type ?u.865152
G : Type ?u.865155
ι : Type u_3
inst✝² : SeminormedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
p✝ : Seminorm 𝕜 E
x y : E
r✝ : ℝ
p : ι → Seminorm 𝕜 E
s : Finset ι
H : Finset.Nonempty s
e : E
r : ℝ
⊢ ball (Finset.sup' s H p) e r = Finset.inf' s H fun i => ball (p i) e r

tactic: classical simp
state_before: case h₀
R : Type ?u.865125
R' : Type ?u.865128
𝕜 : Type u_1
𝕜₂ : Type ?u.865134
𝕜₃ : Type ?u.865137
𝕝 : Type ?u.865140
E : Type u_2
E₂ : Type ?u.865146
E₃ : Type ?u.865149
F : Type ?u.865152
G : Type ?u.865155
ι : Type u_3
inst✝² : SeminormedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
p✝ : Seminorm 𝕜 E
x y : E
r✝ : ℝ
p : ι → Seminorm 𝕜 E
s : Finset ι
e : E
r : ℝ
a : ι
⊢ ball (Finset.sup' {a} (_ : Finset.Nonempty {a}) p) e r =
    Finset.inf' {a} (_ : Finset.Nonempty {a}) fun i => ball (p i) e r

tactic: simp
state_before: case h₀
R : Type ?u.865125
R' : Type ?u.865128
𝕜 : Type u_1
𝕜₂ : Type ?u.865134
𝕜₃ : Type ?u.865137
𝕝 : Type ?u.865140
E : Type u_2
E₂ : Type ?u.865146
E₃ : Type ?u.865149
F : Type ?u.865152
G : Type ?u.865155
ι : Type u_3
inst✝² : SeminormedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
p✝ : Seminorm 𝕜 E
x y : E
r✝ : ℝ
p : ι → Seminorm 𝕜 E
s : Finset ι
e : E
r : ℝ
a : ι
⊢ ball (Finset.sup' {a} (_ : Finset.Nonempty {a}) p) e r =
    Finset.inf' {a} (_ : Finset.Nonempty {a}) fun i => ball (p i) e r

tactic: rw [Finset.sup'_cons hs, Finset.inf'_cons hs, ball_sup]
state_before: case h₁
R : Type ?u.865125
R' : Type ?u.865128
𝕜 : Type u_1
𝕜₂ : Type ?u.865134
𝕜₃ : Type ?u.865137
𝕝 : Type ?u.865140
E : Type u_2
E₂ : Type ?u.865146
E₃ : Type ?u.865149
F : Type ?u.865152
G : Type ?u.865155
ι : Type u_3
inst✝² : SeminormedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
p✝ : Seminorm 𝕜 E
x y : E
r✝ : ℝ
p : ι → Seminorm 𝕜 E
s✝ : Finset ι
e : E
r : ℝ
a : ι
s : Finset ι
ha : ¬a ∈ s
hs : Finset.Nonempty s
ih : ball (Finset.sup' s hs p) e r = Finset.inf' s hs fun i => ball (p i) e r
⊢ ball (Finset.sup' (Finset.cons a s ha) (_ : Finset.Nonempty (Finset.cons a s ha)) p) e r =
    Finset.inf' (Finset.cons a s ha) (_ : Finset.Nonempty (Finset.cons a s ha)) fun i => ball (p i) e r

tactic: simp only [inf_eq_inter, ih]
state_before: case h₁
R : Type ?u.865125
R' : Type ?u.865128
𝕜 : Type u_1
𝕜₂ : Type ?u.865134
𝕜₃ : Type ?u.865137
𝕝 : Type ?u.865140
E : Type u_2
E₂ : Type ?u.865146
E₃ : Type ?u.865149
F : Type ?u.865152
G : Type ?u.865155
ι : Type u_3
inst✝² : SeminormedRing 𝕜
inst✝¹ : AddCommGroup E
inst✝ : SMul 𝕜 E
p✝ : Seminorm 𝕜 E
x y : E
r✝ : ℝ
p : ι → Seminorm 𝕜 E
s✝ : Finset ι
e : E
r : ℝ
a : ι
s : Finset ι
ha : ¬a ∈ s
hs : Finset.Nonempty s
ih : ball (Finset.sup' s hs p) e r = Finset.inf' s hs fun i => ball (p i) e r
⊢ ball (p a) e r ∩ ball (Finset.sup' s hs p) e r = ball (p a) e r ⊓ Finset.inf' s hs fun i => ball (p i) e r
Theorem: MeasureTheory.setToFun_indicator_const
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: rw [setToFun_congr_ae hT (@indicatorConstLp_coeFn _ _ _ 1 _ _ _ hs hμs x).symm]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1503019
G : Type ?u.1503022
𝕜 : Type ?u.1503025
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f g : α → E
hT : DominatedFinMeasAdditive μ T C
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : E
⊢ setToFun μ T hT (indicator s fun x_1 => x) = ↑(T s) x

tactic: rw [L1.setToFun_eq_setToL1 hT]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1503019
G : Type ?u.1503022
𝕜 : Type ?u.1503025
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f g : α → E
hT : DominatedFinMeasAdditive μ T C
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : E
⊢ setToFun μ T hT ↑↑(indicatorConstLp 1 hs hμs x) = ↑(T s) x

tactic: exact L1.setToL1_indicatorConstLp hT hs hμs x
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type ?u.1503019
G : Type ?u.1503022
𝕜 : Type ?u.1503025
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
inst✝ : CompleteSpace F
T T' T'' : Set α → E →L[ℝ] F
C C' C'' : ℝ
f g : α → E
hT : DominatedFinMeasAdditive μ T C
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
x : E
⊢ ↑(L1.setToL1 hT) (indicatorConstLp 1 hs hμs x) = ↑(T s) x
Theorem: Set.image2_eq_iUnion
File: Mathlib/Data/Set/Lattice.lean

tactic: simp_rw [← image_eq_iUnion, iUnion_image_left]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.256231
ι' : Sort ?u.256234
ι₂ : Sort ?u.256237
κ : ι → Sort ?u.256242
κ₁ : ι → Sort ?u.256247
κ₂ : ι → Sort ?u.256252
κ' : ι' → Sort ?u.256257
f : α → β → γ
s✝ : Set α
t✝ : Set β
s : Set α
t : Set β
⊢ image2 f s t = ⋃ (i : α) (_ : i ∈ s) (j : β) (_ : j ∈ t), {f i j}
Theorem: LieSubmodule.comap_map_eq
File: Mathlib/Algebra/Lie/IdealOperations.lean

tactic: rw [SetLike.ext'_iff]
state_before: R : Type u
L : Type v
M : Type w
M₂ : Type w₁
inst✝¹⁰ : CommRing R
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₂
N N' : LieSubmodule R L M
I J : LieIdeal R L
N₂ : LieSubmodule R L M₂
f : M →ₗ⁅R,L⁆ M₂
hf : LieModuleHom.ker f = ⊥
⊢ comap f (map f N) = N

tactic: exact (N : Set M).preimage_image_eq (f.ker_eq_bot.mp hf)
state_before: R : Type u
L : Type v
M : Type w
M₂ : Type w₁
inst✝¹⁰ : CommRing R
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₂
N N' : LieSubmodule R L M
I J : LieIdeal R L
N₂ : LieSubmodule R L M₂
f : M →ₗ⁅R,L⁆ M₂
hf : LieModuleHom.ker f = ⊥
⊢ ↑(comap f (map f N)) = ↑N
Theorem: SemidirectProduct.rightHom_comp_inr
File: Mathlib/GroupTheory/SemidirectProduct.lean

tactic: ext
state_before: N : Type u_2
G : Type u_1
H : Type ?u.109697
inst✝² : Group N
inst✝¹ : Group G
inst✝ : Group H
φ : G →* MulAut N
⊢ MonoidHom.comp rightHom inr = MonoidHom.id G

tactic: simp [rightHom]
state_before: case h
N : Type u_2
G : Type u_1
H : Type ?u.109697
inst✝² : Group N
inst✝¹ : Group G
inst✝ : Group H
φ : G →* MulAut N
x✝ : G
⊢ ↑(MonoidHom.comp rightHom inr) x✝ = ↑(MonoidHom.id G) x✝
Theorem: List.unzip_left
File: Mathlib/Data/List/Zip.lean

tactic: simp only [unzip_eq_map]
state_before: α : Type u
β : Type u_1
γ : Type ?u.84917
δ : Type ?u.84920
ε : Type ?u.84923
l : List (α × β)
⊢ (unzip l).fst = map Prod.fst l
Theorem: finrank_euclideanSpace
File: Mathlib/Analysis/InnerProductSpace/PiL2.lean

tactic: simp [EuclideanSpace, PiLp]
state_before: ι : Type u_2
ι' : Type ?u.75574
𝕜 : Type u_1
inst✝⁹ : IsROrC 𝕜
E : Type ?u.75583
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : InnerProductSpace 𝕜 E
E' : Type ?u.75603
inst✝⁶ : NormedAddCommGroup E'
inst✝⁵ : InnerProductSpace 𝕜 E'
F : Type ?u.75621
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
F' : Type ?u.75641
inst✝² : NormedAddCommGroup F'
inst✝¹ : InnerProductSpace ℝ F'
inst✝ : Fintype ι
⊢ FiniteDimensional.finrank 𝕜 (EuclideanSpace 𝕜 ι) = Fintype.card ι
Theorem: Asymptotics.isLittleO_one_iff
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: simp only [isLittleO_iff, norm_one, mul_one, Metric.nhds_basis_closedBall.tendsto_right_iff,
  Metric.mem_closedBall, dist_zero_right]
state_before: α : Type u_1
β : Type ?u.294672
E : Type ?u.294675
F : Type u_3
G : Type ?u.294681
E' : Type u_2
F' : Type ?u.294687
G' : Type ?u.294690
E'' : Type ?u.294693
F'' : Type ?u.294696
G'' : Type ?u.294699
R : Type ?u.294702
R' : Type ?u.294705
𝕜 : Type ?u.294708
𝕜' : Type ?u.294711
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✝¹ : One F
inst✝ : NormOneClass F
⊢ (f' =o[l] fun _x => 1) ↔ Tendsto f' l (𝓝 0)
Theorem: LocalEquiv.trans_refl_restr
File: Mathlib/Logic/Equiv/LocalEquiv.lean

tactic: simp [trans_source]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.48193
δ : Type ?u.48196
e : LocalEquiv α β
e' : LocalEquiv β γ
s : Set β
⊢ (LocalEquiv.trans e (LocalEquiv.restr (LocalEquiv.refl β) s)).source = (LocalEquiv.restr e (↑e ⁻¹' s)).source
Theorem: Stream'.iterate_id
File: Mathlib/Data/Stream/Init.lean

tactic: rw [tail_iterate, tail_const]
state_before: α : Type u
β✝ : Type v
δ : Type w
a : α
β : Type u
fr : Stream' α → β
ch : fr (iterate id a) = fr (const a)
⊢ fr (tail (iterate id a)) = fr (tail (const a))

tactic: exact ch
state_before: α : Type u
β✝ : Type v
δ : Type w
a : α
β : Type u
fr : Stream' α → β
ch : fr (iterate id a) = fr (const a)
⊢ fr (iterate id (id a)) = fr (const a)
Theorem: Subgroup.inf_relindex_left
File: Mathlib/GroupTheory/Index.lean

tactic: rw [inf_comm, inf_relindex_right]
state_before: G : Type u_1
inst✝ : Group G
H K L : Subgroup G
⊢ relindex (H ⊓ K) H = relindex K H
Theorem: Finset.prod_prod_Ioi_mul_eq_prod_prod_off_diag
File: Mathlib/Data/Finset/LocallyFinite.lean

tactic: simp_rw [← Ioi_disjUnion_Iio, prod_disjUnion, prod_mul_distrib]
state_before: ι : Type u_1
α : Type u_2
inst✝⁴ : Fintype ι
inst✝³ : LinearOrder ι
inst✝² : LocallyFiniteOrderTop ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : CommMonoid α
f : ι → ι → α
⊢ ∏ i : ι, ∏ j in Ioi i, f j i * f i j = ∏ i : ι, ∏ j in {i}ᶜ, f j i

tactic: congr 1
state_before: ι : Type u_1
α : Type u_2
inst✝⁴ : Fintype ι
inst✝³ : LinearOrder ι
inst✝² : LocallyFiniteOrderTop ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : CommMonoid α
f : ι → ι → α
⊢ (∏ x : ι, ∏ x_1 in Ioi x, f x_1 x) * ∏ x : ι, ∏ x_1 in Ioi x, f x x_1 =
    (∏ x : ι, ∏ x_1 in Ioi x, f x_1 x) * ∏ x : ι, ∏ x_1 in Iio x, f x_1 x

tactic: rw [prod_sigma', prod_sigma']
state_before: case e_a
ι : Type u_1
α : Type u_2
inst✝⁴ : Fintype ι
inst✝³ : LinearOrder ι
inst✝² : LocallyFiniteOrderTop ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : CommMonoid α
f : ι → ι → α
⊢ ∏ x : ι, ∏ x_1 in Ioi x, f x x_1 = ∏ x : ι, ∏ x_1 in Iio x, f x_1 x

tactic: refine' prod_bij' (fun i _ => ⟨i.2, i.1⟩) _ _ (fun i _ => ⟨i.2, i.1⟩) _ _ _ <;> simp
state_before: case e_a
ι : Type u_1
α : Type u_2
inst✝⁴ : Fintype ι
inst✝³ : LinearOrder ι
inst✝² : LocallyFiniteOrderTop ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : CommMonoid α
f : ι → ι → α
⊢ ∏ x in Finset.sigma univ fun x => Ioi x, f x.fst x.snd = ∏ x in Finset.sigma univ fun x => Iio x, f x.snd x.fst
Theorem: ENNReal.coe_inv_le
File: Mathlib/Data/Real/ENNReal.lean

tactic: rintro b rfl
state_before: α : Type ?u.217125
β : Type ?u.217128
a b✝ c d : ℝ≥0∞
r p q : ℝ≥0
b : ℝ≥0∞
hb : 1 ≤ ↑r * b
⊢ ∀ (p : ℝ≥0), b = ↑p → r⁻¹ ≤ p

tactic: apply NNReal.inv_le_of_le_mul
state_before: α : Type ?u.217125
β : Type ?u.217128
a b✝ c d : ℝ≥0∞
r p q b : ℝ≥0
hb : 1 ≤ ↑r * ↑b
⊢ r⁻¹ ≤ b

tactic: rwa [← coe_mul, ← coe_one, coe_le_coe] at hb
state_before: case h
α : Type ?u.217125
β : Type ?u.217128
a b✝ c d : ℝ≥0∞
r p q b : ℝ≥0
hb : 1 ≤ ↑r * ↑b
⊢ 1 ≤ r * b
Theorem: Equiv.removeNone_aux_none
File: Mathlib/Logic/Equiv/Option.lean

tactic: simp [removeNone_aux, Option.not_isSome_iff_eq_none.mpr h]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.2701
e : Option α ≃ Option β
x : α
h : ↑e (some x) = none
⊢ some (removeNone_aux e x) = ↑e none
Theorem: Rat.divInt_div_divInt_cancel_right
File: Mathlib/Data/Rat/Defs.lean

tactic: rw [div_eq_mul_inv, inv_def', mul_comm, divInt_mul_divInt_cancel hx]
state_before: a b c : ℚ
x : ℤ
hx : x ≠ 0
n d : ℤ
⊢ x /. n / (x /. d) = d /. n
Theorem: MeasureTheory.Measure.measurable_of_measurable_coe
File: Mathlib/MeasureTheory/Measure/GiryMonad.lean

tactic: rw [MeasurableSpace.map_comp]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : β → Measure α
h : ∀ (s : Set α), MeasurableSet s → Measurable fun b => ↑↑(f b) s
s : Set α
hs : MeasurableSet s
⊢ borel ℝ≥0∞ ≤ MeasurableSpace.map (fun μ => ↑↑μ s) (MeasurableSpace.map f inst✝)

tactic: exact h s hs
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : β → Measure α
h : ∀ (s : Set α), MeasurableSet s → Measurable fun b => ↑↑(f b) s
s : Set α
hs : MeasurableSet s
⊢ borel ℝ≥0∞ ≤ MeasurableSpace.map ((fun μ => ↑↑μ s) ∘ f) inst✝
Theorem: Polynomial.reflect_neg
File: Mathlib/Data/Polynomial/Reverse.lean

tactic: rw [neg_eq_neg_one_mul, ← C_1, ← C_neg, reflect_C_mul, C_neg, C_1, ← neg_eq_neg_one_mul]
state_before: R : Type u_1
inst✝ : Ring R
f : R[X]
N : ℕ
⊢ reflect N (-f) = -reflect N f
Theorem: Polynomial.ne_zero_of_trailingDegree_lt
File: Mathlib/Data/Polynomial/Degree/TrailingDegree.lean

tactic: simp [h₀]
state_before: R : Type u
S : Type v
a b : R
n✝ m : ℕ
inst✝ : Semiring R
p q : R[X]
ι : Type ?u.130658
n : ℕ∞
h : trailingDegree p < n
h₀ : p = 0
⊢ n ≤ trailingDegree p
Theorem: CategoryTheory.ε_app_obj
File: Mathlib/CategoryTheory/Monoidal/End.lean

tactic: refine' Eq.trans _ (Category.id_comp _)
state_before: C : Type u
inst✝² : Category C
M : Type u_2
inst✝¹ : Category M
inst✝ : MonoidalCategory M
F : MonoidalFunctor M (C ⥤ C)
n : M
X : C
⊢ F.ε.app ((F.obj n).obj X) = (F.map (ρ_ n).inv).app X ≫ (MonoidalFunctor.μIso F n (𝟙_ M)).inv.app X

tactic: rw [← Category.assoc, ← IsIso.comp_inv_eq, ← IsIso.comp_inv_eq, Category.assoc]
state_before: C : Type u
inst✝² : Category C
M : Type u_2
inst✝¹ : Category M
inst✝ : MonoidalCategory M
F : MonoidalFunctor M (C ⥤ C)
n : M
X : C
⊢ F.ε.app ((F.obj n).obj X) =
    𝟙 ((𝟙_ (C ⥤ C)).obj ((F.obj n).obj X)) ≫ (F.map (ρ_ n).inv).app X ≫ (MonoidalFunctor.μIso F n (𝟙_ M)).inv.app X

tactic: convert right_unitality_app F n X using 1
state_before: C : Type u
inst✝² : Category C
M : Type u_2
inst✝¹ : Category M
inst✝ : MonoidalCategory M
F : MonoidalFunctor M (C ⥤ C)
n : M
X : C
⊢ F.ε.app ((F.obj n).obj X) ≫ inv ((MonoidalFunctor.μIso F n (𝟙_ M)).inv.app X) ≫ inv ((F.map (ρ_ n).inv).app X) =
    𝟙 ((𝟙_ (C ⥤ C)).obj ((F.obj n).obj X))

tactic: simp
state_before: case h.e'_2.h
C : Type u
inst✝² : Category C
M : Type u_2
inst✝¹ : Category M
inst✝ : MonoidalCategory M
F : MonoidalFunctor M (C ⥤ C)
n : M
X : C
e_1✝ :
  ((𝟙_ (C ⥤ C)).obj ((F.obj n).obj X) ⟶ (𝟙_ (C ⥤ C)).obj ((F.obj n).obj X)) =
    ((𝟙_ (C ⥤ C)).obj ((F.obj n).obj X) ⟶ (F.obj n).obj X)
⊢ F.ε.app ((F.obj n).obj X) ≫ inv ((MonoidalFunctor.μIso F n (𝟙_ M)).inv.app X) ≫ inv ((F.map (ρ_ n).inv).app X) =
    F.ε.app ((F.obj n).obj X) ≫ (LaxMonoidalFunctor.μ F.toLaxMonoidalFunctor n (𝟙_ M)).app X ≫ (F.map (ρ_ n).hom).app X
Theorem: Zspan.isAddFundamentalDomain
File: Mathlib/Algebra/Module/Zlattice.lean

tactic: cases nonempty_fintype ι
state_before: E : Type u_2
ι : Type u_1
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
b : Basis ι ℝ E
inst✝² : Finite ι
inst✝¹ : MeasurableSpace E
inst✝ : OpensMeasurableSpace E
μ : MeasureTheory.Measure E
⊢ IsAddFundamentalDomain { x // x ∈ toAddSubgroup (span ℤ (Set.range ↑b)) } (fundamentalDomain b)

tactic: exact IsAddFundamentalDomain.mk' (nullMeasurableSet (fundamentalDomain_measurableSet b))
  fun x => exist_unique_vadd_mem_fundamentalDomain b x
state_before: case intro
E : Type u_2
ι : Type u_1
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
b : Basis ι ℝ E
inst✝² : Finite ι
inst✝¹ : MeasurableSpace E
inst✝ : OpensMeasurableSpace E
μ : MeasureTheory.Measure E
val✝ : Fintype ι
⊢ IsAddFundamentalDomain { x // x ∈ toAddSubgroup (span ℤ (Set.range ↑b)) } (fundamentalDomain b)
Theorem: IsUnit.mul_div_cancel_left
File: Mathlib/Algebra/Hom/Units.lean

tactic: rw [mul_comm, h.mul_div_cancel]
state_before: F : Type ?u.62857
G : Type ?u.62860
α : Type u_1
M : Type ?u.62866
N : Type ?u.62869
inst✝ : DivisionCommMonoid α
a b✝ c d : α
h : IsUnit a
b : α
⊢ a * b / a = b
Theorem: Set.preimage_mul_const_Ioc_of_neg
File: Mathlib/Data/Set/Pointwise/Interval.lean

tactic: simp [← Ioi_inter_Iic, ← Ici_inter_Iio, h, inter_comm]
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a✝ a b c : α
h : c < 0
⊢ (fun x => x * c) ⁻¹' Ioc a b = Ico (b / c) (a / c)
Theorem: ContinuousLinearMap.ring_inverse_eq_map_inverse
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: ext
state_before: R : Type u_2
M : Type u_1
M₂ : Type ?u.2031615
inst✝⁷ : TopologicalSpace M
inst✝⁶ : TopologicalSpace M₂
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : TopologicalAddGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup M₂
inst✝ : Module R M₂
⊢ Ring.inverse = inverse

tactic: simp [to_ring_inverse (ContinuousLinearEquiv.refl R M)]
state_before: case h.h
R : Type u_2
M : Type u_1
M₂ : Type ?u.2031615
inst✝⁷ : TopologicalSpace M
inst✝⁶ : TopologicalSpace M₂
inst✝⁵ : Ring R
inst✝⁴ : AddCommGroup M
inst✝³ : TopologicalAddGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup M₂
inst✝ : Module R M₂
x✝¹ : M →L[R] M
x✝ : M
⊢ ↑(Ring.inverse x✝¹) x✝ = ↑(inverse x✝¹) x✝
Theorem: ENNReal.not_lt_top
File: Mathlib/Data/Real/ENNReal.lean

tactic: rw [lt_top_iff_ne_top, Classical.not_not]
state_before: α : Type ?u.81518
β : Type ?u.81521
a b c d : ℝ≥0∞
r p q : ℝ≥0
x : ℝ≥0∞
⊢ ¬x < ⊤ ↔ x = ⊤
Theorem: InnerProductGeometry.cos_eq_neg_one_iff_angle_eq_pi
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/Basic.lean

tactic: rw [← cos_pi]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ cos (angle x y) = -1 ↔ angle x y = π

tactic: exact injOn_cos.eq_iff ⟨angle_nonneg x y, angle_le_pi x y⟩ (right_mem_Icc.2 pi_pos.le)
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
⊢ cos (angle x y) = cos π ↔ angle x y = π
Theorem: EuclideanGeometry.tan_angle_of_angle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean

tactic: rw [angle, ← inner_eq_zero_iff_angle_eq_pi_div_two, real_inner_comm, ← neg_eq_zero, ←
  inner_neg_left, neg_vsub_eq_vsub_rev] at h
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
p₁ p₂ p₃ : P
h : ∠ p₁ p₂ p₃ = π / 2
⊢ Real.tan (∠ p₂ p₃ p₁) = dist p₁ p₂ / dist p₃ p₂

tactic: rw [angle, dist_eq_norm_vsub V p₁ p₂, dist_eq_norm_vsub' V p₃ p₂, ← vsub_add_vsub_cancel p₁ p₂ p₃,
  add_comm, tan_angle_add_of_inner_eq_zero h]
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
p₁ p₂ p₃ : P
h : inner (p₂ -ᵥ p₃) (p₁ -ᵥ p₂) = 0
⊢ Real.tan (∠ p₂ p₃ p₁) = dist p₁ p₂ / dist p₃ p₂
Theorem: Complex.deriv_eq_smul_circleIntegral
File: Mathlib/Analysis/Complex/Liouville.lean

tactic: lift R to ℝ≥0 using hR.le
state_before: E : Type u
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
F : Type v
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℂ F
inst✝ : CompleteSpace F
R : ℝ
c : ℂ
f : ℂ → F
hR : 0 < R
hf : DiffContOnCl ℂ f (ball c R)
⊢ deriv f c = (2 * ↑π * I)⁻¹ • ∮ (z : ℂ) in C(c, R), (z - c) ^ (-2) • f z

tactic: refine' (hf.hasFPowerSeriesOnBall hR).hasFPowerSeriesAt.deriv.trans _
state_before: case intro
E : Type u
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
F : Type v
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℂ F
inst✝ : CompleteSpace F
c : ℂ
f : ℂ → F
R : ℝ≥0
hR : 0 < ↑R
hf : DiffContOnCl ℂ f (ball c ↑R)
⊢ deriv f c = (2 * ↑π * I)⁻¹ • ∮ (z : ℂ) in C(c, ↑R), (z - c) ^ (-2) • f z

tactic: simp only [cauchyPowerSeries_apply, one_div, zpow_neg, pow_one, smul_smul, zpow_two, mul_inv]
state_before: case intro
E : Type u
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℂ E
F : Type v
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace ℂ F
inst✝ : CompleteSpace F
c : ℂ
f : ℂ → F
R : ℝ≥0
hR : 0 < ↑R
hf : DiffContOnCl ℂ f (ball c ↑R)
⊢ (↑(cauchyPowerSeries f c (↑R) 1) fun x => 1) = (2 * ↑π * I)⁻¹ • ∮ (z : ℂ) in C(c, ↑R), (z - c) ^ (-2) • f z