tasksource/leandojo huggingface dataset:
Theorem: Matrix.trace_eq_sum_roots_charpoly_of_splits
File: Mathlib/LinearAlgebra/Matrix/Charpoly/Eigs.lean

tactic: cases' isEmpty_or_nonempty n with h
state_before: n : Type u_2
inst✝² : Fintype n
inst✝¹ : DecidableEq n
R : Type u_1
inst✝ : Field R
A : Matrix n n R
hAps : Splits (RingHom.id R) (charpoly A)
⊢ trace A = Multiset.sum (roots (charpoly A))

tactic: rw [Matrix.trace, Fintype.sum_empty, Matrix.charpoly,
  det_eq_one_of_card_eq_zero (Fintype.card_eq_zero_iff.2 h), Polynomial.roots_one,
  Multiset.empty_eq_zero, Multiset.sum_zero]
state_before: case inl
n : Type u_2
inst✝² : Fintype n
inst✝¹ : DecidableEq n
R : Type u_1
inst✝ : Field R
A : Matrix n n R
hAps : Splits (RingHom.id R) (charpoly A)
h : IsEmpty n
⊢ trace A = Multiset.sum (roots (charpoly A))

tactic: rw [trace_eq_neg_charpoly_coeff, neg_eq_iff_eq_neg,
  ← Polynomial.sum_roots_eq_nextCoeff_of_monic_of_split A.charpoly_monic hAps, nextCoeff,
  charpoly_natDegree_eq_dim, if_neg (Fintype.card_ne_zero : Fintype.card n ≠ 0)]
state_before: case inr
n : Type u_2
inst✝² : Fintype n
inst✝¹ : DecidableEq n
R : Type u_1
inst✝ : Field R
A : Matrix n n R
hAps : Splits (RingHom.id R) (charpoly A)
h✝ : Nonempty n
⊢ trace A = Multiset.sum (roots (charpoly A))
Theorem: CategoryTheory.μ_inv_naturalityₗ
File: Mathlib/CategoryTheory/Monoidal/End.lean

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

tactic: simp
state_before: C : Type u
inst✝² : Category C
M : Type u_2
inst✝¹ : Category M
inst✝ : MonoidalCategory M
F : MonoidalFunctor M (C ⥤ C)
m n m' : M
f : m ⟶ m'
X : C
⊢ (F.obj n).map ((F.map f).app X) ≫ inv ((MonoidalFunctor.μIso F m' n).inv.app X) =
    inv ((MonoidalFunctor.μIso F m n).inv.app X) ≫ (F.map (f ⊗ 𝟙 n)).app X
Theorem: MeasurableSet.inter
File: Mathlib/MeasureTheory/MeasurableSpaceDef.lean

tactic: rw [inter_eq_compl_compl_union_compl]
state_before: α : Type u_1
β : Type ?u.8700
γ : Type ?u.8703
δ : Type ?u.8706
δ' : Type ?u.8709
ι : Sort ?u.8712
s t u : Set α
m : MeasurableSpace α
s₁ s₂ : Set α
h₁ : MeasurableSet s₁
h₂ : MeasurableSet s₂
⊢ MeasurableSet (s₁ ∩ s₂)

tactic: exact (h₁.compl.union h₂.compl).compl
state_before: α : Type u_1
β : Type ?u.8700
γ : Type ?u.8703
δ : Type ?u.8706
δ' : Type ?u.8709
ι : Sort ?u.8712
s t u : Set α
m : MeasurableSpace α
s₁ s₂ : Set α
h₁ : MeasurableSet s₁
h₂ : MeasurableSet s₂
⊢ MeasurableSet ((s₁ᶜ ∪ s₂ᶜ)ᶜ)
Theorem: List.filterMap_eq_map
File: Std/Data/List/Lemmas.lean

tactic: funext l
state_before: α : Type u_1
β : Type u_2
f : α → β
⊢ filterMap (some ∘ f) = map f

tactic: induction l <;> simp [*]
state_before: case h
α : Type u_1
β : Type u_2
f : α → β
l : List α
⊢ filterMap (some ∘ f) l = map f l
Theorem: MvPolynomial.map_esymm
File: Mathlib/RingTheory/MvPolynomial/Symmetric.lean

tactic: simp_rw [esymm, map_sum, map_prod, map_X]
state_before: σ : Type u_3
R : Type u_1
τ : Type ?u.97879
S : Type u_2
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
f : R →+* S
⊢ ↑(map f) (esymm σ R n) = esymm σ S n
Theorem: measure_le_lintegral_thickenedIndicatorAux
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: convert_to lintegral μ (E.indicator fun _ => (1 : ℝ≥0∞)) ≤ lintegral μ (thickenedIndicatorAux δ E)
state_before: α : Type u_1
β : Type ?u.4893923
E✝ : Type ?u.4893926
F : Type ?u.4893929
inst✝² : MeasurableSpace α
ι : Type ?u.4893935
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : MeasureTheory.Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ ↑↑μ E ≤ ∫⁻ (a : α), thickenedIndicatorAux δ E a ∂μ

tactic: rw [lintegral_indicator _ E_mble]
state_before: case h.e'_3
α : Type u_1
β : Type ?u.4893923
E✝ : Type ?u.4893926
F : Type ?u.4893929
inst✝² : MeasurableSpace α
ι : Type ?u.4893935
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : MeasureTheory.Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ ↑↑μ E = lintegral μ (indicator E fun x => 1)

tactic: simp only [lintegral_one, Measure.restrict_apply, MeasurableSet.univ, univ_inter]
state_before: case h.e'_3
α : Type u_1
β : Type ?u.4893923
E✝ : Type ?u.4893926
F : Type ?u.4893929
inst✝² : MeasurableSpace α
ι : Type ?u.4893935
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : MeasureTheory.Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ ↑↑μ E = ∫⁻ (a : α) in E, 1 ∂μ

tactic: apply lintegral_mono
state_before: α : Type u_1
β : Type ?u.4893923
E✝ : Type ?u.4893926
F : Type ?u.4893929
inst✝² : MeasurableSpace α
ι : Type ?u.4893935
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : MeasureTheory.Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ lintegral μ (indicator E fun x => 1) ≤ lintegral μ (thickenedIndicatorAux δ E)

tactic: apply indicator_le_thickenedIndicatorAux
state_before: case hfg
α : Type u_1
β : Type ?u.4893923
E✝ : Type ?u.4893926
F : Type ?u.4893929
inst✝² : MeasurableSpace α
ι : Type ?u.4893935
inst✝¹ : NormedAddCommGroup E✝
inst✝ : PseudoEMetricSpace α
μ : MeasureTheory.Measure α
E : Set α
E_mble : MeasurableSet E
δ : ℝ
⊢ (fun a => indicator E (fun x => 1) a) ≤ fun a => thickenedIndicatorAux δ E a
Theorem: Nat.exists_lt_succ
File: Mathlib/Data/Nat/Basic.lean

tactic: rw [← not_iff_not]
state_before: m n✝ k : ℕ
P : ℕ → Prop
n : ℕ
⊢ (∃ m, m < n + 1 ∧ P m) ↔ (∃ m, m < n ∧ P m) ∨ P n

tactic: push_neg
state_before: m n✝ k : ℕ
P : ℕ → Prop
n : ℕ
⊢ (¬∃ m, m < n + 1 ∧ P m) ↔ ¬((∃ m, m < n ∧ P m) ∨ P n)

tactic: exact forall_lt_succ
state_before: m n✝ k : ℕ
P : ℕ → Prop
n : ℕ
⊢ (∀ (m : ℕ), m < n + 1 → ¬P m) ↔ (∀ (m : ℕ), m < n → ¬P m) ∧ ¬P n
Theorem: normalizeScaleRoots_support
File: Mathlib/RingTheory/IntegralClosure.lean

tactic: intro x
state_before: R : Type u_1
A : Type ?u.882928
B : Type ?u.882931
S : Type ?u.882934
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f : R →+* S
p : R[X]
x : S
⊢ support (normalizeScaleRoots p) ≤ support p

tactic: contrapose
state_before: R : Type u_1
A : Type ?u.882928
B : Type ?u.882931
S : Type ?u.882934
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f : R →+* S
p : R[X]
x✝ : S
x : ℕ
⊢ x ∈ support (normalizeScaleRoots p) → x ∈ support p

tactic: simp only [not_mem_support_iff, normalizeScaleRoots, finset_sum_coeff, coeff_monomial,
  Finset.sum_ite_eq', mem_support_iff, Ne.def, Classical.not_not, ite_eq_right_iff]
state_before: R : Type u_1
A : Type ?u.882928
B : Type ?u.882931
S : Type ?u.882934
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f : R →+* S
p : R[X]
x✝ : S
x : ℕ
⊢ ¬x ∈ support p → ¬x ∈ support (normalizeScaleRoots p)

tactic: intro h₁ h₂
state_before: R : Type u_1
A : Type ?u.882928
B : Type ?u.882931
S : Type ?u.882934
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f : R →+* S
p : R[X]
x✝ : S
x : ℕ
⊢ coeff p x = 0 →
    ¬coeff p x = 0 → (if x = natDegree p then 1 else coeff p x * leadingCoeff p ^ (natDegree p - 1 - x)) = 0

tactic: exact (h₂ h₁).elim
state_before: R : Type u_1
A : Type ?u.882928
B : Type ?u.882931
S : Type ?u.882934
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f : R →+* S
p : R[X]
x✝ : S
x : ℕ
h₁ : coeff p x = 0
h₂ : ¬coeff p x = 0
⊢ (if x = natDegree p then 1 else coeff p x * leadingCoeff p ^ (natDegree p - 1 - x)) = 0
Theorem: LinearMap.lTensor_neg
File: Mathlib/LinearAlgebra/TensorProduct.lean

tactic: simp only [← coe_lTensorHom]
state_before: R : Type u_1
inst✝¹⁰ : CommSemiring R
M : Type u_4
N : Type u_2
P : Type u_3
Q : Type ?u.1461678
S : Type ?u.1461681
inst✝⁹ : AddCommGroup M
inst✝⁸ : AddCommGroup N
inst✝⁷ : AddCommGroup P
inst✝⁶ : AddCommGroup Q
inst✝⁵ : AddCommGroup S
inst✝⁴ : Module R M
inst✝³ : Module R N
inst✝² : Module R P
inst✝¹ : Module R Q
inst✝ : Module R S
f : N →ₗ[R] P
⊢ lTensor M (-f) = -lTensor M f

tactic: exact (lTensorHom (R:=R) (N:=N) (P:=P) M).map_neg f
state_before: R : Type u_1
inst✝¹⁰ : CommSemiring R
M : Type u_4
N : Type u_2
P : Type u_3
Q : Type ?u.1461678
S : Type ?u.1461681
inst✝⁹ : AddCommGroup M
inst✝⁸ : AddCommGroup N
inst✝⁷ : AddCommGroup P
inst✝⁶ : AddCommGroup Q
inst✝⁵ : AddCommGroup S
inst✝⁴ : Module R M
inst✝³ : Module R N
inst✝² : Module R P
inst✝¹ : Module R Q
inst✝ : Module R S
f : N →ₗ[R] P
⊢ ↑(lTensorHom M) (-f) = -↑(lTensorHom M) f
Theorem: Real.log_sqrt
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: rw [eq_div_iff, mul_comm, ← Nat.cast_two, ← log_pow, sq_sqrt hx]
state_before: x✝ y x : ℝ
hx : 0 ≤ x
⊢ log (sqrt x) = log x / 2

tactic: exact two_ne_zero
state_before: x✝ y x : ℝ
hx : 0 ≤ x
⊢ 2 ≠ 0
Theorem: Stream'.Seq.join_cons_cons
File: Mathlib/Data/Seq/Seq.lean

tactic: simp [join]
state_before: α : Type u
β : Type v
γ : Type w
a b : α
s : Seq α
S : Seq (Seq1 α)
⊢ destruct (join (cons (a, cons b s) S)) = some (a, join (cons (b, s) S))
Theorem: sbtw_lineMap_iff
File: Mathlib/Analysis/Convex/Between.lean

tactic: rw [sbtw_iff_mem_image_Ioo_and_ne, and_comm, and_congr_right]
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.244339
P : Type u_3
P' : Type ?u.244345
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
⊢ Sbtw R x (↑(lineMap x y) r) y ↔ x ≠ y ∧ r ∈ Set.Ioo 0 1

tactic: intro hxy
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.244339
P : Type u_3
P' : Type ?u.244345
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
⊢ x ≠ y → (↑(lineMap x y) r ∈ ↑(lineMap x y) '' Set.Ioo 0 1 ↔ r ∈ Set.Ioo 0 1)

tactic: rw [(lineMap_injective R hxy).mem_set_image]
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.244339
P : Type u_3
P' : Type ?u.244345
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
hxy : x ≠ y
⊢ ↑(lineMap x y) r ∈ ↑(lineMap x y) '' Set.Ioo 0 1 ↔ r ∈ Set.Ioo 0 1
Theorem: Multiset.Ico_filter_lt_of_le_right
File: Mathlib/Data/Multiset/LocallyFinite.lean

tactic: rw [Ico, ← Finset.filter_val, Finset.Ico_filter_lt_of_le_right hcb]
state_before: α : Type u_1
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a b c : α
inst✝ : DecidablePred fun x => x < c
hcb : c ≤ b
⊢ filter (fun x => x < c) (Ico a b) = Ico a c

tactic: rfl
state_before: α : Type u_1
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a b c : α
inst✝ : DecidablePred fun x => x < c
hcb : c ≤ b
⊢ (Finset.Ico a c).val = Ico a c
Theorem: HasStrictDerivAt.clog_real
File: Mathlib/Analysis/SpecialFunctions/Complex/LogDeriv.lean

tactic: simpa only [div_eq_inv_mul] using (hasStrictFDerivAt_log_real h₂).comp_hasStrictDerivAt x h₁
state_before: α : Type ?u.26274
inst✝² : TopologicalSpace α
E : Type ?u.26280
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℂ E
f : ℝ → ℂ
x : ℝ
f' : ℂ
h₁ : HasStrictDerivAt f f' x
h₂ : 0 < (f x).re ∨ (f x).im ≠ 0
⊢ HasStrictDerivAt (fun t => log (f t)) (f' / f x) x
Theorem: CategoryTheory.MonoidalCategory.inv_hom_id_tensor'
File: Mathlib/CategoryTheory/Monoidal/Category.lean

tactic: rw [← tensor_comp, IsIso.inv_hom_id, id_tensor_comp]
state_before: C✝ : Type u
𝒞 : Category C✝
inst✝³ : MonoidalCategory C✝
C : Type u
inst✝² : Category C
inst✝¹ : MonoidalCategory C
U V✝ W✝ X✝ Y✝ Z✝ V W X Y Z : C
f : V ⟶ W
inst✝ : IsIso f
g : X ⟶ Y
h : Y ⟶ Z
⊢ (inv f ⊗ g) ≫ (f ⊗ h) = (𝟙 W ⊗ g) ≫ (𝟙 W ⊗ h)
Theorem: Submonoid.coe_sSup_of_directedOn
File: Mathlib/GroupTheory/Submonoid/Membership.lean

tactic: simp [mem_sSup_of_directedOn Sne hS]
state_before: M : Type u_1
A : Type ?u.40177
B : Type ?u.40180
inst✝ : MulOneClass M
S : Set (Submonoid M)
Sne : Set.Nonempty S
hS : DirectedOn (fun x x_1 => x ≤ x_1) S
x : M
⊢ x ∈ ↑(sSup S) ↔ x ∈ ⋃ (s : Submonoid M) (_ : s ∈ S), ↑s
Theorem: Nat.three_dvd_iff
File: Mathlib/Data/Nat/Digits.lean

tactic: norm_num
state_before: n✝ n : ℕ
⊢ 10 % 3 = 1
Theorem: Dfinsupp.sum_inner
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simp (config := { contextual := true }) only [Dfinsupp.sum, _root_.sum_inner, smul_eq_mul]
state_before: 𝕜 : Type u_3
E : Type u_4
F : Type ?u.1500482
inst✝⁶ : IsROrC 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : InnerProductSpace ℝ F
dec_E : DecidableEq E
ι : Type u_1
dec : DecidableEq ι
α : ι → Type u_2
inst✝¹ : (i : ι) → AddZeroClass (α i)
inst✝ : (i : ι) → (x : α i) → Decidable (x ≠ 0)
f : (i : ι) → α i → E
l : Π₀ (i : ι), α i
x : E
⊢ inner (sum l f) x = sum l fun i a => inner (f i a) x
Theorem: AffineSubspace.wOppSide_of_left_mem
File: Mathlib/Analysis/Convex/Side.lean

tactic: refine' ⟨x, hx, x, hx, _⟩
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.120131
P : Type u_3
P' : Type ?u.120137
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ WOppSide s x y

tactic: rw [vsub_self]
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.120131
P : Type u_3
P' : Type ?u.120137
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ SameRay R (x -ᵥ x) (x -ᵥ y)

tactic: apply SameRay.zero_left
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.120131
P : Type u_3
P' : Type ?u.120137
inst✝⁶ : StrictOrderedCommRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
s : AffineSubspace R P
x y : P
hx : x ∈ s
⊢ SameRay R 0 (x -ᵥ y)
Theorem: AddMonoidHom.toNatLinearMap_injective
File: Mathlib/Algebra/Module/LinearMap.lean

tactic: intro f g h
state_before: R : Type ?u.349302
R₁ : Type ?u.349305
R₂ : Type ?u.349308
R₃ : Type ?u.349311
k : Type ?u.349314
S : Type ?u.349317
S₃ : Type ?u.349320
T : Type ?u.349323
M : Type u_1
M₁ : Type ?u.349329
M₂ : Type u_2
M₃ : Type ?u.349335
N₁ : Type ?u.349338
N₂ : Type ?u.349341
N₃ : Type ?u.349344
ι : Type ?u.349347
inst✝¹ : AddCommMonoid M
inst✝ : AddCommMonoid M₂
⊢ Injective toNatLinearMap

tactic: ext x
state_before: R : Type ?u.349302
R₁ : Type ?u.349305
R₂ : Type ?u.349308
R₃ : Type ?u.349311
k : Type ?u.349314
S : Type ?u.349317
S₃ : Type ?u.349320
T : Type ?u.349323
M : Type u_1
M₁ : Type ?u.349329
M₂ : Type u_2
M₃ : Type ?u.349335
N₁ : Type ?u.349338
N₂ : Type ?u.349341
N₃ : Type ?u.349344
ι : Type ?u.349347
inst✝¹ : AddCommMonoid M
inst✝ : AddCommMonoid M₂
f g : M →+ M₂
h : toNatLinearMap f = toNatLinearMap g
⊢ f = g

tactic: exact LinearMap.congr_fun h x
state_before: case h
R : Type ?u.349302
R₁ : Type ?u.349305
R₂ : Type ?u.349308
R₃ : Type ?u.349311
k : Type ?u.349314
S : Type ?u.349317
S₃ : Type ?u.349320
T : Type ?u.349323
M : Type u_1
M₁ : Type ?u.349329
M₂ : Type u_2
M₃ : Type ?u.349335
N₁ : Type ?u.349338
N₂ : Type ?u.349341
N₃ : Type ?u.349344
ι : Type ?u.349347
inst✝¹ : AddCommMonoid M
inst✝ : AddCommMonoid M₂
f g : M →+ M₂
h : toNatLinearMap f = toNatLinearMap g
x : M
⊢ ↑f x = ↑g x
Theorem: Set.Finite.toFinset_diff
File: Mathlib/Data/Set/Finite.lean

tactic: ext
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
s t : Set α
a : α
hs✝ : Set.Finite s
ht✝ : Set.Finite t
inst✝ : DecidableEq α
hs : Set.Finite s
ht : Set.Finite t
h : Set.Finite (s \ t)
⊢ Finite.toFinset h = Finite.toFinset hs \ Finite.toFinset ht

tactic: simp
state_before: case a
α : Type u
β : Type v
ι : Sort w
γ : Type x
s t : Set α
a : α
hs✝ : Set.Finite s
ht✝ : Set.Finite t
inst✝ : DecidableEq α
hs : Set.Finite s
ht : Set.Finite t
h : Set.Finite (s \ t)
a✝ : α
⊢ a✝ ∈ Finite.toFinset h ↔ a✝ ∈ Finite.toFinset hs \ Finite.toFinset ht
Theorem: OreLocalization.div_one_mul
File: Mathlib/RingTheory/OreLocalization/Basic.lean

tactic: simp [oreDiv_mul_char r p 1 s p 1 (by simp)]
state_before: R : Type u_1
inst✝¹ : Monoid R
S : Submonoid R
inst✝ : OreSet S
p r : R
s : { x // x ∈ S }
⊢ r /ₒ 1 * (p /ₒ s) = r * p /ₒ s

tactic: simp
state_before: R : Type u_1
inst✝¹ : Monoid R
S : Submonoid R
inst✝ : OreSet S
p r : R
s : { x // x ∈ S }
⊢ p * ↑1 = ↑1 * p
Theorem: tsum_mul_left
File: Mathlib/Topology/Algebra/InfiniteSum/Ring.lean

tactic: simp [ha]
state_before: ι : Type u_2
κ : Type ?u.17050
R : Type ?u.17053
α : Type u_1
inst✝³ : DivisionSemiring α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSemiring α
f g : ι → α
a a₁ a₂ : α
inst✝ : T2Space α
hf : ¬Summable f
ha : a = 0
⊢ (∑' (x : ι), a * f x) = a * ∑' (x : ι), f x

tactic: rw [tsum_eq_zero_of_not_summable hf,
    tsum_eq_zero_of_not_summable (mt (summable_mul_left_iff ha).mp hf), mul_zero]
state_before: ι : Type u_2
κ : Type ?u.17050
R : Type ?u.17053
α : Type u_1
inst✝³ : DivisionSemiring α
inst✝² : TopologicalSpace α
inst✝¹ : TopologicalSemiring α
f g : ι → α
a a₁ a₂ : α
inst✝ : T2Space α
hf : ¬Summable f
ha : ¬a = 0
⊢ (∑' (x : ι), a * f x) = a * ∑' (x : ι), f x
Theorem: TendstoLocallyUniformlyOn.continuousOn
File: Mathlib/Topology/UniformSpace/UniformConvergence.lean

tactic: refine continuousOn_of_locally_uniform_approx_of_continuousWithinAt fun x hx u hu => ?_
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝² : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g : ι → α
inst✝¹ : TopologicalSpace α
h : TendstoLocallyUniformlyOn F f p s
hc : ∀ᶠ (n : ι) in p, ContinuousOn (F n) s
inst✝ : NeBot p
⊢ ContinuousOn f s

tactic: rcases h u hu x hx with ⟨t, ht, H⟩
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝² : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x✝ : α
p : Filter ι
p' : Filter α
g : ι → α
inst✝¹ : TopologicalSpace α
h : TendstoLocallyUniformlyOn F f p s
hc : ∀ᶠ (n : ι) in p, ContinuousOn (F n) s
inst✝ : NeBot p
x : α
hx : x ∈ s
u : Set (β × β)
hu : u ∈ 𝓤 β
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∃ F, ContinuousWithinAt F s x ∧ ∀ (y : α), y ∈ t → (f y, F y) ∈ u

tactic: rcases (hc.and H).exists with ⟨n, hFc, hF⟩
state_before: case intro.intro
α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝² : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x✝ : α
p : Filter ι
p' : Filter α
g : ι → α
inst✝¹ : TopologicalSpace α
h : TendstoLocallyUniformlyOn F f p s
hc : ∀ᶠ (n : ι) in p, ContinuousOn (F n) s
inst✝ : NeBot p
x : α
hx : x ∈ s
u : Set (β × β)
hu : u ∈ 𝓤 β
t : Set α
ht : t ∈ 𝓝[s] x
H : ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ t → (f y, F n y) ∈ u
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∃ F, ContinuousWithinAt F s x ∧ ∀ (y : α), y ∈ t → (f y, F y) ∈ u

tactic: exact ⟨t, ht, ⟨F n, hFc.continuousWithinAt hx, hF⟩⟩
state_before: case intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝² : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x✝ : α
p : Filter ι
p' : Filter α
g : ι → α
inst✝¹ : TopologicalSpace α
h : TendstoLocallyUniformlyOn F f p s
hc : ∀ᶠ (n : ι) in p, ContinuousOn (F n) s
inst✝ : NeBot p
x : α
hx : x ∈ s
u : Set (β × β)
hu : u ∈ 𝓤 β
t : Set α
ht : t ∈ 𝓝[s] x
H : ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ t → (f y, F n y) ∈ u
n : ι
hFc : ContinuousOn (F n) s
hF : ∀ (y : α), y ∈ t → (f y, F n y) ∈ u
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∃ F, ContinuousWithinAt F s x ∧ ∀ (y : α), y ∈ t → (f y, F y) ∈ u
Theorem: Filter.comap_eq_of_inverse
File: Mathlib/Order/Filter/Basic.lean

tactic: refine' ((comap_mono <| map_le_iff_le_comap.1 hψ).trans _).antisymm (map_le_iff_le_comap.1 hφ)
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.313181
ι : Sort x
f : Filter α
g : Filter β
φ : α → β
ψ : β → α
eq : ψ ∘ φ = id
hφ : Tendsto φ f g
hψ : Tendsto ψ g f
⊢ comap φ g = f

tactic: rw [comap_comap, eq, comap_id]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.313181
ι : Sort x
f : Filter α
g : Filter β
φ : α → β
ψ : β → α
eq : ψ ∘ φ = id
hφ : Tendsto φ f g
hψ : Tendsto ψ g f
⊢ comap φ (comap ψ f) ≤ f
Theorem: iSup_split
File: Mathlib/Order/CompleteLattice.lean

tactic: simpa [Classical.em] using @iSup_union _ _ _ f { i | p i } { i | ¬p i }
state_before: α : Type u_1
β : Type u_2
β₂ : Type ?u.116340
γ : Type ?u.116343
ι : Sort ?u.116346
ι' : Sort ?u.116349
κ : ι → Sort ?u.116354
κ' : ι' → Sort ?u.116359
inst✝ : CompleteLattice α
f✝ g s t : ι → α
a b : α
f : β → α
p : β → Prop
⊢ (⨆ (i : β), f i) = (⨆ (i : β) (_ : p i), f i) ⊔ ⨆ (i : β) (_ : ¬p i), f i
Theorem: Finset.image_subset_image
File: Mathlib/Data/Finset/Image.lean

tactic: simp only [subset_def, image_val, subset_dedup', dedup_subset', Multiset.map_subset_map h]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.80867
inst✝ : DecidableEq β
f g : α → β
s : Finset α
t : Finset β
a : α
b c : β
s₁ s₂ : Finset α
h : s₁ ⊆ s₂
⊢ image f s₁ ⊆ image f s₂
Theorem: SimpleGraph.complete_graph_degree
File: Mathlib/Combinatorics/SimpleGraph/Basic.lean

tactic: erw [degree, neighborFinset_eq_filter, filter_ne, card_erase_of_mem (mem_univ v), card_univ]
state_before: ι : Sort ?u.286096
𝕜 : Type ?u.286099
V : Type u
W : Type v
X : Type w
G : SimpleGraph V
G' : SimpleGraph W
a b c u v✝ w : V
e : Sym2 V
inst✝¹ : Fintype V
inst✝ : DecidableEq V
v : V
⊢ degree ⊤ v = Fintype.card V - 1
Theorem: neg_eq_self
File: Mathlib/Algebra/Module/Basic.lean

tactic: rw [eq_comm, self_eq_neg R M]
state_before: α : Type ?u.299205
R : Type ?u.299208
k : Type ?u.299211
S : Type ?u.299214
M : Type u_1
M₂ : Type ?u.299220
M₃ : Type ?u.299223
ι : Type ?u.299226
inst✝⁴ : Semiring R
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : NoZeroSMulDivisors R M
inst✝ : CharZero R
v : M
⊢ -v = v ↔ v = 0
Theorem: Subgroup.relindex_comap
File: Mathlib/GroupTheory/Index.lean

tactic: rw [relindex, subgroupOf, comap_comap, index_comap, ← f.map_range, K.subtype_range]
state_before: G : Type u_2
inst✝¹ : Group G
H K✝ L : Subgroup G
G' : Type u_1
inst✝ : Group G'
f : G' →* G
K : Subgroup G'
⊢ relindex (comap f H) K = relindex H (map f K)
Theorem: HasFTaylorSeriesUpTo.ofLe
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: rw [← hasFTaylorSeriesUpToOn_univ_iff] at h⊢
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpTo n f p
hmn : m ≤ n
⊢ HasFTaylorSeriesUpTo m f p

tactic: exact h.of_le hmn
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
h : HasFTaylorSeriesUpToOn n f p univ
hmn : m ≤ n
⊢ HasFTaylorSeriesUpToOn m f p univ