1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: AlgebraicTopology.DoldKan.inclusionOfMooreComplexMap_comp_PInfty
File: Mathlib/AlgebraicTopology/DoldKan/Normalized.lean

tactic: ext (_|n)
state_before: A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ inclusionOfMooreComplexMap X ≫ PInfty = inclusionOfMooreComplexMap X
state_after: case h.zero
A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ (inclusionOfMooreComplexMap X ≫ PInfty).f 0 = (inclusionOfMooreComplexMap X).f 0

case h.succ
A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
n : ℕ
⊢ (inclusionOfMooreComplexMap X ≫ PInfty).f (n + 1) = (inclusionOfMooreComplexMap X).f (n + 1)

tactic: dsimp
state_before: case h.zero
A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ (inclusionOfMooreComplexMap X ≫ PInfty).f 0 = (inclusionOfMooreComplexMap X).f 0
state_after: case h.zero
A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ (inclusionOfMooreComplexMap X).f 0 ≫ 𝟙 (X.obj { unop := SimplexCategory.mk 0 }) = (inclusionOfMooreComplexMap X).f 0

tactic: simp only [comp_id]
state_before: case h.zero
A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
⊢ (inclusionOfMooreComplexMap X).f 0 ≫ 𝟙 (X.obj { unop := SimplexCategory.mk 0 }) = (inclusionOfMooreComplexMap X).f 0
state_after: no goals

tactic: exact (HigherFacesVanish.inclusionOfMooreComplexMap n).comp_P_eq_self
state_before: case h.succ
A : Type u_1
inst✝¹ : Category.{u_2, u_1} A
inst✝ : Abelian A
X✝ X : SimplicialObject A
n : ℕ
⊢ (inclusionOfMooreComplexMap X ≫ PInfty).f (n + 1) = (inclusionOfMooreComplexMap X).f (n + 1)
state_after: no goals
Theorem: CategoryTheory.BraidedCategory.braiding_naturality
File: Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean

tactic: rw [tensorHom_def' f g, tensorHom_def g f]
state_before: C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X X' Y Y' : C
f : X ⟶ Y
g : X' ⟶ Y'
⊢ (f ⊗ g) ≫ (β_ Y Y').hom = (β_ X X').hom ≫ (g ⊗ f)
state_after: C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X X' Y Y' : C
f : X ⟶ Y
g : X' ⟶ Y'
⊢ (X ◁ g ≫ f ▷ Y') ≫ (β_ Y Y').hom = (β_ X X').hom ≫ g ▷ X ≫ Y' ◁ f

tactic: simp_rw [Category.assoc, braiding_naturality_left, braiding_naturality_right_assoc]
state_before: C : Type u
inst✝² : Category.{v, u} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X X' Y Y' : C
f : X ⟶ Y
g : X' ⟶ Y'
⊢ (X ◁ g ≫ f ▷ Y') ≫ (β_ Y Y').hom = (β_ X X').hom ≫ g ▷ X ≫ Y' ◁ f
state_after: no goals
Theorem: Asymptotics.isBigO_cofinite_iff
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: simp [h _ hx, hx]
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
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✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
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 α
h : ∀ (x : α), g'' x = 0 → f'' x = 0
h' : f'' =O[cofinite] g''
C : ℝ
_C₀ : C > 0
hC : ∀ ⦃x : α⦄, g'' x ≠ 0 → ‖f'' x‖ ≤ C * ‖g'' x‖
x : α
hx : g'' x = 0
⊢ ‖f'' x‖ ≤ C * ‖g'' x‖
state_after: no goals
Theorem: AddMonoidAlgebra.mapDomainAlgHom_id
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

tactic: ext
state_before: k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
k : Type u_3
A : Type u_4
inst✝³ : CommSemiring k
inst✝² : Semiring A
inst✝¹ : Algebra k A
inst✝ : AddMonoid G
⊢ mapDomainAlgHom k A (AddMonoidHom.id G) = AlgHom.id k A[G]
state_after: case H
k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
k : Type u_3
A : Type u_4
inst✝³ : CommSemiring k
inst✝² : Semiring A
inst✝¹ : Algebra k A
inst✝ : AddMonoid G
x✝ : A[G]
⊢ (mapDomainAlgHom k A (AddMonoidHom.id G)) x✝ = (AlgHom.id k A[G]) x✝

tactic: simp [AddMonoidHom.id, ← Function.id_def]
state_before: case H
k✝ : Type u₁
G : Type u₂
H : Type u_1
R : Type u_2
k : Type u_3
A : Type u_4
inst✝³ : CommSemiring k
inst✝² : Semiring A
inst✝¹ : Algebra k A
inst✝ : AddMonoid G
x✝ : A[G]
⊢ (mapDomainAlgHom k A (AddMonoidHom.id G)) x✝ = (AlgHom.id k A[G]) x✝
state_after: no goals
Theorem: FirstOrder.Language.Structure.fg_iff
File: Mathlib/ModelTheory/FinitelyGenerated.lean

tactic: rw [fg_def, Substructure.fg_def]
state_before: L : Language
M : Type u_1
inst✝ : L.Structure M
⊢ FG L M ↔ ∃ S, S.Finite ∧ (closure L).toFun S = ⊤
state_after: no goals
Theorem: Finset.lcm_congr
File: Mathlib/Algebra/GCDMonoid/Finset.lean

tactic: subst hs
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ s₂ : Finset β
f✝ f g : β → α
hs : s₁ = s₂
hfg : ∀ a ∈ s₂, f a = g a
⊢ s₁.lcm f = s₂.lcm g
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ : Finset β
f✝ f g : β → α
hfg : ∀ a ∈ s₁, f a = g a
⊢ s₁.lcm f = s₁.lcm g

tactic: exact Finset.fold_congr hfg
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ : Finset β
f✝ f g : β → α
hfg : ∀ a ∈ s₁, f a = g a
⊢ s₁.lcm f = s₁.lcm g
state_after: no goals
Theorem: isLindelof_iff_isLindelof_univ
File: Mathlib/Topology/Compactness/Lindelof.lean

tactic: rw [Subtype.isLindelof_iff, image_univ, Subtype.range_coe]
state_before: X : Type u
Y : Type v
ι : Type u_1
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
s t : Set X
⊢ IsLindelof s ↔ IsLindelof univ
state_after: no goals
Theorem: ENNReal.rpow_le_self_of_le_one
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: nth_rw 2 [← ENNReal.rpow_one x]
state_before: x : ℝ≥0∞
z : ℝ
hx : x ≤ 1
h_one_le : 1 ≤ z
⊢ x ^ z ≤ x
state_after: x : ℝ≥0∞
z : ℝ
hx : x ≤ 1
h_one_le : 1 ≤ z
⊢ x ^ z ≤ x ^ 1

tactic: exact ENNReal.rpow_le_rpow_of_exponent_ge hx h_one_le
state_before: x : ℝ≥0∞
z : ℝ
hx : x ≤ 1
h_one_le : 1 ≤ z
⊢ x ^ z ≤ x ^ 1
state_after: no goals
Theorem: Matrix.mul_inv_eq_iff_eq_mul_of_invertible
File: Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean

tactic: rw [← h, inv_mul_cancel_right_of_invertible]
state_before: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝³ : Fintype n
inst✝² : DecidableEq n
inst✝¹ : CommRing α
A✝ B✝ A B C : Matrix n n α
inst✝ : Invertible A
h : B * A⁻¹ = C
⊢ B = C * A
state_after: no goals

tactic: rw [h, mul_inv_cancel_right_of_invertible]
state_before: l : Type u_1
m : Type u
n : Type u'
α : Type v
inst✝³ : Fintype n
inst✝² : DecidableEq n
inst✝¹ : CommRing α
A✝ B✝ A B C : Matrix n n α
inst✝ : Invertible A
h : B = C * A
⊢ B * A⁻¹ = C
state_after: no goals
Theorem: Subgroup.map_eq_range_iff
File: Mathlib/Algebra/Group/Subgroup/Basic.lean

tactic: rw [f.range_eq_map, map_eq_map_iff, codisjoint_iff, top_sup_eq]
state_before: G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝⁴ : Group G
inst✝³ : Group G'
inst✝² : Group G''
A : Type u_4
inst✝¹ : AddGroup A
N : Type u_5
inst✝ : Group N
f✝ f : G →* N
H : Subgroup G
⊢ map f H = f.range ↔ Codisjoint H f.ker
state_after: no goals
Theorem: AList.union_empty
File: Mathlib/Data/List/AList.lean

tactic: simp
state_before: α : Type u
β : α → Type v
inst✝ : DecidableEq α
s : AList β
⊢ (s ∪ ∅).entries = s.entries
state_after: no goals
Theorem: Pi.apply_mulSingle₂
File: Mathlib/Algebra/Group/Pi/Basic.lean

tactic: by_cases h : j = i
state_before: I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h : I → Type v₃
x✝ y✝ : (i : I) → f i
i✝ : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h i)
f' : (i : I) → f i → g i → h i
hf' : ∀ (i : I), f' i 1 1 = 1
i : I
x : f i
y : g i
j : I
⊢ f' j (mulSingle i x j) (mulSingle i y j) = mulSingle i (f' i x y) j
state_after: case pos
I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h✝ : I → Type v₃
x✝ y✝ : (i : I) → f i
i✝ : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h✝ i)
f' : (i : I) → f i → g i → h✝ i
hf' : ∀ (i : I), f' i 1 1 = 1
i : I
x : f i
y : g i
j : I
h : j = i
⊢ f' j (mulSingle i x j) (mulSingle i y j) = mulSingle i (f' i x y) j

case neg
I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h✝ : I → Type v₃
x✝ y✝ : (i : I) → f i
i✝ : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h✝ i)
f' : (i : I) → f i → g i → h✝ i
hf' : ∀ (i : I), f' i 1 1 = 1
i : I
x : f i
y : g i
j : I
h : ¬j = i
⊢ f' j (mulSingle i x j) (mulSingle i y j) = mulSingle i (f' i x y) j

tactic: subst h
state_before: case pos
I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h✝ : I → Type v₃
x✝ y✝ : (i : I) → f i
i✝ : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h✝ i)
f' : (i : I) → f i → g i → h✝ i
hf' : ∀ (i : I), f' i 1 1 = 1
i : I
x : f i
y : g i
j : I
h : j = i
⊢ f' j (mulSingle i x j) (mulSingle i y j) = mulSingle i (f' i x y) j
state_after: case pos
I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h : I → Type v₃
x✝ y✝ : (i : I) → f i
i : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h i)
f' : (i : I) → f i → g i → h i
hf' : ∀ (i : I), f' i 1 1 = 1
j : I
x : f j
y : g j
⊢ f' j (mulSingle j x j) (mulSingle j y j) = mulSingle j (f' j x y) j

tactic: simp only [mulSingle_eq_same]
state_before: case pos
I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h : I → Type v₃
x✝ y✝ : (i : I) → f i
i : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h i)
f' : (i : I) → f i → g i → h i
hf' : ∀ (i : I), f' i 1 1 = 1
j : I
x : f j
y : g j
⊢ f' j (mulSingle j x j) (mulSingle j y j) = mulSingle j (f' j x y) j
state_after: no goals

tactic: simp only [mulSingle_eq_of_ne h, hf']
state_before: case neg
I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f : I → Type v₁
g : I → Type v₂
h✝ : I → Type v₃
x✝ y✝ : (i : I) → f i
i✝ : I
inst✝³ : DecidableEq I
inst✝² : (i : I) → One (f i)
inst✝¹ : (i : I) → One (g i)
inst✝ : (i : I) → One (h✝ i)
f' : (i : I) → f i → g i → h✝ i
hf' : ∀ (i : I), f' i 1 1 = 1
i : I
x : f i
y : g i
j : I
h : ¬j = i
⊢ f' j (mulSingle i x j) (mulSingle i y j) = mulSingle i (f' i x y) j
state_after: no goals
Theorem: Part.some_div_some
File: Mathlib/Data/Part.lean

tactic: simp [div_def]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : Div α
a b : α
⊢ some a / some b = some (a / b)
state_after: no goals
Theorem: Matrix.vandermonde_transpose_mul_vandermonde
File: Mathlib/LinearAlgebra/Vandermonde.lean

tactic: simp only [vandermonde_apply, Matrix.mul_apply, Matrix.transpose_apply, pow_add]
state_before: R : Type u_1
inst✝ : CommRing R
n : ℕ
v : Fin n → R
i j : Fin n
⊢ ((vandermonde v)ᵀ * vandermonde v) i j = ∑ k : Fin n, v k ^ (↑i + ↑j)
state_after: no goals
Theorem: Monoid.pow_exponent_eq_one
File: Mathlib/GroupTheory/Exponent.lean

tactic: by_cases h : ExponentExists G
state_before: G : Type u
inst✝ : Monoid G
g : G
⊢ g ^ exponent G = 1
state_after: case pos
G : Type u
inst✝ : Monoid G
g : G
h : ExponentExists G
⊢ g ^ exponent G = 1

case neg
G : Type u
inst✝ : Monoid G
g : G
h : ¬ExponentExists G
⊢ g ^ exponent G = 1

tactic: simp_rw [exponent, dif_pos h]
state_before: case pos
G : Type u
inst✝ : Monoid G
g : G
h : ExponentExists G
⊢ g ^ exponent G = 1
state_after: case pos
G : Type u
inst✝ : Monoid G
g : G
h : ExponentExists G
⊢ g ^ Nat.find h = 1

tactic: exact (Nat.find_spec h).2 g
state_before: case pos
G : Type u
inst✝ : Monoid G
g : G
h : ExponentExists G
⊢ g ^ Nat.find h = 1
state_after: no goals

tactic: simp_rw [exponent, dif_neg h, pow_zero]
state_before: case neg
G : Type u
inst✝ : Monoid G
g : G
h : ¬ExponentExists G
⊢ g ^ exponent G = 1
state_after: no goals
Theorem: Affine.Triangle.circumsphere_eq_circumsphere_of_eq_of_eq_of_two_zsmul_oangle_eq
File: Mathlib/Geometry/Euclidean/Angle/Sphere.lean

tactic: rw [t₁.circumsphere_eq_of_dist_of_oangle h₁₂ h₁₃ h₂₃,
  t₂.circumsphere_eq_of_dist_of_oangle h₁₂ h₁₃ h₂₃,
  Real.Angle.tan_eq_of_two_zsmul_eq h₂, Real.Angle.abs_sin_eq_of_two_zsmul_eq h₂, h₁, h₃]
state_before: V : Type u_1
P : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : MetricSpace P
inst✝¹ : NormedAddTorsor V P
hd2 : Fact (finrank ℝ V = 2)
inst✝ : Module.Oriented ℝ V (Fin 2)
t₁ t₂ : Triangle ℝ P
i₁ i₂ i₃ : Fin 3
h₁₂ : i₁ ≠ i₂
h₁₃ : i₁ ≠ i₃
h₂₃ : i₂ ≠ i₃
h₁ : t₁.points i₁ = t₂.points i₁
h₃ : t₁.points i₃ = t₂.points i₃
h₂ : 2 • ∡ (t₁.points i₁) (t₁.points i₂) (t₁.points i₃) = 2 • ∡ (t₂.points i₁) (t₂.points i₂) (t₂.points i₃)
⊢ Simplex.circumsphere t₁ = Simplex.circumsphere t₂
state_after: no goals
Theorem: Finset.Ico_mul_Icc_subset'
File: Mathlib/Data/Finset/Pointwise/Interval.lean

tactic: simpa using Set.Ico_mul_Icc_subset' _ _ _ _
state_before: α : Type u_1
inst✝⁵ : Mul α
inst✝⁴ : PartialOrder α
inst✝³ : DecidableEq α
inst✝² : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x < x_1
inst✝¹ : CovariantClass α α (Function.swap HMul.hMul) LT.lt
inst✝ : LocallyFiniteOrder α
a b c d : α
⊢ ↑(Ico a b * Icc c d) ⊆ ↑(Ico (a * c) (b * d))
state_after: no goals
Theorem: Set.Finite.induction_on'
File: Mathlib/Data/Set/Finite.lean

tactic: refine @Set.Finite.induction_on α (fun s => s ⊆ S → C s) S h (fun _ => H0) ?_ Subset.rfl
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
⊢ C S
state_after: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
⊢ ∀ {a : α} {s : Set α}, a ∉ s → s.Finite → (fun s => s ⊆ S → C s) s → (fun s => s ⊆ S → C s) (insert a s)

tactic: intro a s has _ hCs haS
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
⊢ ∀ {a : α} {s : Set α}, a ∉ s → s.Finite → (fun s => s ⊆ S → C s) s → (fun s => s ⊆ S → C s) (insert a s)
state_after: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
a : α
s : Set α
has : a ∉ s
a✝ : s.Finite
hCs : s ⊆ S → C s
haS : insert a s ⊆ S
⊢ C (insert a s)

tactic: rw [insert_subset_iff] at haS
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
a : α
s : Set α
has : a ∉ s
a✝ : s.Finite
hCs : s ⊆ S → C s
haS : insert a s ⊆ S
⊢ C (insert a s)
state_after: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
a : α
s : Set α
has : a ∉ s
a✝ : s.Finite
hCs : s ⊆ S → C s
haS : a ∈ S ∧ s ⊆ S
⊢ C (insert a s)

tactic: exact H1 haS.1 haS.2 has (hCs haS.2)
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
C : Set α → Prop
S : Set α
h : S.Finite
H0 : C ∅
H1 : ∀ {a : α} {s : Set α}, a ∈ S → s ⊆ S → a ∉ s → C s → C (insert a s)
a : α
s : Set α
has : a ∉ s
a✝ : s.Finite
hCs : s ⊆ S → C s
haS : a ∈ S ∧ s ⊆ S
⊢ C (insert a s)
state_after: no goals
Theorem: MeasureTheory.HasFiniteIntegral.neg
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: simpa [HasFiniteIntegral] using hfi
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
hfi : HasFiniteIntegral f μ
⊢ HasFiniteIntegral (-f) μ
state_after: no goals
Theorem: Batteries.AssocList.length_modify
File: .lake/packages/batteries/Batteries/Data/AssocList.lean

tactic: induction l
state_before: α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
l : AssocList α β✝
inst✝ : BEq α
a : α
⊢ (modify a f l).length = l.length
state_after: case nil
α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
inst✝ : BEq α
a : α
⊢ (modify a f nil).length = nil.length

case cons
α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
inst✝ : BEq α
a key✝ : α
value✝ : β✝
tail✝ : AssocList α β✝
tail_ih✝ : (modify a f tail✝).length = tail✝.length
⊢ (modify a f (cons key✝ value✝ tail✝)).length = (cons key✝ value✝ tail✝).length

tactic: rfl
state_before: case nil
α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
inst✝ : BEq α
a : α
⊢ (modify a f nil).length = nil.length
state_after: no goals

tactic: simp only [modify, length_cons]
state_before: case cons
α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
inst✝ : BEq α
a key✝ : α
value✝ : β✝
tail✝ : AssocList α β✝
tail_ih✝ : (modify a f tail✝).length = tail✝.length
⊢ (modify a f (cons key✝ value✝ tail✝)).length = (cons key✝ value✝ tail✝).length
state_after: case cons
α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
inst✝ : BEq α
a key✝ : α
value✝ : β✝
tail✝ : AssocList α β✝
tail_ih✝ : (modify a f tail✝).length = tail✝.length
⊢ (match key✝ == a with
      | true => cons a (f key✝ value✝) tail✝
      | false => cons key✝ value✝ (modify a f tail✝)).length =
    tail✝.length + 1

tactic: split <;> simp_all
state_before: case cons
α : Type u_1
β✝ : Type u_2
f : α → β✝ → β✝
inst✝ : BEq α
a key✝ : α
value✝ : β✝
tail✝ : AssocList α β✝
tail_ih✝ : (modify a f tail✝).length = tail✝.length
⊢ (match key✝ == a with
      | true => cons a (f key✝ value✝) tail✝
      | false => cons key✝ value✝ (modify a f tail✝)).length =
    tail✝.length + 1
state_after: no goals
Theorem: ENNReal.pow_strictMono
File: Mathlib/Data/ENNReal/Operations.lean

tactic: simpa only [pow_one] using strictMono_id
state_before: a b c d : ℝ≥0∞
r p q : ℝ≥0
x✝ : 1 ≠ 0
⊢ StrictMono fun x => x ^ 1
state_after: no goals

tactic: simp_rw [pow_succ _ (n + 1)]
state_before: a b c d : ℝ≥0∞
r p q : ℝ≥0
n : ℕ
x✝ : n + 2 ≠ 0
x y : ℝ≥0∞
h : x < y
⊢ (fun x => x ^ (n + 2)) x < (fun x => x ^ (n + 2)) y
state_after: a b c d : ℝ≥0∞
r p q : ℝ≥0
n : ℕ
x✝ : n + 2 ≠ 0
x y : ℝ≥0∞
h : x < y
⊢ x ^ (n + 1) * x < y ^ (n + 1) * y

tactic: exact mul_lt_mul (pow_strictMono n.succ_ne_zero h) h
state_before: a b c d : ℝ≥0∞
r p q : ℝ≥0
n : ℕ
x✝ : n + 2 ≠ 0
x y : ℝ≥0∞
h : x < y
⊢ x ^ (n + 1) * x < y ^ (n + 1) * y
state_after: no goals
Theorem: LieIdeal.comap_incl_self
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: ext
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
⊢ comap I.incl I = ⊤
state_after: case h
R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
m✝ : ↥↑I
⊢ m✝ ∈ comap I.incl I ↔ m✝ ∈ ⊤

tactic: simp
state_before: case h
R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I : LieIdeal R L
J : LieIdeal R L'
m✝ : ↥↑I
⊢ m✝ ∈ comap I.incl I ↔ m✝ ∈ ⊤
state_after: no goals
Theorem: nnnorm_pow_le
File: Mathlib/Analysis/Normed/Field/Basic.lean

tactic: simp only [Nat.zero_eq, pow_zero, nnnorm_one, le_rfl]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝¹ : SeminormedRing α
inst✝ : NormOneClass α
a : α
n : ℕ
⊢ ‖a ^ Nat.zero‖₊ ≤ ‖a‖₊ ^ Nat.zero
state_after: no goals
Theorem: PartialEquiv.trans_source'
File: Mathlib/Logic/Equiv/PartialEquiv.lean

tactic: mfld_set_tac
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
e : PartialEquiv α β
e' : PartialEquiv β γ
⊢ (e.trans e').source = e.source ∩ ↑e ⁻¹' (e.target ∩ e'.source)
state_after: no goals
Theorem: LinearMap.baseChange_id
File: Mathlib/RingTheory/TensorProduct/Basic.lean

tactic: ext
state_before: R : Type u_1
A : Type u_2
B : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
inst✝⁷ : Semiring B
inst✝⁶ : Algebra R B
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid N
inst✝³ : AddCommMonoid P
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R P
r : R
f g : M →ₗ[R] N
⊢ baseChange A id = id
state_after: case a.h.h
R : Type u_1
A : Type u_2
B : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
inst✝⁷ : Semiring B
inst✝⁶ : Algebra R B
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid N
inst✝³ : AddCommMonoid P
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R P
r : R
f g : M →ₗ[R] N
x✝ : M
⊢ ((AlgebraTensorModule.curry (baseChange A id)) 1) x✝ = ((AlgebraTensorModule.curry id) 1) x✝

tactic: simp
state_before: case a.h.h
R : Type u_1
A : Type u_2
B : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
inst✝¹⁰ : CommSemiring R
inst✝⁹ : Semiring A
inst✝⁸ : Algebra R A
inst✝⁷ : Semiring B
inst✝⁶ : Algebra R B
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid N
inst✝³ : AddCommMonoid P
inst✝² : Module R M
inst✝¹ : Module R N
inst✝ : Module R P
r : R
f g : M →ₗ[R] N
x✝ : M
⊢ ((AlgebraTensorModule.curry (baseChange A id)) 1) x✝ = ((AlgebraTensorModule.curry id) 1) x✝
state_after: no goals