1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.VectorMeasure.restrict_le_restrict_of_subset_le
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

tactic: by_cases hi : MeasurableSet i
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
i : Set α
h : ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑v j ≤ ↑w j
⊢ v.restrict i ≤ w.restrict i
state_after: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
i : Set α
h : ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑v j ≤ ↑w j
hi : MeasurableSet i
⊢ v.restrict i ≤ w.restrict i

case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
i : Set α
h : ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑v j ≤ ↑w j
hi : ¬MeasurableSet i
⊢ v.restrict i ≤ w.restrict i

tactic: exact (restrict_le_restrict_iff _ _ hi).2 h
state_before: case pos
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
i : Set α
h : ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑v j ≤ ↑w j
hi : MeasurableSet i
⊢ v.restrict i ≤ w.restrict i
state_after: no goals

tactic: rw [restrict_not_measurable v hi, restrict_not_measurable w hi]
state_before: case neg
α : Type u_1
β : Type u_2
m : MeasurableSpace α
M : Type u_3
inst✝² : TopologicalSpace M
inst✝¹ : AddCommMonoid M
inst✝ : PartialOrder M
v w : VectorMeasure α M
i : Set α
h : ∀ ⦃j : Set α⦄, MeasurableSet j → j ⊆ i → ↑v j ≤ ↑w j
hi : ¬MeasurableSet i
⊢ v.restrict i ≤ w.restrict i
state_after: no goals
Theorem: Irreducible.not_square
File: Mathlib/Algebra/Associated.lean

tactic: rw [isSquare_iff_exists_sq]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CommMonoid α
a : α
ha : Irreducible a
⊢ ¬IsSquare a
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CommMonoid α
a : α
ha : Irreducible a
⊢ ¬∃ c, a = c ^ 2

tactic: rintro ⟨b, rfl⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CommMonoid α
a : α
ha : Irreducible a
⊢ ¬∃ c, a = c ^ 2
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CommMonoid α
b : α
ha : Irreducible (b ^ 2)
⊢ False

tactic: exact not_irreducible_pow (by decide) ha
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CommMonoid α
b : α
ha : Irreducible (b ^ 2)
⊢ False
state_after: no goals

tactic: decide
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CommMonoid α
b : α
ha : Irreducible (b ^ 2)
⊢ 2 ≠ 1
state_after: no goals
Theorem: collinear_triple_of_mem_affineSpan_pair
File: Mathlib/LinearAlgebra/AffineSpace/FiniteDimensional.lean

tactic: refine (collinear_insert_insert_insert_left_of_mem_affineSpan_pair h₁ h₂ h₃).subset ?_
state_before: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
p₁ p₂ p₃ p₄ p₅ : P
h₁ : p₁ ∈ affineSpan k {p₄, p₅}
h₂ : p₂ ∈ affineSpan k {p₄, p₅}
h₃ : p₃ ∈ affineSpan k {p₄, p₅}
⊢ Collinear k {p₁, p₂, p₃}
state_after: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
p₁ p₂ p₃ p₄ p₅ : P
h₁ : p₁ ∈ affineSpan k {p₄, p₅}
h₂ : p₂ ∈ affineSpan k {p₄, p₅}
h₃ : p₃ ∈ affineSpan k {p₄, p₅}
⊢ {p₁, p₂, p₃} ⊆ {p₁, p₂, p₃, p₄}

tactic: simp [Set.insert_subset_insert]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
ι : Type u_4
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
p₁ p₂ p₃ p₄ p₅ : P
h₁ : p₁ ∈ affineSpan k {p₄, p₅}
h₂ : p₂ ∈ affineSpan k {p₄, p₅}
h₃ : p₃ ∈ affineSpan k {p₄, p₅}
⊢ {p₁, p₂, p₃} ⊆ {p₁, p₂, p₃, p₄}
state_after: no goals
Theorem: MvPolynomial.vars_monomial
File: Mathlib/Algebra/MvPolynomial/Variables.lean

tactic: classical rw [vars_def, degrees_monomial_eq _ _ h, Finsupp.toFinset_toMultiset]
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
h : r ≠ 0
⊢ ((monomial s) r).vars = s.support
state_after: no goals

tactic: rw [vars_def, degrees_monomial_eq _ _ h, Finsupp.toFinset_toMultiset]
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
h : r ≠ 0
⊢ ((monomial s) r).vars = s.support
state_after: no goals
Theorem: Finsupp.prod_single_index
File: Mathlib/Algebra/BigOperators/Finsupp.lean

tactic: simp
state_before: α : Type u_1
ι : Type u_2
γ : Type u_3
A : Type u_4
B : Type u_5
C : Type u_6
inst✝⁵ : AddCommMonoid A
inst✝⁴ : AddCommMonoid B
inst✝³ : AddCommMonoid C
t : ι → A → C
h0 : ∀ (i : ι), t i 0 = 0
h1 : ∀ (i : ι) (x y : A), t i (x + y) = t i x + t i y
s : Finset α
f : α → ι →₀ A
i : ι
g : ι →₀ A
k : ι → A → γ → B
x : γ
β : Type u_7
M : Type u_8
M' : Type u_9
N : Type u_10
P : Type u_11
G : Type u_12
H : Type u_13
R : Type u_14
S : Type u_15
inst✝² : Zero M
inst✝¹ : Zero M'
inst✝ : CommMonoid N
a : α
b : M
h : α → M → N
h_zero : h a 0 = 1
⊢ ∏ x ∈ {a}, h x ((single a b) x) = h a b
state_after: no goals
Theorem: CategoryTheory.MonoidalCategory.inv_whiskerLeft
File: Mathlib/CategoryTheory/Monoidal/Category.lean

tactic: aesop_cat
state_before: C : Type u
𝒞 : Category.{v, u} C
inst✝¹ : MonoidalCategory C
X Y Z : C
f : Y ⟶ Z
inst✝ : IsIso f
⊢ inv (X ◁ f) = X ◁ inv f
state_after: no goals
Theorem: posMulReflectLE_iff_mulPosReflectLE
File: Mathlib/Algebra/Order/GroupWithZero/Unbundled.lean

tactic: simp only [PosMulReflectLE, MulPosReflectLE, IsSymmOp.symm_op]
state_before: α : Type u_1
a b c d : α
inst✝³ : Mul α
inst✝² : IsSymmOp α α fun x x_1 => x * x_1
inst✝¹ : Zero α
inst✝ : Preorder α
⊢ PosMulReflectLE α ↔ MulPosReflectLE α
state_after: no goals
Theorem: MeasureTheory.AEStronglyMeasurable.stronglyMeasurableAtFilter
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: rwa [Measure.restrict_univ]
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : TopologicalSpace β
l l' : Filter α
f g : α → β
μ ν : Measure α
h : AEStronglyMeasurable f μ
⊢ AEStronglyMeasurable f (μ.restrict univ)
state_after: no goals
Theorem: Matrix.nnnorm_col
File: Mathlib/Analysis/Matrix.lean

tactic: simp [nnnorm_def, Pi.nnnorm_def]
state_before: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁵ : Fintype l
inst✝⁴ : Fintype m
inst✝³ : Fintype n
inst✝² : Unique ι
inst✝¹ : SeminormedAddCommGroup α
inst✝ : SeminormedAddCommGroup β
v : m → α
⊢ ‖col ι v‖₊ = ‖v‖₊
state_after: no goals
Theorem: Rel.comp_right_bot
File: Mathlib/Data/Rel.lean

tactic: ext x y
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ r : Rel α β
⊢ r • ⊥ = ⊥
state_after: case a.h.a
α : Type u_1
β : Type u_2
γ : Type u_3
r✝ r : Rel α β
x : α
y : γ
⊢ (r • ⊥) x y ↔ ⊥ x y

tactic: simp [comp, Bot.bot]
state_before: case a.h.a
α : Type u_1
β : Type u_2
γ : Type u_3
r✝ r : Rel α β
x : α
y : γ
⊢ (r • ⊥) x y ↔ ⊥ x y
state_after: no goals
Theorem: Matrix.toLinAlgEquiv_mul
File: Mathlib/LinearAlgebra/Matrix/ToLin.lean

tactic: convert Matrix.toLin_mul v₁ v₁ v₁ A B
state_before: R : Type u_1
inst✝⁹ : CommSemiring R
l : Type u_2
m : Type u_3
n : Type u_4
inst✝⁸ : Fintype n
inst✝⁷ : Fintype m
inst✝⁶ : DecidableEq n
M₁ : Type u_5
M₂ : Type u_6
inst✝⁵ : AddCommMonoid M₁
inst✝⁴ : AddCommMonoid M₂
inst✝³ : Module R M₁
inst✝² : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
M₃ : Type u_7
inst✝¹ : AddCommMonoid M₃
inst✝ : Module R M₃
v₃ : Basis l R M₃
A B : Matrix n n R
⊢ (toLinAlgEquiv v₁) (A * B) = (toLinAlgEquiv v₁) A ∘ₗ (toLinAlgEquiv v₁) B
state_after: no goals
Theorem: MeasureTheory.ofReal_setIntegral_one_of_measure_ne_top
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: simp only [norm_one]
state_before: X✝ : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X✝
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f g : X✝ → E
s✝ t : Set X✝
μ✝ ν : Measure X✝
l l' : Filter X✝
X : Type u_5
m : MeasurableSpace X
μ : Measure X
s : Set X
hs : μ s ≠ ⊤
⊢ ENNReal.ofReal (∫ (x : X) in s, 1 ∂μ) = ENNReal.ofReal (∫ (x : X) in s, ‖1‖ ∂μ)
state_after: no goals

tactic: rw [ofReal_integral_norm_eq_lintegral_nnnorm (integrableOn_const.2 (Or.inr hs.lt_top))]
state_before: X✝ : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X✝
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f g : X✝ → E
s✝ t : Set X✝
μ✝ ν : Measure X✝
l l' : Filter X✝
X : Type u_5
m : MeasurableSpace X
μ : Measure X
s : Set X
hs : μ s ≠ ⊤
⊢ ENNReal.ofReal (∫ (x : X) in s, ‖1‖ ∂μ) = ∫⁻ (x : X) in s, 1 ∂μ
state_after: X✝ : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X✝
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f g : X✝ → E
s✝ t : Set X✝
μ✝ ν : Measure X✝
l l' : Filter X✝
X : Type u_5
m : MeasurableSpace X
μ : Measure X
s : Set X
hs : μ s ≠ ⊤
⊢ ∫⁻ (x : X) in s, ↑‖1‖₊ ∂μ = ∫⁻ (x : X) in s, 1 ∂μ

tactic: simp only [nnnorm_one, ENNReal.coe_one]
state_before: X✝ : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝² : MeasurableSpace X✝
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
f g : X✝ → E
s✝ t : Set X✝
μ✝ ν : Measure X✝
l l' : Filter X✝
X : Type u_5
m : MeasurableSpace X
μ : Measure X
s : Set X
hs : μ s ≠ ⊤
⊢ ∫⁻ (x : X) in s, ↑‖1‖₊ ∂μ = ∫⁻ (x : X) in s, 1 ∂μ
state_after: no goals
Theorem: ContinuousLinearMap.flip_flip
File: Mathlib/Analysis/NormedSpace/OperatorNorm/Bilinear.lean

tactic: ext
state_before: 𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹⁸ : SeminormedAddCommGroup E
inst✝¹⁷ : SeminormedAddCommGroup Eₗ
inst✝¹⁶ : SeminormedAddCommGroup F
inst✝¹⁵ : SeminormedAddCommGroup Fₗ
inst✝¹⁴ : SeminormedAddCommGroup G
inst✝¹³ : SeminormedAddCommGroup Gₗ
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NontriviallyNormedField 𝕜₂
inst✝¹⁰ : NontriviallyNormedField 𝕜₃
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedSpace 𝕜 Eₗ
inst✝⁷ : NormedSpace 𝕜₂ F
inst✝⁶ : NormedSpace 𝕜 Fₗ
inst✝⁵ : NormedSpace 𝕜₃ G
inst✝⁴ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝³ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝² : FunLike 𝓕 E F
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : RingHomIsometric σ₁₃
f : E →SL[σ₁₃] F →SL[σ₂₃] G
⊢ f.flip.flip = f
state_after: case h.h
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹⁸ : SeminormedAddCommGroup E
inst✝¹⁷ : SeminormedAddCommGroup Eₗ
inst✝¹⁶ : SeminormedAddCommGroup F
inst✝¹⁵ : SeminormedAddCommGroup Fₗ
inst✝¹⁴ : SeminormedAddCommGroup G
inst✝¹³ : SeminormedAddCommGroup Gₗ
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NontriviallyNormedField 𝕜₂
inst✝¹⁰ : NontriviallyNormedField 𝕜₃
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedSpace 𝕜 Eₗ
inst✝⁷ : NormedSpace 𝕜₂ F
inst✝⁶ : NormedSpace 𝕜 Fₗ
inst✝⁵ : NormedSpace 𝕜₃ G
inst✝⁴ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝³ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝² : FunLike 𝓕 E F
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : RingHomIsometric σ₁₃
f : E →SL[σ₁₃] F →SL[σ₂₃] G
x✝¹ : E
x✝ : F
⊢ (f.flip.flip x✝¹) x✝ = (f x✝¹) x✝

tactic: rfl
state_before: case h.h
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type u_3
E : Type u_4
Eₗ : Type u_5
F : Type u_6
Fₗ : Type u_7
G : Type u_8
Gₗ : Type u_9
𝓕 : Type u_10
inst✝¹⁸ : SeminormedAddCommGroup E
inst✝¹⁷ : SeminormedAddCommGroup Eₗ
inst✝¹⁶ : SeminormedAddCommGroup F
inst✝¹⁵ : SeminormedAddCommGroup Fₗ
inst✝¹⁴ : SeminormedAddCommGroup G
inst✝¹³ : SeminormedAddCommGroup Gₗ
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : NontriviallyNormedField 𝕜₂
inst✝¹⁰ : NontriviallyNormedField 𝕜₃
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : NormedSpace 𝕜 Eₗ
inst✝⁷ : NormedSpace 𝕜₂ F
inst✝⁶ : NormedSpace 𝕜 Fₗ
inst✝⁵ : NormedSpace 𝕜₃ G
inst✝⁴ : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝³ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝² : FunLike 𝓕 E F
inst✝¹ : RingHomIsometric σ₂₃
inst✝ : RingHomIsometric σ₁₃
f : E →SL[σ₁₃] F →SL[σ₂₃] G
x✝¹ : E
x✝ : F
⊢ (f.flip.flip x✝¹) x✝ = (f x✝¹) x✝
state_after: no goals
Theorem: max_def'
File: Mathlib/Order/Basic.lean

tactic: rw [max_def]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
⊢ max a b = if b ≤ a then a else b
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b

tactic: rcases lt_trichotomy a b with (lt | eq | gt)
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b
state_after: case inl
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
lt : a < b
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b

case inr.inl
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
eq : a = b
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b

case inr.inr
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
gt : b < a
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b

tactic: rw [if_pos lt.le, if_neg (not_le.mpr lt)]
state_before: case inl
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
lt : a < b
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b
state_after: no goals

tactic: rw [if_pos eq.le, if_pos eq.ge, eq]
state_before: case inr.inl
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
eq : a = b
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b
state_after: no goals

tactic: rw [if_neg (not_le.mpr gt.gt), if_pos gt.le]
state_before: case inr.inr
ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝ : LinearOrder α
a b : α
gt : b < a
⊢ (if a ≤ b then b else a) = if b ≤ a then a else b
state_after: no goals
Theorem: hasFTaylorSeriesUpTo_succ_iff_right
File: Mathlib/Analysis/Calculus/ContDiff/Defs.lean

tactic: simp only [hasFTaylorSeriesUpToOn_succ_iff_right, ← hasFTaylorSeriesUpToOn_univ_iff, mem_univ,
  forall_true_left, hasFDerivWithinAt_univ]
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
n : ℕ
⊢ HasFTaylorSeriesUpTo (↑(n + 1)) f p ↔
    (∀ (x : E), (p x 0).uncurry0 = f x) ∧
      (∀ (x : E), HasFDerivAt (fun y => p y 0) (p x 1).curryLeft x) ∧
        HasFTaylorSeriesUpTo (↑n) (fun x => (continuousMultilinearCurryFin1 𝕜 E F) (p x 1)) fun x => (p x).shift
state_after: no goals
Theorem: List.findIdx_cons
File: .lake/packages/batteries/Batteries/Data/List/Lemmas.lean

tactic: cases H : p b with
| true => simp [H, findIdx, findIdx.go]
| false => simp [H, findIdx, findIdx.go, findIdx_go_succ]
state_before: α : Type u_1
p : α → Bool
b : α
l : List α
⊢ findIdx p (b :: l) = bif p b then 0 else findIdx p l + 1
state_after: no goals

tactic: simp [H, findIdx, findIdx.go]
state_before: case true
α : Type u_1
p : α → Bool
b : α
l : List α
H : p b = true
⊢ findIdx p (b :: l) = bif true then 0 else findIdx p l + 1
state_after: no goals

tactic: simp [H, findIdx, findIdx.go, findIdx_go_succ]
state_before: case false
α : Type u_1
p : α → Bool
b : α
l : List α
H : p b = false
⊢ findIdx p (b :: l) = bif false then 0 else findIdx p l + 1
state_after: no goals

tactic: cases l with
| nil => unfold findIdx.go; exact Nat.succ_eq_add_one n
| cons head tail =>
  unfold findIdx.go
  cases p head <;> simp only [cond_false, cond_true]
  exact findIdx_go_succ p tail (n + 1)
state_before: α : Type u_1
p✝ : α → Bool
b : α
l✝ : List α
p : α → Bool
l : List α
n : Nat
⊢ findIdx.go p l (n + 1) = findIdx.go p l n + 1
state_after: no goals

tactic: unfold findIdx.go
state_before: case nil
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
⊢ findIdx.go p [] (n + 1) = findIdx.go p [] n + 1
state_after: case nil
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
⊢ n + 1 = n + 1

tactic: exact Nat.succ_eq_add_one n
state_before: case nil
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
⊢ n + 1 = n + 1
state_after: no goals

tactic: unfold findIdx.go
state_before: case cons
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
head : α
tail : List α
⊢ findIdx.go p (head :: tail) (n + 1) = findIdx.go p (head :: tail) n + 1
state_after: case cons
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
head : α
tail : List α
⊢ (bif p head then n + 1 else findIdx.go p tail (n + 1 + 1)) = (bif p head then n else findIdx.go p tail (n + 1)) + 1

tactic: cases p head <;> simp only [cond_false, cond_true]
state_before: case cons
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
head : α
tail : List α
⊢ (bif p head then n + 1 else findIdx.go p tail (n + 1 + 1)) = (bif p head then n else findIdx.go p tail (n + 1)) + 1
state_after: case cons.false
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
head : α
tail : List α
⊢ findIdx.go p tail (n + 1 + 1) = findIdx.go p tail (n + 1) + 1

tactic: exact findIdx_go_succ p tail (n + 1)
state_before: case cons.false
α : Type u_1
p✝ : α → Bool
b : α
l : List α
p : α → Bool
n : Nat
head : α
tail : List α
⊢ findIdx.go p tail (n + 1 + 1) = findIdx.go p tail (n + 1) + 1
state_after: no goals
Theorem: Filter.HasBasis.uniformSpace_eq_bot
File: Mathlib/Topology/UniformSpace/Basic.lean

tactic: simp [uniformSpace_eq_bot, h.mem_iff, subset_def, Pairwise, not_imp_not]
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι✝ : Sort u_1
ι : Sort u_2
p : ι → Prop
s : ι → Set (α × α)
u : UniformSpace α
h : (𝓤 α).HasBasis p s
⊢ u = ⊥ ↔ ∃ i, p i ∧ Pairwise fun x y => (x, y) ∉ s i
state_after: no goals
Theorem: sup_lt_of_lt_sdiff_left
File: Mathlib/Order/BooleanAlgebra.lean

tactic: rw [← sup_sdiff_cancel_right hxz]
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
⊢ x ⊔ y < z
state_after: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
⊢ x ⊔ y < x ⊔ z \ x

tactic: refine (sup_le_sup_left h.le _).lt_of_not_le fun h' => h.not_le ?_
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
⊢ x ⊔ y < x ⊔ z \ x
state_after: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
h' : x ⊔ z \ x ≤ x ⊔ y
⊢ z \ x ≤ y

tactic: rw [← sdiff_idem]
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
h' : x ⊔ z \ x ≤ x ⊔ y
⊢ z \ x ≤ y
state_after: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
h' : x ⊔ z \ x ≤ x ⊔ y
⊢ (z \ x) \ x ≤ y

tactic: exact (sdiff_le_sdiff_of_sup_le_sup_left h').trans sdiff_le
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
h : y < z \ x
hxz : x ≤ z
h' : x ⊔ z \ x ≤ x ⊔ y
⊢ (z \ x) \ x ≤ y
state_after: no goals
Theorem: OrderEmbedding.birkhoffFinset_sup
File: Mathlib/Order/Birkhoff.lean

tactic: dsimp [OrderEmbedding.birkhoffFinset]
state_before: α : Type u_1
inst✝⁴ : DistribLattice α
inst✝³ : OrderBot α
inst✝² : Fintype α
inst✝¹ : DecidablePred SupIrred
inst✝ : DecidableEq α
a b : α
⊢ birkhoffFinset (a ⊔ b) = birkhoffFinset a ∪ birkhoffFinset b
state_after: α : Type u_1
inst✝⁴ : DistribLattice α
inst✝³ : OrderBot α
inst✝² : Fintype α
inst✝¹ : DecidablePred SupIrred
inst✝ : DecidableEq α
a b : α
⊢ Fintype.finsetOrderIsoSet.symm.toOrderEmbedding (birkhoffSet (a ⊔ b)) =
    Fintype.finsetOrderIsoSet.symm.toOrderEmbedding (birkhoffSet a) ∪
      Fintype.finsetOrderIsoSet.symm.toOrderEmbedding (birkhoffSet b)

tactic: rw [birkhoffSet_sup, OrderIso.coe_toOrderEmbedding]
state_before: α : Type u_1
inst✝⁴ : DistribLattice α
inst✝³ : OrderBot α
inst✝² : Fintype α
inst✝¹ : DecidablePred SupIrred
inst✝ : DecidableEq α
a b : α
⊢ Fintype.finsetOrderIsoSet.symm.toOrderEmbedding (birkhoffSet (a ⊔ b)) =
    Fintype.finsetOrderIsoSet.symm.toOrderEmbedding (birkhoffSet a) ∪
      Fintype.finsetOrderIsoSet.symm.toOrderEmbedding (birkhoffSet b)
state_after: α : Type u_1
inst✝⁴ : DistribLattice α
inst✝³ : OrderBot α
inst✝² : Fintype α
inst✝¹ : DecidablePred SupIrred
inst✝ : DecidableEq α
a b : α
⊢ Fintype.finsetOrderIsoSet.symm (birkhoffSet a ∪ birkhoffSet b) =
    Fintype.finsetOrderIsoSet.symm (birkhoffSet a) ∪ Fintype.finsetOrderIsoSet.symm (birkhoffSet b)

tactic: simp
state_before: α : Type u_1
inst✝⁴ : DistribLattice α
inst✝³ : OrderBot α
inst✝² : Fintype α
inst✝¹ : DecidablePred SupIrred
inst✝ : DecidableEq α
a b : α
⊢ Fintype.finsetOrderIsoSet.symm (birkhoffSet a ∪ birkhoffSet b) =
    Fintype.finsetOrderIsoSet.symm (birkhoffSet a) ∪ Fintype.finsetOrderIsoSet.symm (birkhoffSet b)
state_after: no goals
Theorem: Nat.recDiag_zero_succ
File: .lake/packages/batteries/Batteries/Data/Nat/Lemmas.lean

tactic: simp [Nat.recDiag]
state_before: motive : Nat → Nat → Sort u_1
zero_zero : motive 0 0
zero_succ : (n : Nat) → motive 0 n → motive 0 (n + 1)
succ_zero : (m : Nat) → motive m 0 → motive (m + 1) 0
succ_succ : (m n : Nat) → motive m n → motive (m + 1) (n + 1)
n : Nat
⊢ Nat.recDiag zero_zero zero_succ succ_zero succ_succ 0 (n + 1) =
    zero_succ n (Nat.recDiag zero_zero zero_succ succ_zero succ_succ 0 n)
state_after: motive : Nat → Nat → Sort u_1
zero_zero : motive 0 0
zero_succ : (n : Nat) → motive 0 n → motive 0 (n + 1)
succ_zero : (m : Nat) → motive m 0 → motive (m + 1) 0
succ_succ : (m n : Nat) → motive m n → motive (m + 1) (n + 1)
n : Nat
⊢ recDiag.left zero_zero zero_succ (n + 1) = zero_succ n (recDiag.left zero_zero zero_succ n)

tactic: rfl
state_before: motive : Nat → Nat → Sort u_1
zero_zero : motive 0 0
zero_succ : (n : Nat) → motive 0 n → motive 0 (n + 1)
succ_zero : (m : Nat) → motive m 0 → motive (m + 1) 0
succ_succ : (m n : Nat) → motive m n → motive (m + 1) (n + 1)
n : Nat
⊢ recDiag.left zero_zero zero_succ (n + 1) = zero_succ n (recDiag.left zero_zero zero_succ n)
state_after: no goals
Theorem: nhdsSet_eq_principal_iff
File: Mathlib/Topology/NhdsSet.lean

tactic: rw [← principal_le_nhdsSet.le_iff_eq, le_principal_iff, mem_nhdsSet_iff_forall,
  isOpen_iff_mem_nhds]
state_before: X : Type u_1
Y : Type u_2
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f : Filter X
s t s₁ s₂ t₁ t₂ : Set X
x : X
⊢ 𝓝ˢ s = 𝓟 s ↔ IsOpen s
state_after: no goals