tasksource/leandojo huggingface dataset:
Theorem: nsmul_eq_smul_cast
File: Mathlib/Algebra/Module/Basic.lean

tactic: induction' n with n ih
state_before: α : Type ?u.130390
R : Type u_2
k : Type ?u.130396
S : Type ?u.130399
M : Type u_1
M₂ : Type ?u.130405
M₃ : Type ?u.130408
ι : Type ?u.130411
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
n : ℕ
b : M
⊢ n • b = ↑n • b

tactic: rw [Nat.zero_eq, Nat.cast_zero, zero_smul, zero_smul]
state_before: case zero
α : Type ?u.130390
R : Type u_2
k : Type ?u.130396
S : Type ?u.130399
M : Type u_1
M₂ : Type ?u.130405
M₃ : Type ?u.130408
ι : Type ?u.130411
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
b : M
⊢ Nat.zero • b = ↑Nat.zero • b

tactic: rw [Nat.succ_eq_add_one, Nat.cast_succ, add_smul, add_smul, one_smul, ih, one_smul]
state_before: case succ
α : Type ?u.130390
R : Type u_2
k : Type ?u.130396
S : Type ?u.130399
M : Type u_1
M₂ : Type ?u.130405
M₃ : Type ?u.130408
ι : Type ?u.130411
inst✝² : Semiring R
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
b : M
n : ℕ
ih : n • b = ↑n • b
⊢ Nat.succ n • b = ↑(Nat.succ n) • b
Theorem: Equiv.optionSubtype_symm_apply_symm_apply
File: Mathlib/Logic/Equiv/Option.lean

tactic: simp only [optionSubtype, coe_fn_symm_mk, Subtype.coe_mk,
           Subtype.coe_eta, dite_eq_ite, ite_eq_right_iff]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.28780
inst✝ : DecidableEq β
x : β
e : α ≃ { y // y ≠ x }
b : { y // y ≠ x }
⊢ ↑(↑(↑(optionSubtype x).symm e)).symm ↑b = some (↑e.symm b)

tactic: exact fun h => False.elim (b.property h)
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.28780
inst✝ : DecidableEq β
x : β
e : α ≃ { y // y ≠ x }
b : { y // y ≠ x }
⊢ ↑b = x → False
Theorem: HahnSeries.single_zero_mul_coeff
File: Mathlib/RingTheory/HahnSeries.lean

tactic: rw [← add_zero a, single_mul_coeff_add, add_zero]
state_before: Γ : Type u_2
R : Type u_1
inst✝¹ : OrderedCancelAddCommMonoid Γ
inst✝ : NonUnitalNonAssocSemiring R
r : R
x : HahnSeries Γ R
a : Γ
⊢ coeff (↑(single 0) r * x) a = r * coeff x a
Theorem: Real.rpow_lt_one_iff_of_pos
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: rw [rpow_def_of_pos hx, exp_lt_one_iff, mul_neg_iff, log_pos_iff hx, log_neg_iff hx]
state_before: x y z : ℝ
hx : 0 < x
⊢ x ^ y < 1 ↔ 1 < x ∧ y < 0 ∨ x < 1 ∧ 0 < y
Theorem: TopCat.pullbackIsoProdSubtype_hom_snd
File: Mathlib/Topology/Category/TopCat/Limits/Pullbacks.lean

tactic: rw [← Iso.eq_inv_comp, pullbackIsoProdSubtype_inv_snd]
state_before: J : Type v
inst✝ : SmallCategory J
X Y Z : TopCat
f : X ⟶ Z
g : Y ⟶ Z
⊢ (pullbackIsoProdSubtype f g).hom ≫ pullbackSnd f g = pullback.snd
Theorem: even_abs
File: Mathlib/Algebra/Parity.lean

tactic: cases abs_choice a
state_before: F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
⊢ Even (abs a) ↔ Even a

tactic: have h : abs a = a := by assumption
state_before: case inl
F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
h✝ : abs a = a
⊢ Even (abs a) ↔ Even a

tactic: simp only [h, even_neg]
state_before: case inl
F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
h✝ h : abs a = a
⊢ Even (abs a) ↔ Even a

tactic: assumption
state_before: F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
h✝ : abs a = a
⊢ abs a = a

tactic: have h : abs a = -a := by assumption
state_before: case inr
F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
h✝ : abs a = -a
⊢ Even (abs a) ↔ Even a

tactic: simp only [h, even_neg]
state_before: case inr
F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
h✝ h : abs a = -a
⊢ Even (abs a) ↔ Even a

tactic: assumption
state_before: F : Type ?u.48526
α : Type u_1
β : Type ?u.48532
R : Type ?u.48535
inst✝¹ : SubtractionMonoid α
inst✝ : LinearOrder α
a : α
h✝ : abs a = -a
⊢ abs a = -a
Theorem: Rat.toNNRat_lt_toNNRat_iff'
File: Mathlib/Data/Rat/NNRat.lean

tactic: simp [← coe_lt_coe, toNNRat, lt_irrefl]
state_before: p q : ℚ
⊢ toNNRat q < toNNRat p ↔ q < p ∧ 0 < p
Theorem: Set.eq_of_inclusion_surjective
File: Mathlib/Data/Set/Basic.lean

tactic: refine' Set.Subset.antisymm h (fun x hx => _)
state_before: α : Type u_1
s✝ t✝ u s t : Set α
h : s ⊆ t
h_surj : Surjective (inclusion h)
⊢ s = t

tactic: obtain ⟨y, hy⟩ := h_surj ⟨x, hx⟩
state_before: α : Type u_1
s✝ t✝ u s t : Set α
h : s ⊆ t
h_surj : Surjective (inclusion h)
x : α
hx : x ∈ t
⊢ x ∈ s

tactic: exact mem_of_eq_of_mem (congr_arg Subtype.val hy).symm y.prop
state_before: case intro
α : Type u_1
s✝ t✝ u s t : Set α
h : s ⊆ t
h_surj : Surjective (inclusion h)
x : α
hx : x ∈ t
y : ↑s
hy : inclusion h y = { val := x, property := hx }
⊢ x ∈ s
Theorem: DualNumber.exp_smul_eps
File: Mathlib/Analysis/NormedSpace/DualNumber.lean

tactic: rw [eps, ← inr_smul, exp_inr, Nat.cast_one]
state_before: 𝕜 : Type u_2
R : Type u_1
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedCommRing R
inst✝³ : NormedAlgebra 𝕜 R
inst✝² : TopologicalRing R
inst✝¹ : CompleteSpace R
inst✝ : T2Space R
r : R
⊢ exp 𝕜 (r • ε) = ↑1 + r • ε
Theorem: Homotopy.dNext_succ_chainComplex
File: Mathlib/Algebra/Homology/Homotopy.lean

tactic: dsimp [dNext]
state_before: ι : Type ?u.303893
V : Type u
inst✝¹ : Category V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g : C ⟶ D
h k : D ⟶ E
i✝ : ι
P Q : ChainComplex V ℕ
f : (i j : ℕ) → X P i ⟶ X Q j
i : ℕ
⊢ ↑(dNext (i + 1)) f = d P (i + 1) i ≫ f i (i + 1)

tactic: have : (ComplexShape.down ℕ).next (i + 1) = i := ChainComplex.next_nat_succ _
state_before: ι : Type ?u.303893
V : Type u
inst✝¹ : Category V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g : C ⟶ D
h k : D ⟶ E
i✝ : ι
P Q : ChainComplex V ℕ
f : (i j : ℕ) → X P i ⟶ X Q j
i : ℕ
⊢ d P (i + 1) (ComplexShape.next (ComplexShape.down ℕ) (i + 1)) ≫
      f (ComplexShape.next (ComplexShape.down ℕ) (i + 1)) (i + 1) =
    d P (i + 1) i ≫ f i (i + 1)

tactic: congr 2
state_before: ι : Type ?u.303893
V : Type u
inst✝¹ : Category V
inst✝ : Preadditive V
c : ComplexShape ι
C D E : HomologicalComplex V c
f✝ g : C ⟶ D
h k : D ⟶ E
i✝ : ι
P Q : ChainComplex V ℕ
f : (i j : ℕ) → X P i ⟶ X Q j
i : ℕ
this : ComplexShape.next (ComplexShape.down ℕ) (i + 1) = i
⊢ d P (i + 1) (ComplexShape.next (ComplexShape.down ℕ) (i + 1)) ≫
      f (ComplexShape.next (ComplexShape.down ℕ) (i + 1)) (i + 1) =
    d P (i + 1) i ≫ f i (i + 1)
Theorem: NNReal.hasSum_nat_add_iff
File: Mathlib/Topology/Instances/NNReal.lean

tactic: rw [← hasSum_coe, hasSum_nat_add_iff (f := fun n => toReal (f n)) k]
state_before: α : Type ?u.37164
f : ℕ → ℝ≥0
k : ℕ
a : ℝ≥0
⊢ HasSum (fun n => f (n + k)) a ↔ HasSum f (a + ∑ i in Finset.range k, f i)

tactic: norm_cast
state_before: α : Type ?u.37164
f : ℕ → ℝ≥0
k : ℕ
a : ℝ≥0
⊢ HasSum (fun n => ↑(f n)) (↑a + ∑ i in Finset.range k, ↑(f i)) ↔ HasSum f (a + ∑ i in Finset.range k, f i)
Theorem: UniformOnFun.iInf_eq
File: Mathlib/Topology/UniformSpace/UniformConvergenceTopology.lean

tactic: simp_rw [UniformOnFun.uniformSpace, UniformFun.iInf_eq, UniformSpace.comap_iInf]
state_before: α : Type u_2
β : Type ?u.72956
γ : Type u_1
ι : Type u_3
s s' : Set α
x : α
p : Filter ι
g : ι → α
inst✝ : UniformSpace β
𝔖 : Set (Set α)
u : ι → UniformSpace γ
⊢ uniformSpace α γ 𝔖 = ⨅ (i : ι), uniformSpace α γ 𝔖

tactic: rw [iInf_comm]
state_before: α : Type u_2
β : Type ?u.72956
γ : Type u_1
ι : Type u_3
s s' : Set α
x : α
p : Filter ι
g : ι → α
inst✝ : UniformSpace β
𝔖 : Set (Set α)
u : ι → UniformSpace γ
⊢ (⨅ (s : Set α) (_ : s ∈ 𝔖) (i : ι), UniformSpace.comap (restrict s) (UniformFun.uniformSpace (↑s) γ)) =
    ⨅ (i : ι) (s : Set α) (_ : s ∈ 𝔖), UniformSpace.comap (restrict s) (UniformFun.uniformSpace (↑s) γ)

tactic: exact iInf_congr fun s => iInf_comm
state_before: α : Type u_2
β : Type ?u.72956
γ : Type u_1
ι : Type u_3
s s' : Set α
x : α
p : Filter ι
g : ι → α
inst✝ : UniformSpace β
𝔖 : Set (Set α)
u : ι → UniformSpace γ
⊢ (⨅ (s : Set α) (_ : s ∈ 𝔖) (i : ι), UniformSpace.comap (restrict s) (UniformFun.uniformSpace (↑s) γ)) =
    ⨅ (j : Set α) (i : ι) (_ : j ∈ 𝔖), UniformSpace.comap (restrict j) (UniformFun.uniformSpace (↑j) γ)
Theorem: convexJoin_union_left
File: Mathlib/Analysis/Convex/Join.lean

tactic: simp_rw [convexJoin, mem_union, iUnion_or, iUnion_union_distrib]
state_before: ι : Sort ?u.38083
𝕜 : Type u_2
E : Type u_1
inst✝² : OrderedSemiring 𝕜
inst✝¹ : AddCommMonoid E
inst✝ : Module 𝕜 E
s t✝ s₁✝ s₂✝ t₁ t₂ u : Set E
x y : E
s₁ s₂ t : Set E
⊢ convexJoin 𝕜 (s₁ ∪ s₂) t = convexJoin 𝕜 s₁ t ∪ convexJoin 𝕜 s₂ t
Theorem: Localization.liftOn_zero
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: rw [← mk_zero 1, liftOn_mk]
state_before: M : Type u_2
inst✝² : CommMonoidWithZero M
S : Submonoid M
N : Type ?u.3333984
inst✝¹ : CommMonoidWithZero N
P : Type ?u.3333990
inst✝ : CommMonoidWithZero P
p : Type u_1
f : M → { x // x ∈ S } → p
H : ∀ {a c : M} {b d : { x // x ∈ S }}, ↑(r S) (a, b) (c, d) → f a b = f c d
⊢ liftOn 0 f H = f 0 1
Theorem: mul_invOf_mul_self_cancel
File: Mathlib/Algebra/Invertible.lean

tactic: simp [mul_assoc]
state_before: α : Type u
inst✝¹ : Monoid α
a b : α
inst✝ : Invertible b
⊢ a * ⅟b * b = a
Theorem: CompleteLattice.wellFounded_characterisations
File: Mathlib/Order/CompactlyGenerated.lean

tactic: tfae_have 1 → 2
state_before: ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
⊢ TFAE [WellFounded fun x x_1 => x > x_1, IsSupFiniteCompact α, IsSupClosedCompact α, ∀ (k : α), IsCompactElement k]

tactic: tfae_have 2 → 3
state_before: ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
⊢ TFAE [WellFounded fun x x_1 => x > x_1, IsSupFiniteCompact α, IsSupClosedCompact α, ∀ (k : α), IsCompactElement k]

tactic: tfae_have 3 → 1
state_before: ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
tfae_2_to_3 : IsSupFiniteCompact α → IsSupClosedCompact α
⊢ TFAE [WellFounded fun x x_1 => x > x_1, IsSupFiniteCompact α, IsSupClosedCompact α, ∀ (k : α), IsCompactElement k]

tactic: tfae_have 2 ↔ 4
state_before: ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
tfae_2_to_3 : IsSupFiniteCompact α → IsSupClosedCompact α
tfae_3_to_1 : IsSupClosedCompact α → WellFounded fun x x_1 => x > x_1
⊢ TFAE [WellFounded fun x x_1 => x > x_1, IsSupFiniteCompact α, IsSupClosedCompact α, ∀ (k : α), IsCompactElement k]

tactic: tfae_finish
state_before: ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
tfae_2_to_3 : IsSupFiniteCompact α → IsSupClosedCompact α
tfae_3_to_1 : IsSupClosedCompact α → WellFounded fun x x_1 => x > x_1
tfae_2_iff_4 : IsSupFiniteCompact α ↔ ∀ (k : α), IsCompactElement k
⊢ TFAE [WellFounded fun x x_1 => x > x_1, IsSupFiniteCompact α, IsSupClosedCompact α, ∀ (k : α), IsCompactElement k]

tactic: exact WellFounded.isSupFiniteCompact α
state_before: case tfae_1_to_2
ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
⊢ (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α

tactic: exact IsSupFiniteCompact.isSupClosedCompact α
state_before: case tfae_2_to_3
ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
⊢ IsSupFiniteCompact α → IsSupClosedCompact α

tactic: exact IsSupClosedCompact.wellFounded α
state_before: case tfae_3_to_1
ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
tfae_2_to_3 : IsSupFiniteCompact α → IsSupClosedCompact α
⊢ IsSupClosedCompact α → WellFounded fun x x_1 => x > x_1

tactic: exact isSupFiniteCompact_iff_all_elements_compact α
state_before: case tfae_2_iff_4
ι : Sort ?u.77139
α : Type u_1
inst✝ : CompleteLattice α
f : ι → α
tfae_1_to_2 : (WellFounded fun x x_1 => x > x_1) → IsSupFiniteCompact α
tfae_2_to_3 : IsSupFiniteCompact α → IsSupClosedCompact α
tfae_3_to_1 : IsSupClosedCompact α → WellFounded fun x x_1 => x > x_1
⊢ IsSupFiniteCompact α ↔ ∀ (k : α), IsCompactElement k
Theorem: Stream'.Seq1.join_map_ret
File: Mathlib/Data/Seq/Seq.lean

tactic: apply coinduction2 s
state_before: α : Type u
β : Type v
γ : Type w
s : Seq α
⊢ Seq.join (Seq.map ret s) = s

tactic: intro s
state_before: case H
α : Type u
β : Type v
γ : Type w
s : Seq α
⊢ ∀ (s : Seq α),
    BisimO (fun s1 s2 => ∃ s, s1 = Seq.join (Seq.map ret s) ∧ s2 = s) (destruct (Seq.join (Seq.map ret s))) (destruct s)

tactic: apply recOn s <;> simp [ret]
state_before: case H
α : Type u
β : Type v
γ : Type w
s✝ s : Seq α
⊢ BisimO (fun s1 s2 => ∃ s, s1 = Seq.join (Seq.map ret s) ∧ s2 = s) (destruct (Seq.join (Seq.map ret s))) (destruct s)
Theorem: Irrational.of_pow
File: Mathlib/Data/Real/Irrational.lean

tactic: rw [pow_zero] at h
state_before: q : ℚ
x y : ℝ
h : Irrational (x ^ 0)
⊢ Irrational x

tactic: exact (h ⟨1, cast_one⟩).elim
state_before: q : ℚ
x y : ℝ
h : Irrational 1
⊢ Irrational x

tactic: rw [pow_succ] at h
state_before: q : ℚ
x y : ℝ
n : ℕ
h : Irrational (x ^ (n + 1))
⊢ Irrational x

tactic: exact h.mul_cases.elim id (of_pow n)
state_before: q : ℚ
x y : ℝ
n : ℕ
h : Irrational (x * x ^ n)
⊢ Irrational x
Theorem: MeasureTheory.integrable_indicatorConstLp
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: rw [integrable_congr indicatorConstLp_coeFn, integrable_indicator_iff hs, IntegrableOn,
  integrable_const_iff, lt_top_iff_ne_top]
state_before: α : Type u_2
β : Type ?u.1643027
E✝ : Type ?u.1643030
F : Type ?u.1643033
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E✝
f g : α → E✝
s✝ t : Set α
μ ν : Measure α
E : Type u_1
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : E
⊢ Integrable ↑↑(indicatorConstLp p hs hμs c)

tactic: right
state_before: α : Type u_2
β : Type ?u.1643027
E✝ : Type ?u.1643030
F : Type ?u.1643033
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E✝
f g : α → E✝
s✝ t : Set α
μ ν : Measure α
E : Type u_1
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : E
⊢ c = 0 ∨ ↑↑(Measure.restrict μ s) univ ≠ ⊤

tactic: simpa only [Set.univ_inter, MeasurableSet.univ, Measure.restrict_apply] using hμs
state_before: case h
α : Type u_2
β : Type ?u.1643027
E✝ : Type ?u.1643030
F : Type ?u.1643033
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E✝
f g : α → E✝
s✝ t : Set α
μ ν : Measure α
E : Type u_1
inst✝ : NormedAddCommGroup E
p : ℝ≥0∞
s : Set α
hs : MeasurableSet s
hμs : ↑↑μ s ≠ ⊤
c : E
⊢ ↑↑(Measure.restrict μ s) univ ≠ ⊤
Theorem: CategoryTheory.Bifunctor.diagonal
File: Mathlib/CategoryTheory/Products/Bifunctor.lean

tactic: rw [← Functor.map_comp, prod_comp, Category.id_comp, Category.comp_id]
state_before: C : Type u₁
D : Type u₂
E : Type u₃
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F : C × D ⥤ E
X X' : C
f : X ⟶ X'
Y Y' : D
g : Y ⟶ Y'
⊢ F.map (𝟙 X, g) ≫ F.map (f, 𝟙 Y') = F.map (f, g)
Theorem: Finset.weightedVSubVSubWeights_apply_right
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: simp [weightedVSubVSubWeights, h.symm]
state_before: k : Type u_2
V : Type ?u.422233
P : Type ?u.422236
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
S : AffineSpace V P
ι : Type u_1
s : Finset ι
ι₂ : Type ?u.422892
s₂ : Finset ι₂
inst✝ : DecidableEq ι
i j : ι
h : i ≠ j
⊢ weightedVSubVSubWeights k i j j = -1
Theorem: Finset.mulEtransformLeft_inv
File: Mathlib/Combinatorics/Additive/Etransform.lean

tactic: simp [-op_inv, op_smul_eq_smul, mulEtransformLeft, mulEtransformRight]
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : CommGroup α
e : α
x : Finset α × Finset α
⊢ mulEtransformLeft e⁻¹ x = Prod.swap (mulEtransformRight e (Prod.swap x))
Theorem: ContDiffWithinAt.restrict_scalars
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: rcases h m hm with ⟨u, u_mem, p', hp'⟩
state_before: 𝕜 : Type u_2
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.3357809
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
𝕜' : Type u_1
inst✝⁵ : NontriviallyNormedField 𝕜'
inst✝⁴ : NormedAlgebra 𝕜 𝕜'
inst✝³ : NormedSpace 𝕜' E
inst✝² : IsScalarTower 𝕜 𝕜' E
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
p' : E → FormalMultilinearSeries 𝕜' E F
h : ContDiffWithinAt 𝕜' n f s x
m : ℕ
hm : ↑m ≤ n
⊢ ∃ u, u ∈ 𝓝[insert x s] x ∧ ∃ p, HasFTaylorSeriesUpToOn (↑m) f p u

tactic: exact ⟨u, u_mem, _, hp'.restrictScalars _⟩
state_before: case intro.intro.intro
𝕜 : Type u_2
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.3357809
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
𝕜' : Type u_1
inst✝⁵ : NontriviallyNormedField 𝕜'
inst✝⁴ : NormedAlgebra 𝕜 𝕜'
inst✝³ : NormedSpace 𝕜' E
inst✝² : IsScalarTower 𝕜 𝕜' E
inst✝¹ : NormedSpace 𝕜' F
inst✝ : IsScalarTower 𝕜 𝕜' F
p'✝ : E → FormalMultilinearSeries 𝕜' E F
h : ContDiffWithinAt 𝕜' n f s x
m : ℕ
hm : ↑m ≤ n
u : Set E
u_mem : u ∈ 𝓝[insert x s] x
p' : E → FormalMultilinearSeries 𝕜' E F
hp' : HasFTaylorSeriesUpToOn (↑m) f p' u
⊢ ∃ u, u ∈ 𝓝[insert x s] x ∧ ∃ p, HasFTaylorSeriesUpToOn (↑m) f p u
Theorem: Finset.inv_smul_mem_iff
File: Mathlib/Data/Finset/Pointwise.lean

tactic: rw [← smul_mem_smul_finset_iff a, smul_inv_smul]
state_before: F : Type ?u.829527
α : Type u_2
β : Type u_1
γ : Type ?u.829536
inst✝² : DecidableEq β
inst✝¹ : Group α
inst✝ : MulAction α β
s t : Finset β
a : α
b : β
⊢ a⁻¹ • b ∈ s ↔ b ∈ a • s
Theorem: ContinuousMap.sup_mem_subalgebra_closure
File: Mathlib/Topology/ContinuousFunction/StoneWeierstrass.lean

tactic: rw [sup_eq]
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : CompactSpace X
A : Subalgebra ℝ C(X, ℝ)
f g : { x // x ∈ A }
⊢ ↑f ⊔ ↑g ∈ Subalgebra.topologicalClosure A

tactic: refine'
  A.topologicalClosure.smul_mem
    (A.topologicalClosure.add_mem
      (A.topologicalClosure.add_mem (A.le_topologicalClosure f.property)
        (A.le_topologicalClosure g.property))
      _)
    _
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : CompactSpace X
A : Subalgebra ℝ C(X, ℝ)
f g : { x // x ∈ A }
⊢ 2⁻¹ • (↑f + ↑g + Abs.abs (↑f - ↑g)) ∈ Subalgebra.topologicalClosure A

tactic: exact_mod_cast abs_mem_subalgebra_closure A _
state_before: X : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : CompactSpace X
A : Subalgebra ℝ C(X, ℝ)
f g : { x // x ∈ A }
⊢ Abs.abs (↑f - ↑g) ∈ Subalgebra.topologicalClosure A
Theorem: CharP.nontrivial_of_char_ne_one
File: Mathlib/Algebra/CharP/Basic.lean

tactic: rwa [CharP.cast_eq_zero_iff _ v, Nat.dvd_one] at h
state_before: R : Type u_1
inst✝ : NonAssocSemiring R
v : ℕ
hv : v ≠ 1
hr : CharP R v
h : ↑1 = 0
⊢ v = 1
Theorem: IsUpperSet.not_bddAbove
File: Mathlib/Order/UpperLower/Basic.lean

tactic: rintro ⟨a, ha⟩ ⟨b, hb⟩
state_before: α : Type u_1
β : Type ?u.22760
γ : Type ?u.22763
ι : Sort ?u.22766
κ : ι → Sort ?u.22771
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a : α
inst✝ : NoMaxOrder α
hs : IsUpperSet s
⊢ Set.Nonempty s → ¬BddAbove s

tactic: obtain ⟨c, hc⟩ := exists_gt b
state_before: case intro.intro
α : Type u_1
β : Type ?u.22760
γ : Type ?u.22763
ι : Sort ?u.22766
κ : ι → Sort ?u.22771
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a✝ : α
inst✝ : NoMaxOrder α
hs : IsUpperSet s
a : α
ha : a ∈ s
b : α
hb : b ∈ upperBounds s
⊢ False

tactic: exact hc.not_le (hb <| hs ((hb ha).trans hc.le) ha)
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.22760
γ : Type ?u.22763
ι : Sort ?u.22766
κ : ι → Sort ?u.22771
inst✝² : Preorder α
inst✝¹ : Preorder β
s : Set α
p : α → Prop
a✝ : α
inst✝ : NoMaxOrder α
hs : IsUpperSet s
a : α
ha : a ∈ s
b : α
hb : b ∈ upperBounds s
c : α
hc : b < c
⊢ False
Theorem: Ideal.quotientEquivAlgOfEq_symm
File: Mathlib/RingTheory/Ideal/QuotientOperations.lean

tactic: ext
state_before: R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : CommRing S
R₁ : Type u_2
R₂ : Type ?u.1696123
A : Type u_1
B : Type ?u.1696129
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R₁ A
inst✝¹ : Algebra R₂ A
inst✝ : Algebra R₁ B
I J : Ideal A
h : I = J
⊢ AlgEquiv.symm (quotientEquivAlgOfEq R₁ h) = quotientEquivAlgOfEq R₁ (_ : J = I)

tactic: rfl
state_before: case h
R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : CommRing S
R₁ : Type u_2
R₂ : Type ?u.1696123
A : Type u_1
B : Type ?u.1696129
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : CommRing B
inst✝² : Algebra R₁ A
inst✝¹ : Algebra R₂ A
inst✝ : Algebra R₁ B
I J : Ideal A
h : I = J
a✝ : A ⧸ J
⊢ ↑(AlgEquiv.symm (quotientEquivAlgOfEq R₁ h)) a✝ = ↑(quotientEquivAlgOfEq R₁ (_ : J = I)) a✝
Theorem: HasFTaylorSeriesUpToOn.zero_eq'
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: rw [← h.zero_eq x hx]
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 s
x : E
hx : x ∈ s
⊢ p x 0 = ↑(LinearIsometryEquiv.symm (continuousMultilinearCurryFin0 𝕜 E F)) (f x)

tactic: exact (p x 0).uncurry0_curry0.symm
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 s
x : E
hx : x ∈ s
⊢ p x 0 = ↑(LinearIsometryEquiv.symm (continuousMultilinearCurryFin0 𝕜 E F)) (ContinuousMultilinearMap.uncurry0 (p x 0))
Theorem: ProbabilityTheory.kernel.deterministic_apply'
File: Mathlib/Probability/Kernel/Basic.lean

tactic: rw [deterministic]
state_before: α : Type u_1
β : Type u_2
ι : Type ?u.395518
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : { x // x ∈ kernel α β }
f : α → β
hf : Measurable f
a : α
s : Set β
hs : MeasurableSet s
⊢ ↑↑(↑(deterministic f hf) a) s = Set.indicator s (fun x => 1) (f a)

tactic: change Measure.dirac (f a) s = s.indicator 1 (f a)
state_before: α : Type u_1
β : Type u_2
ι : Type ?u.395518
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : { x // x ∈ kernel α β }
f : α → β
hf : Measurable f
a : α
s : Set β
hs : MeasurableSet s
⊢ ↑↑(↑{ val := fun a => Measure.dirac (f a), property := (_ : Measurable fun a => Measure.dirac (f a)) } a) s =
    Set.indicator s (fun x => 1) (f a)

tactic: simp_rw [Measure.dirac_apply' _ hs]
state_before: α : Type u_1
β : Type u_2
ι : Type ?u.395518
mα : MeasurableSpace α
mβ : MeasurableSpace β
κ : { x // x ∈ kernel α β }
f : α → β
hf : Measurable f
a : α
s : Set β
hs : MeasurableSet s
⊢ ↑↑(Measure.dirac (f a)) s = Set.indicator s 1 (f a)