1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Sigma.curry_mulSingle
File: Mathlib/Algebra/Group/Pi/Lemmas.lean

tactic: simp only [Pi.mulSingle, Sigma.curry_update, Sigma.curry_one, Pi.one_apply]
state_before: ι : Type u_1
α✝ : Type u_2
I : Type u
f : I → Type v
x✝ y : (i : I) → f i
i✝ j : I
α : Type u_3
β : α → Type u_4
γ : (a : α) → β a → Type u_5
inst✝² : DecidableEq α
inst✝¹ : (a : α) → DecidableEq (β a)
inst✝ : (a : α) → (b : β a) → One (γ a b)
i : (a : α) × β a
x : γ i.fst i.snd
⊢ curry (Pi.mulSingle i x) = Pi.mulSingle i.fst (Pi.mulSingle i.snd x)
state_after: no goals
Theorem: CategoryTheory.shiftFunctorAdd_add_zero_hom_app
File: Mathlib/CategoryTheory/Shift/Basic.lean

tactic: dsimp
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctor C (a + 0)).obj X = (𝟭 C).obj ((shiftFunctor C a).obj X)
state_after: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctor C (a + 0)).obj X = (shiftFunctor C a).obj X

tactic: rw [add_zero]
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctor C (a + 0)).obj X = (shiftFunctor C a).obj X
state_after: no goals

tactic: simp [← shiftFunctorAdd'_add_zero_hom_app, shiftFunctorAdd']
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctorAdd C a 0).hom.app X = eqToHom ⋯ ≫ (shiftFunctorZero C A).inv.app ((shiftFunctor C a).obj X)
state_after: no goals
Theorem: Cycle.nontrivial_reverse_iff
File: Mathlib/Data/List/Cycle.lean

tactic: simp [Nontrivial]
state_before: α : Type u_1
s : Cycle α
⊢ s.reverse.Nontrivial ↔ s.Nontrivial
state_after: no goals
Theorem: Finset.image₂_inter_left
File: Mathlib/Data/Finset/NAry.lean

tactic: push_cast
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁸ : DecidableEq α'
inst✝⁷ : DecidableEq β'
inst✝⁶ : DecidableEq γ
inst✝⁵ : DecidableEq γ'
inst✝⁴ : DecidableEq δ
inst✝³ : DecidableEq δ'
inst✝² : DecidableEq ε
inst✝¹ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
inst✝ : DecidableEq α
hf : Injective2 f
⊢ ↑(image₂ f (s ∩ s') t) = ↑(image₂ f s t ∩ image₂ f s' t)
state_after: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁸ : DecidableEq α'
inst✝⁷ : DecidableEq β'
inst✝⁶ : DecidableEq γ
inst✝⁵ : DecidableEq γ'
inst✝⁴ : DecidableEq δ
inst✝³ : DecidableEq δ'
inst✝² : DecidableEq ε
inst✝¹ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
inst✝ : DecidableEq α
hf : Injective2 f
⊢ image2 f (↑s ∩ ↑s') ↑t = image2 f ↑s ↑t ∩ image2 f ↑s' ↑t

tactic: exact image2_inter_left hf
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
ζ : Type u_11
ζ' : Type u_12
ν : Type u_13
inst✝⁸ : DecidableEq α'
inst✝⁷ : DecidableEq β'
inst✝⁶ : DecidableEq γ
inst✝⁵ : DecidableEq γ'
inst✝⁴ : DecidableEq δ
inst✝³ : DecidableEq δ'
inst✝² : DecidableEq ε
inst✝¹ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
inst✝ : DecidableEq α
hf : Injective2 f
⊢ image2 f (↑s ∩ ↑s') ↑t = image2 f ↑s ↑t ∩ image2 f ↑s' ↑t
state_after: no goals
Theorem: isOpen_set_pi
File: Mathlib/Topology/Constructions.lean

tactic: rw [pi_def]
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
ι : Type u_5
π : ι → Type u_6
κ : Type u_7
inst✝ : TopologicalSpace X
T : (i : ι) → TopologicalSpace (π i)
f : X → (i : ι) → π i
i : Set ι
s : (a : ι) → Set (π a)
hi : i.Finite
hs : ∀ a ∈ i, IsOpen (s a)
⊢ IsOpen (i.pi s)
state_after: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
ι : Type u_5
π : ι → Type u_6
κ : Type u_7
inst✝ : TopologicalSpace X
T : (i : ι) → TopologicalSpace (π i)
f : X → (i : ι) → π i
i : Set ι
s : (a : ι) → Set (π a)
hi : i.Finite
hs : ∀ a ∈ i, IsOpen (s a)
⊢ IsOpen (⋂ a ∈ i, eval a ⁻¹' s a)

tactic: exact hi.isOpen_biInter fun a ha => (hs _ ha).preimage (continuous_apply _)
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
ι : Type u_5
π : ι → Type u_6
κ : Type u_7
inst✝ : TopologicalSpace X
T : (i : ι) → TopologicalSpace (π i)
f : X → (i : ι) → π i
i : Set ι
s : (a : ι) → Set (π a)
hi : i.Finite
hs : ∀ a ∈ i, IsOpen (s a)
⊢ IsOpen (⋂ a ∈ i, eval a ⁻¹' s a)
state_after: no goals
Theorem: Set.image_preimage_eq_iff
File: Mathlib/Data/Set/Image.lean

tactic: intro h
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s✝ t : Set α
f : α → β
s : Set β
⊢ f '' (f ⁻¹' s) = s → s ⊆ range f
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s✝ t : Set α
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ s ⊆ range f

tactic: rw [← h]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s✝ t : Set α
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ s ⊆ range f
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s✝ t : Set α
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ f '' (f ⁻¹' s) ⊆ range f

tactic: apply image_subset_range
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
f✝ : ι → α
s✝ t : Set α
f : α → β
s : Set β
h : f '' (f ⁻¹' s) = s
⊢ f '' (f ⁻¹' s) ⊆ range f
state_after: no goals
Theorem: Convex.is_const_of_fderivWithin_eq_zero
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: have bound : ∀ x ∈ s, ‖fderivWithin 𝕜 f s x‖ ≤ 0 := fun x hx => by
  simp only [hf' x hx, norm_zero, le_rfl]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hs : Convex ℝ s
hf : DifferentiableOn 𝕜 f s
hf' : ∀ x ∈ s, fderivWithin 𝕜 f s x = 0
hx : x ∈ s
hy : y ∈ s
⊢ f x = f y
state_after: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hs : Convex ℝ s
hf : DifferentiableOn 𝕜 f s
hf' : ∀ x ∈ s, fderivWithin 𝕜 f s x = 0
hx : x ∈ s
hy : y ∈ s
bound : ∀ x ∈ s, ‖fderivWithin 𝕜 f s x‖ ≤ 0
⊢ f x = f y

tactic: simpa only [(dist_eq_norm _ _).symm, zero_mul, dist_le_zero, eq_comm] using
  hs.norm_image_sub_le_of_norm_fderivWithin_le hf bound hx hy
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hs : Convex ℝ s
hf : DifferentiableOn 𝕜 f s
hf' : ∀ x ∈ s, fderivWithin 𝕜 f s x = 0
hx : x ∈ s
hy : y ∈ s
bound : ∀ x ∈ s, ‖fderivWithin 𝕜 f s x‖ ≤ 0
⊢ f x = f y
state_after: no goals

tactic: simp only [hf' x hx, norm_zero, le_rfl]
state_before: E : Type u_1
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
F : Type u_2
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
𝕜 : Type u_3
G : Type u_4
inst✝³ : RCLike 𝕜
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → G
C : ℝ
s : Set E
x✝ y : E
f' g' : E → E →L[𝕜] G
φ : E →L[𝕜] G
hs : Convex ℝ s
hf : DifferentiableOn 𝕜 f s
hf' : ∀ x ∈ s, fderivWithin 𝕜 f s x = 0
hx✝ : x✝ ∈ s
hy : y ∈ s
x : E
hx : x ∈ s
⊢ ‖fderivWithin 𝕜 f s x‖ ≤ 0
state_after: no goals
Theorem: MeasureTheory.lintegral_mul_const
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: simp_rw [mul_comm, lintegral_const_mul r hf]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
r : ℝ≥0∞
f : α → ℝ≥0∞
hf : Measurable f
⊢ ∫⁻ (a : α), f a * r ∂μ = (∫⁻ (a : α), f a ∂μ) * r
state_after: no goals
Theorem: CliffordAlgebra.evenOdd_comap_involute
File: Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean

tactic: rw [← submodule_map_involute_eq_comap, evenOdd_map_involute]
state_before: R : Type u_1
inst✝² : CommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
n : ZMod 2
⊢ Submodule.comap involute.toLinearMap (evenOdd Q n) = evenOdd Q n
state_after: no goals
Theorem: CochainComplex.mappingConeCompHomotopyEquiv_comm₂
File: Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean

tactic: ext n
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
X₁ X₂ X₃ : CochainComplex C ℤ
f : X₁ ⟶ X₂
g : X₂ ⟶ X₃
⊢ (mappingConeCompHomotopyEquiv f g).hom ≫ (triangle (mappingConeCompTriangle f g).mor₁).mor₃ =
    (mappingConeCompTriangle f g).mor₃
state_after: case h
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
X₁ X₂ X₃ : CochainComplex C ℤ
f : X₁ ⟶ X₂
g : X₂ ⟶ X₃
n : ℤ
⊢ ((mappingConeCompHomotopyEquiv f g).hom ≫ (triangle (mappingConeCompTriangle f g).mor₁).mor₃).f n =
    (mappingConeCompTriangle f g).mor₃.f n

tactic: simp [map, mappingConeCompHomotopyEquiv, MappingConeCompHomotopyEquiv.hom,
  lift_f _ _ _ _ _ (n+1) rfl, ext_from_iff _ (n+1) _ rfl]
state_before: case h
C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
X₁ X₂ X₃ : CochainComplex C ℤ
f : X₁ ⟶ X₂
g : X₂ ⟶ X₃
n : ℤ
⊢ ((mappingConeCompHomotopyEquiv f g).hom ≫ (triangle (mappingConeCompTriangle f g).mor₁).mor₃).f n =
    (mappingConeCompTriangle f g).mor₃.f n
state_after: no goals
Theorem: IsUpperSet.image
File: Mathlib/Order/UpperLower/Basic.lean

tactic: change IsUpperSet ((f : α ≃ β) '' s)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (⇑f '' s)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (⇑↑f '' s)

tactic: rw [Set.image_equiv_eq_preimage_symm]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (⇑↑f '' s)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (⇑(↑f).symm ⁻¹' s)

tactic: exact hs.preimage f.symm.monotone
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
κ : ι → Sort u_5
inst✝¹ : Preorder α
inst✝ : Preorder β
s : Set α
p : α → Prop
a : α
hs : IsUpperSet s
f : α ≃o β
⊢ IsUpperSet (⇑(↑f).symm ⁻¹' s)
state_after: no goals
Theorem: NumberField.InfinitePlace.card_stabilizer
File: Mathlib/NumberTheory/NumberField/Embeddings.lean

tactic: split
state_before: k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w : InfinitePlace K
inst✝ : IsGalois k K
⊢ Nat.card ↥(Stab w) = if IsUnramified k w then 1 else 2
state_after: case isTrue
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w : InfinitePlace K
inst✝ : IsGalois k K
h✝ : IsUnramified k w
⊢ Nat.card ↥(Stab w) = 1

case isFalse
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w : InfinitePlace K
inst✝ : IsGalois k K
h✝ : ¬IsUnramified k w
⊢ Nat.card ↥(Stab w) = 2

tactic: rwa [← isUnramified_iff_card_stabilizer_eq_one]
state_before: case isTrue
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w : InfinitePlace K
inst✝ : IsGalois k K
h✝ : IsUnramified k w
⊢ Nat.card ↥(Stab w) = 1
state_after: no goals

tactic: rwa [← not_isUnramified_iff_card_stabilizer_eq_two]
state_before: case isFalse
k : Type u_1
inst✝⁸ : Field k
K : Type u_2
inst✝⁷ : Field K
F : Type u_3
inst✝⁶ : Field F
inst✝⁵ : NumberField K
inst✝⁴ : Algebra k K
inst✝³ : Algebra k F
inst✝² : Algebra K F
inst✝¹ : IsScalarTower k K F
σ : K ≃ₐ[k] K
w : InfinitePlace K
inst✝ : IsGalois k K
h✝ : ¬IsUnramified k w
⊢ Nat.card ↥(Stab w) = 2
state_after: no goals
Theorem: pow_lt_pow_succ
File: Mathlib/Algebra/Order/GroupWithZero/Canonical.lean

tactic: rw [← one_mul (a ^ n), pow_succ']
state_before: α : Type u_1
inst✝ : LinearOrderedCommGroupWithZero α
a b c d : α
m n : ℕ
ha : 1 < a
⊢ a ^ n < a ^ n.succ
state_after: α : Type u_1
inst✝ : LinearOrderedCommGroupWithZero α
a b c d : α
m n : ℕ
ha : 1 < a
⊢ 1 * a ^ n < a * a ^ n

tactic: exact mul_lt_right₀ _ ha (pow_ne_zero _ (zero_lt_one.trans ha).ne')
state_before: α : Type u_1
inst✝ : LinearOrderedCommGroupWithZero α
a b c d : α
m n : ℕ
ha : 1 < a
⊢ 1 * a ^ n < a * a ^ n
state_after: no goals
Theorem: Preperfect.open_inter
File: Mathlib/Topology/Perfect.lean

tactic: rintro x ⟨xU, xC⟩
state_before: α : Type u_1
inst✝ : TopologicalSpace α
C U : Set α
hC : Preperfect C
hU : IsOpen U
⊢ Preperfect (U ∩ C)
state_after: case intro
α : Type u_1
inst✝ : TopologicalSpace α
C U : Set α
hC : Preperfect C
hU : IsOpen U
x : α
xU : x ∈ U
xC : x ∈ C
⊢ AccPt x (𝓟 (U ∩ C))

tactic: apply (hC _ xC).nhds_inter
state_before: case intro
α : Type u_1
inst✝ : TopologicalSpace α
C U : Set α
hC : Preperfect C
hU : IsOpen U
x : α
xU : x ∈ U
xC : x ∈ C
⊢ AccPt x (𝓟 (U ∩ C))
state_after: case intro
α : Type u_1
inst✝ : TopologicalSpace α
C U : Set α
hC : Preperfect C
hU : IsOpen U
x : α
xU : x ∈ U
xC : x ∈ C
⊢ U ∈ 𝓝 x

tactic: exact hU.mem_nhds xU
state_before: case intro
α : Type u_1
inst✝ : TopologicalSpace α
C U : Set α
hC : Preperfect C
hU : IsOpen U
x : α
xU : x ∈ U
xC : x ∈ C
⊢ U ∈ 𝓝 x
state_after: no goals
Theorem: Ordnode.Raised.add_left
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: rcases H with (rfl | rfl)
state_before: α : Type u_1
k n m : ℕ
H : Raised n m
⊢ Raised (k + n) (k + m)
state_after: case inl
α : Type u_1
k m : ℕ
⊢ Raised (k + m) (k + m)

case inr
α : Type u_1
k n : ℕ
⊢ Raised (k + n) (k + (n + 1))

tactic: exact Or.inl rfl
state_before: case inl
α : Type u_1
k m : ℕ
⊢ Raised (k + m) (k + m)
state_after: no goals

tactic: exact Or.inr rfl
state_before: case inr
α : Type u_1
k n : ℕ
⊢ Raised (k + n) (k + (n + 1))
state_after: no goals
Theorem: ModularGroup.im_lt_im_S_smul
File: Mathlib/NumberTheory/Modular.lean

tactic: have : z.im < z.im / normSq (z : ℂ) := by
  have imz : 0 < z.im := im_pos z
  apply (lt_div_iff z.normSq_pos).mpr
  nlinarith
state_before: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
⊢ z.im < (S • z).im
state_after: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
this : z.im < z.im / normSq ↑z
⊢ z.im < (S • z).im

tactic: convert this
state_before: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
this : z.im < z.im / normSq ↑z
⊢ z.im < (S • z).im
state_after: case h.e'_4
g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
this : z.im < z.im / normSq ↑z
⊢ (S • z).im = z.im / normSq ↑z

tactic: simp only [ModularGroup.im_smul_eq_div_normSq]
state_before: case h.e'_4
g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
this : z.im < z.im / normSq ↑z
⊢ (S • z).im = z.im / normSq ↑z
state_after: case h.e'_4
g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
this : z.im < z.im / normSq ↑z
⊢ z.im / normSq (denom (↑S) z) = z.im / normSq ↑z

tactic: simp [denom, coe_S]
state_before: case h.e'_4
g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
this : z.im < z.im / normSq ↑z
⊢ z.im / normSq (denom (↑S) z) = z.im / normSq ↑z
state_after: no goals

tactic: have imz : 0 < z.im := im_pos z
state_before: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
⊢ z.im < z.im / normSq ↑z
state_after: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
imz : 0 < z.im
⊢ z.im < z.im / normSq ↑z

tactic: apply (lt_div_iff z.normSq_pos).mpr
state_before: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
imz : 0 < z.im
⊢ z.im < z.im / normSq ↑z
state_after: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
imz : 0 < z.im
⊢ z.im * normSq ↑z < z.im

tactic: nlinarith
state_before: g : SL(2, ℤ)
z : ℍ
h : normSq ↑z < 1
imz : 0 < z.im
⊢ z.im * normSq ↑z < z.im
state_after: no goals
Theorem: linearIndependent_subtype_disjoint
File: Mathlib/LinearAlgebra/LinearIndependent.lean

tactic: apply linearIndependent_comp_subtype_disjoint (v := id)
state_before: ι : Type u'
ι' : Type u_1
R : Type u_2
K : Type u_3
M : Type u_4
M' : Type u_5
M'' : Type u_6
V : Type u
V' : Type u_7
v : ι → M
inst✝⁶ : Semiring R
inst✝⁵ : AddCommMonoid M
inst✝⁴ : AddCommMonoid M'
inst✝³ : AddCommMonoid M''
inst✝² : Module R M
inst✝¹ : Module R M'
inst✝ : Module R M''
a b : R
x y : M
s : Set M
⊢ (LinearIndependent R fun (x : ↑s) => ↑x) ↔ Disjoint (Finsupp.supported R R s) (LinearMap.ker (Finsupp.total M M R id))
state_after: no goals
Theorem: Real.deriv_fourierIntegral
File: Mathlib/Analysis/Fourier/FourierTransformDeriv.lean

tactic: ext x
state_before: E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℂ E
V : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : FiniteDimensional ℝ V
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
f✝ : V → E
f : ℝ → E
hf : Integrable f volume
hf' : Integrable (fun x => x • f x) volume
⊢ deriv (𝓕 f) = 𝓕 fun x => (-2 * ↑π * I * ↑x) • f x
state_after: case h
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℂ E
V : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : FiniteDimensional ℝ V
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
f✝ : V → E
f : ℝ → E
hf : Integrable f volume
hf' : Integrable (fun x => x • f x) volume
x : ℝ
⊢ deriv (𝓕 f) x = 𝓕 (fun x => (-2 * ↑π * I * ↑x) • f x) x

tactic: exact (hasDerivAt_fourierIntegral hf hf' x).deriv
state_before: case h
E : Type u_1
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℂ E
V : Type u_2
inst✝⁴ : NormedAddCommGroup V
inst✝³ : InnerProductSpace ℝ V
inst✝² : FiniteDimensional ℝ V
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
f✝ : V → E
f : ℝ → E
hf : Integrable f volume
hf' : Integrable (fun x => x • f x) volume
x : ℝ
⊢ deriv (𝓕 f) x = 𝓕 (fun x => (-2 * ↑π * I * ↑x) • f x) x
state_after: no goals
Theorem: EllipticCurve.variableChange_id
File: Mathlib/AlgebraicGeometry/EllipticCurve/Weierstrass.lean

tactic: simp only [variableChange, WeierstrassCurve.variableChange_id]
state_before: R : Type u
inst✝ : CommRing R
E : EllipticCurve R
C : WeierstrassCurve.VariableChange R
⊢ E.variableChange WeierstrassCurve.VariableChange.id = E
state_after: R : Type u
inst✝ : CommRing R
E : EllipticCurve R
C : WeierstrassCurve.VariableChange R
⊢ { toWeierstrassCurve := E.toWeierstrassCurve, Δ' := WeierstrassCurve.VariableChange.id.u⁻¹ ^ 12 * E.Δ',
      coe_Δ' := ⋯ } =
    E

tactic: simp only [WeierstrassCurve.VariableChange.id, inv_one, one_pow, one_mul]
state_before: R : Type u
inst✝ : CommRing R
E : EllipticCurve R
C : WeierstrassCurve.VariableChange R
⊢ { toWeierstrassCurve := E.toWeierstrassCurve, Δ' := WeierstrassCurve.VariableChange.id.u⁻¹ ^ 12 * E.Δ',
      coe_Δ' := ⋯ } =
    E
state_after: no goals
Theorem: MeasureTheory.Memℒp.variance_eq_of_integral_eq_zero
File: Mathlib/Probability/Variance.lean

tactic: rw [variance, evariance_eq_lintegral_ofReal, ← ofReal_integral_eq_lintegral_ofReal,
    ENNReal.toReal_ofReal (by positivity)] <;>
  simp_rw [hXint, sub_zero]
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ variance X μ = ∫ (x : Ω), (X ^ 2) x ∂μ
state_after: Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ ∫ (x : Ω), X x ^ 2 ∂μ = ∫ (x : Ω), (X ^ 2) x ∂μ

case hfi
Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ Integrable (fun ω => X ω ^ 2) μ

case f_nn
Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ 0 ≤ᶠ[ae μ] fun ω => X ω ^ 2

tactic: positivity
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ 0 ≤ ∫ (x : Ω), (X x - ∫ (x : Ω), X x ∂μ) ^ 2 ∂μ
state_after: no goals

tactic: rfl
state_before: Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ ∫ (x : Ω), X x ^ 2 ∂μ = ∫ (x : Ω), (X ^ 2) x ∂μ
state_after: no goals

tactic: convert hX.integrable_norm_rpow two_ne_zero ENNReal.two_ne_top with ω
state_before: case hfi
Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ Integrable (fun ω => X ω ^ 2) μ
state_after: case h.e'_5.h
Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
ω : Ω
⊢ X ω ^ 2 = ‖X ω‖ ^ ENNReal.toReal 2

tactic: simp only [Pi.sub_apply, Real.norm_eq_abs, ENNReal.toReal_ofNat, ENNReal.one_toReal,
  Real.rpow_two, sq_abs, abs_pow]
state_before: case h.e'_5.h
Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
ω : Ω
⊢ X ω ^ 2 = ‖X ω‖ ^ ENNReal.toReal 2
state_after: no goals

tactic: exact ae_of_all _ fun ω => pow_two_nonneg _
state_before: case f_nn
Ω : Type u_1
m : MeasurableSpace Ω
X : Ω → ℝ
μ : Measure Ω
hX : Memℒp X 2 μ
hXint : ∫ (x : Ω), X x ∂μ = 0
⊢ 0 ≤ᶠ[ae μ] fun ω => X ω ^ 2
state_after: no goals
Theorem: SimpleGraph.singletonFinsubgraph_le_adj_left
File: Mathlib/Combinatorics/SimpleGraph/Finsubgraph.lean

tactic: simp [singletonFinsubgraph, finsubgraphOfAdj]
state_before: V : Type u
W : Type v
G : SimpleGraph V
F : SimpleGraph W
u v : V
e : G.Adj u v
⊢ singletonFinsubgraph u ≤ finsubgraphOfAdj e
state_after: no goals