1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MvPolynomial.rename_comp_expand
File: Mathlib/Algebra/MvPolynomial/Expand.lean

tactic: ext1 φ
state_before: σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
p : ℕ
⊢ (rename f).comp (expand p) = (expand p).comp (rename f)
state_after: case hf
σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
p : ℕ
φ : σ
⊢ ((rename f).comp (expand p)) (X φ) = ((expand p).comp (rename f)) (X φ)

tactic: simp only [rename_expand, AlgHom.comp_apply]
state_before: case hf
σ : Type u_1
τ : Type u_2
R : Type u_3
S : Type u_4
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S
f : σ → τ
p : ℕ
φ : σ
⊢ ((rename f).comp (expand p)) (X φ) = ((expand p).comp (rename f)) (X φ)
state_after: no goals
Theorem: Zsqrtd.intCast_dvd_intCast
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: rw [intCast_dvd]
state_before: d a b : ℤ
⊢ ↑a ∣ ↑b ↔ a ∣ b
state_after: d a b : ℤ
⊢ a ∣ (↑b).re ∧ a ∣ (↑b).im ↔ a ∣ b

tactic: constructor
state_before: d a b : ℤ
⊢ a ∣ (↑b).re ∧ a ∣ (↑b).im ↔ a ∣ b
state_after: case mp
d a b : ℤ
⊢ a ∣ (↑b).re ∧ a ∣ (↑b).im → a ∣ b

case mpr
d a b : ℤ
⊢ a ∣ b → a ∣ (↑b).re ∧ a ∣ (↑b).im

tactic: rintro ⟨hre, -⟩
state_before: case mp
d a b : ℤ
⊢ a ∣ (↑b).re ∧ a ∣ (↑b).im → a ∣ b
state_after: case mp.intro
d a b : ℤ
hre : a ∣ (↑b).re
⊢ a ∣ b

tactic: rwa [intCast_re] at hre
state_before: case mp.intro
d a b : ℤ
hre : a ∣ (↑b).re
⊢ a ∣ b
state_after: no goals

tactic: rw [intCast_re, intCast_im]
state_before: case mpr
d a b : ℤ
⊢ a ∣ b → a ∣ (↑b).re ∧ a ∣ (↑b).im
state_after: case mpr
d a b : ℤ
⊢ a ∣ b → a ∣ b ∧ a ∣ 0

tactic: exact fun hc => ⟨hc, dvd_zero a⟩
state_before: case mpr
d a b : ℤ
⊢ a ∣ b → a ∣ b ∧ a ∣ 0
state_after: no goals
Theorem: Function.Periodic.const_inv_smul
File: Mathlib/Algebra/Periodic.lean

tactic: simpa only [inv_inv] using h.const_smul a⁻¹
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
f g : α → β
c c₁ c₂ x : α
inst✝² : AddMonoid α
inst✝¹ : Group γ
inst✝ : DistribMulAction γ α
h : Periodic f c
a : γ
⊢ Periodic (fun x => f (a⁻¹ • x)) (a • c)
state_after: no goals
Theorem: Finset.Nonempty.sup_eq_top_iff
File: Mathlib/Data/Finset/Lattice.lean

tactic: cases subsingleton_or_nontrivial α
state_before: F : Type u_1
α✝ : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝³ : LinearOrder α✝
inst✝² : OrderBot α✝
s✝ : Finset ι
f✝ : ι → α✝
a : α✝
α : Type u_7
inst✝¹ : LinearOrder α
inst✝ : BoundedOrder α
s : Finset ι
f : ι → α
hs : s.Nonempty
⊢ s.sup f = ⊤ ↔ ∃ b ∈ s, f b = ⊤
state_after: case inl
F : Type u_1
α✝ : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝³ : LinearOrder α✝
inst✝² : OrderBot α✝
s✝ : Finset ι
f✝ : ι → α✝
a : α✝
α : Type u_7
inst✝¹ : LinearOrder α
inst✝ : BoundedOrder α
s : Finset ι
f : ι → α
hs : s.Nonempty
h✝ : Subsingleton α
⊢ s.sup f = ⊤ ↔ ∃ b ∈ s, f b = ⊤

case inr
F : Type u_1
α✝ : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝³ : LinearOrder α✝
inst✝² : OrderBot α✝
s✝ : Finset ι
f✝ : ι → α✝
a : α✝
α : Type u_7
inst✝¹ : LinearOrder α
inst✝ : BoundedOrder α
s : Finset ι
f : ι → α
hs : s.Nonempty
h✝ : Nontrivial α
⊢ s.sup f = ⊤ ↔ ∃ b ∈ s, f b = ⊤

tactic: simpa [Subsingleton.elim _ (⊤ : α)]
state_before: case inl
F : Type u_1
α✝ : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝³ : LinearOrder α✝
inst✝² : OrderBot α✝
s✝ : Finset ι
f✝ : ι → α✝
a : α✝
α : Type u_7
inst✝¹ : LinearOrder α
inst✝ : BoundedOrder α
s : Finset ι
f : ι → α
hs : s.Nonempty
h✝ : Subsingleton α
⊢ s.sup f = ⊤ ↔ ∃ b ∈ s, f b = ⊤
state_after: no goals

tactic: exact Finset.sup_eq_top_iff
state_before: case inr
F : Type u_1
α✝ : Type u_2
β : Type u_3
γ : Type u_4
ι : Type u_5
κ : Type u_6
inst✝³ : LinearOrder α✝
inst✝² : OrderBot α✝
s✝ : Finset ι
f✝ : ι → α✝
a : α✝
α : Type u_7
inst✝¹ : LinearOrder α
inst✝ : BoundedOrder α
s : Finset ι
f : ι → α
hs : s.Nonempty
h✝ : Nontrivial α
⊢ s.sup f = ⊤ ↔ ∃ b ∈ s, f b = ⊤
state_after: no goals
Theorem: CategoryTheory.ShiftMkCore.shiftFunctorAdd_eq
File: Mathlib/CategoryTheory/Shift/Basic.lean

tactic: letI := hasShiftMk C A h
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
⊢ shiftFunctorAdd C a b = h.add a b
state_after: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
⊢ shiftFunctorAdd C a b = h.add a b

tactic: change (shiftFunctorAdd C a b).symm.symm = (h.add a b).symm.symm
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
⊢ shiftFunctorAdd C a b = h.add a b
state_after: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
⊢ (shiftFunctorAdd C a b).symm.symm = (h.add a b).symm.symm

tactic: congr 1
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
⊢ (shiftFunctorAdd C a b).symm.symm = (h.add a b).symm.symm
state_after: case e_I
C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
⊢ (shiftFunctorAdd C a b).symm = (h.add a b).symm

tactic: ext
state_before: case e_I
C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
⊢ (shiftFunctorAdd C a b).symm = (h.add a b).symm
state_after: case e_I.w.w.h
C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
x✝ : C
⊢ (shiftFunctorAdd C a b).symm.hom.app x✝ = (h.add a b).symm.hom.app x✝

tactic: rfl
state_before: case e_I.w.w.h
C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
h : ShiftMkCore C A
a b : A
this : HasShift C A := hasShiftMk C A h
x✝ : C
⊢ (shiftFunctorAdd C a b).symm.hom.app x✝ = (h.add a b).symm.hom.app x✝
state_after: no goals
Theorem: Multiset.fold_cons_right
File: Mathlib/Data/Multiset/Fold.lean

tactic: simp [hc.comm]
state_before: α : Type u_1
β : Type u_2
op : α → α → α
hc : Std.Commutative op
ha : Std.Associative op
b a : α
s : Multiset α
⊢ fold op b (a ::ₘ s) = op (fold op b s) a
state_after: no goals
Theorem: CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux
File: Mathlib/CategoryTheory/Abelian/Pseudoelements.lean

tactic: simp [comm]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Abelian C
P Q : C
f : Over P
x✝ : f ≈ Over.mk 0
R : C
p : R ⟶ f.left
q : R ⟶ (Over.mk 0).left
ep : Epi p
w✝ : Epi q
comm : p ≫ f.hom = q ≫ (Over.mk 0).hom
⊢ p ≫ f.hom = 0
state_after: no goals

tactic: rw [hf, Over.coe_hom, HasZeroMorphisms.comp_zero, HasZeroMorphisms.comp_zero]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : Abelian C
P Q : C
f : Over P
hf : f.hom = 0
⊢ biprod.fst ≫ f.hom = biprod.snd ≫ (Over.mk 0).hom
state_after: no goals
Theorem: Irreducible.squarefree
File: Mathlib/Algebra/Squarefree/Basic.lean

tactic: rintro y ⟨z, hz⟩
state_before: R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
⊢ Squarefree x
state_after: case intro
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * y * z
⊢ IsUnit y

tactic: rw [mul_assoc] at hz
state_before: case intro
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * y * z
⊢ IsUnit y
state_after: case intro
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * (y * z)
⊢ IsUnit y

tactic: rcases h.isUnit_or_isUnit hz with (hu | hu)
state_before: case intro
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * (y * z)
⊢ IsUnit y
state_after: case intro.inl
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * (y * z)
hu : IsUnit y
⊢ IsUnit y

case intro.inr
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * (y * z)
hu : IsUnit (y * z)
⊢ IsUnit y

tactic: exact hu
state_before: case intro.inl
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * (y * z)
hu : IsUnit y
⊢ IsUnit y
state_after: no goals

tactic: apply isUnit_of_mul_isUnit_left hu
state_before: case intro.inr
R : Type u_1
inst✝ : CommMonoid R
x : R
h : Irreducible x
y z : R
hz : x = y * (y * z)
hu : IsUnit (y * z)
⊢ IsUnit y
state_after: no goals
Theorem: List.traverse_append
File: Mathlib/Control/Traversable/Instances.lean

tactic: simp [functor_norm]
state_before: F G : Type u → Type u
inst✝² : Applicative F
inst✝¹ : Applicative G
α' β' : Type u
f : α' → F β'
inst✝ : LawfulApplicative F
bs : List α'
⊢ traverse f ([] ++ bs) = Seq.seq ((fun x x_1 => x ++ x_1) <$> traverse f []) fun x => traverse f bs
state_after: no goals

tactic: simp [traverse_append as bs, functor_norm]
state_before: F G : Type u → Type u
inst✝² : Applicative F
inst✝¹ : Applicative G
α' β' : Type u
f : α' → F β'
inst✝ : LawfulApplicative F
a : α'
as bs : List α'
⊢ traverse f (a :: as ++ bs) = Seq.seq ((fun x x_1 => x ++ x_1) <$> traverse f (a :: as)) fun x => traverse f bs
state_after: F G : Type u → Type u
inst✝² : Applicative F
inst✝¹ : Applicative G
α' β' : Type u
f : α' → F β'
inst✝ : LawfulApplicative F
a : α'
as bs : List α'
⊢ (Seq.seq
      (Seq.seq (((fun x => x ∘ fun x x_1 => x ++ x_1) ∘ Function.comp ∘ fun x x_1 => x :: x_1) <$> f a) fun x =>
        traverse f as)
      fun x => traverse f bs) =
    Seq.seq (Seq.seq (((fun x => (fun x x_1 => x ++ x_1) ∘ x) ∘ fun x x_1 => x :: x_1) <$> f a) fun x => traverse f as)
      fun x => traverse f bs

tactic: congr
state_before: F G : Type u → Type u
inst✝² : Applicative F
inst✝¹ : Applicative G
α' β' : Type u
f : α' → F β'
inst✝ : LawfulApplicative F
a : α'
as bs : List α'
⊢ (Seq.seq
      (Seq.seq (((fun x => x ∘ fun x x_1 => x ++ x_1) ∘ Function.comp ∘ fun x x_1 => x :: x_1) <$> f a) fun x =>
        traverse f as)
      fun x => traverse f bs) =
    Seq.seq (Seq.seq (((fun x => (fun x x_1 => x ++ x_1) ∘ x) ∘ fun x x_1 => x :: x_1) <$> f a) fun x => traverse f as)
      fun x => traverse f bs
state_after: no goals
Theorem: Filter.HasBasis.eq_biInf
File: Mathlib/Order/Filter/Bases.lean

tactic: simp only [h.mem_iff, mem_principal, exists_prop]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
l l' : Filter α
p : ι → Prop
s : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
h : l.HasBasis p s
x✝ : Set α
⊢ x✝ ∈ l ↔ ∃ i, p i ∧ x✝ ∈ 𝓟 (s i)
state_after: no goals
Theorem: Cardinal.mk_list_eq_mk
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: simp
state_before: α : Type u
inst✝ : Infinite α
H1 : ℵ₀ ≤ #α
x✝ : α
⊢ ∀ ⦃a₂ : α⦄, (fun a => [a]) x✝ = (fun a => [a]) a₂ → x✝ = a₂
state_after: no goals

tactic: simp [H1]
state_before: α : Type u
inst✝ : Infinite α
H1 : ℵ₀ ≤ #α
⊢ (sum fun x => #α) = #α
state_after: no goals
Theorem: uniformContinuous_monoidHom_of_continuous
File: Mathlib/Topology/Algebra/UniformGroup.lean

tactic: rwa [map_one] at this
state_before: α : Type u_1
β : Type u_2
inst✝⁷ : UniformSpace α
inst✝⁶ : Group α
inst✝⁵ : UniformGroup α
hom : Type u_3
inst✝⁴ : UniformSpace β
inst✝³ : Group β
inst✝² : UniformGroup β
inst✝¹ : FunLike hom α β
inst✝ : MonoidHomClass hom α β
f : hom
h : Continuous ⇑f
this : Tendsto (⇑f) (𝓝 1) (𝓝 (f 1))
⊢ Tendsto (⇑f) (𝓝 1) (𝓝 1)
state_after: no goals
Theorem: orderOf_abs_ne_one
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: rw [orderOf_eq_zero_iff']
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
⊢ orderOf x = 0
state_after: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
⊢ ∀ (n : ℕ), 0 < n → x ^ n ≠ 1

tactic: intro n hn hx
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
⊢ ∀ (n : ℕ), 0 < n → x ^ n ≠ 1
state_after: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : x ^ n = 1
⊢ False

tactic: replace hx : |x| ^ n = 1 := by simpa only [abs_one, abs_pow] using congr_arg abs hx
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : x ^ n = 1
⊢ False
state_after: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : |x| ^ n = 1
⊢ False

tactic: cases' h.lt_or_lt with h h
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : |x| ^ n = 1
⊢ False
state_after: case inl
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h✝ : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : |x| ^ n = 1
h : |x| < 1
⊢ False

case inr
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h✝ : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : |x| ^ n = 1
h : 1 < |x|
⊢ False

tactic: simpa only [abs_one, abs_pow] using congr_arg abs hx
state_before: G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : x ^ n = 1
⊢ |x| ^ n = 1
state_after: no goals

tactic: exact ((pow_lt_one (abs_nonneg x) h hn.ne').ne hx).elim
state_before: case inl
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h✝ : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : |x| ^ n = 1
h : |x| < 1
⊢ False
state_after: no goals

tactic: exact ((one_lt_pow h hn.ne').ne' hx).elim
state_before: case inr
G : Type u_1
H : Type u_2
A : Type u_3
α : Type u_4
β : Type u_5
inst✝ : LinearOrderedRing G
a x : G
h✝ : |x| ≠ 1
n : ℕ
hn : 0 < n
hx : |x| ^ n = 1
h : 1 < |x|
⊢ False
state_after: no goals
Theorem: MeasureTheory.Measure.prod_sum_left
File: Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

tactic: ext s hs
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
E : Type u_6
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace α'
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace β'
inst✝³ : MeasurableSpace γ
μ✝ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝² : NormedAddCommGroup E
inst✝¹ : SFinite ν
ι : Type u_7
m : ι → Measure α
μ : Measure β
inst✝ : SFinite μ
⊢ (sum m).prod μ = sum fun i => (m i).prod μ
state_after: case h
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
E : Type u_6
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace α'
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace β'
inst✝³ : MeasurableSpace γ
μ✝ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝² : NormedAddCommGroup E
inst✝¹ : SFinite ν
ι : Type u_7
m : ι → Measure α
μ : Measure β
inst✝ : SFinite μ
s : Set (α × β)
hs : MeasurableSet s
⊢ ((sum m).prod μ) s = (sum fun i => (m i).prod μ) s

tactic: simp only [prod_apply hs, lintegral_sum_measure, hs, sum_apply, ENNReal.tsum_prod']
state_before: case h
α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
E : Type u_6
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MeasurableSpace α'
inst✝⁵ : MeasurableSpace β
inst✝⁴ : MeasurableSpace β'
inst✝³ : MeasurableSpace γ
μ✝ μ' : Measure α
ν ν' : Measure β
τ : Measure γ
inst✝² : NormedAddCommGroup E
inst✝¹ : SFinite ν
ι : Type u_7
m : ι → Measure α
μ : Measure β
inst✝ : SFinite μ
s : Set (α × β)
hs : MeasurableSet s
⊢ ((sum m).prod μ) s = (sum fun i => (m i).prod μ) s
state_after: no goals
Theorem: aeSeq.fun_prop_of_mem_aeSeqSet
File: Mathlib/MeasureTheory/Function/AEMeasurableSequence.lean

tactic: have h_eq : (fun n => f n x) = fun n => aeSeq hf p n x :=
  funext fun n => (aeSeq_eq_fun_of_mem_aeSeqSet hf hx n).symm
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : ι → α → β
μ : Measure α
p : α → (ι → β) → Prop
hf : ∀ (i : ι), AEMeasurable (f i) μ
x : α
hx : x ∈ aeSeqSet hf p
⊢ p x fun n => f n x
state_after: ι : Sort u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : ι → α → β
μ : Measure α
p : α → (ι → β) → Prop
hf : ∀ (i : ι), AEMeasurable (f i) μ
x : α
hx : x ∈ aeSeqSet hf p
h_eq : (fun n => f n x) = fun n => aeSeq hf p n x
⊢ p x fun n => f n x

tactic: rw [h_eq]
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : ι → α → β
μ : Measure α
p : α → (ι → β) → Prop
hf : ∀ (i : ι), AEMeasurable (f i) μ
x : α
hx : x ∈ aeSeqSet hf p
h_eq : (fun n => f n x) = fun n => aeSeq hf p n x
⊢ p x fun n => f n x
state_after: ι : Sort u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : ι → α → β
μ : Measure α
p : α → (ι → β) → Prop
hf : ∀ (i : ι), AEMeasurable (f i) μ
x : α
hx : x ∈ aeSeqSet hf p
h_eq : (fun n => f n x) = fun n => aeSeq hf p n x
⊢ p x fun n => aeSeq hf p n x

tactic: exact prop_of_mem_aeSeqSet hf hx
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
f : ι → α → β
μ : Measure α
p : α → (ι → β) → Prop
hf : ∀ (i : ι), AEMeasurable (f i) μ
x : α
hx : x ∈ aeSeqSet hf p
h_eq : (fun n => f n x) = fun n => aeSeq hf p n x
⊢ p x fun n => aeSeq hf p n x
state_after: no goals
Theorem: norm_sub_le_of_geometric_bound_of_hasSum
File: Mathlib/Analysis/SpecificLimits/Normed.lean

tactic: rw [← dist_eq_norm]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ ‖∑ x ∈ Finset.range n, f x - a‖ ≤ C * r ^ n / (1 - r)
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ dist (∑ x ∈ Finset.range n, f x) a ≤ C * r ^ n / (1 - r)

tactic: apply dist_le_of_le_geometric_of_tendsto r C hr (dist_partial_sum_le_of_le_geometric hf)
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ dist (∑ x ∈ Finset.range n, f x) a ≤ C * r ^ n / (1 - r)
state_after: case ha
α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ Tendsto (fun n => ∑ i ∈ Finset.range n, f i) atTop (𝓝 a)

tactic: exact ha.tendsto_sum_nat
state_before: case ha
α : Type u_1
β : Type u_2
ι : Type u_3
inst✝ : SeminormedAddCommGroup α
r C : ℝ
f : ℕ → α
hr : r < 1
hf : ∀ (n : ℕ), ‖f n‖ ≤ C * r ^ n
a : α
ha : HasSum f a
n : ℕ
⊢ Tendsto (fun n => ∑ i ∈ Finset.range n, f i) atTop (𝓝 a)
state_after: no goals
Theorem: adjoin_le_integralClosure
File: Mathlib/RingTheory/IntegralClosure.lean

tactic: rw [Algebra.adjoin_le_iff]
state_before: R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Ring B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f✝¹ : R →+* S
f✝ : R →+* B
f : R →+* S
x : A
hx : IsIntegral R x
⊢ Algebra.adjoin R {x} ≤ integralClosure R A
state_after: R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Ring B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f✝¹ : R →+* S
f✝ : R →+* B
f : R →+* S
x : A
hx : IsIntegral R x
⊢ {x} ⊆ ↑(integralClosure R A)

tactic: simp only [SetLike.mem_coe, Set.singleton_subset_iff]
state_before: R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Ring B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f✝¹ : R →+* S
f✝ : R →+* B
f : R →+* S
x : A
hx : IsIntegral R x
⊢ {x} ⊆ ↑(integralClosure R A)
state_after: R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Ring B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f✝¹ : R →+* S
f✝ : R →+* B
f : R →+* S
x : A
hx : IsIntegral R x
⊢ x ∈ integralClosure R A

tactic: exact hx
state_before: R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁵ : CommRing R
inst✝⁴ : CommRing A
inst✝³ : Ring B
inst✝² : CommRing S
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f✝¹ : R →+* S
f✝ : R →+* B
f : R →+* S
x : A
hx : IsIntegral R x
⊢ x ∈ integralClosure R A
state_after: no goals
Theorem: egauge_empty
File: Mathlib/Analysis/Convex/EGauge.lean

tactic: simp [egauge]
state_before: 𝕜 : Type u_1
inst✝¹ : NNNorm 𝕜
E : Type u_2
inst✝ : SMul 𝕜 E
c : 𝕜
s t : Set E
x✝ : E
r : ℝ≥0∞
x : E
⊢ egauge 𝕜 ∅ x = ⊤
state_after: no goals
Theorem: CategoryTheory.Localization.essSurj_mapComposableArrows
File: Mathlib/CategoryTheory/Localization/CalculusOfFractions/ComposableArrows.lean

tactic: have := essSurj_mapComposableArrows_of_hasRightCalculusOfFractions L.op W.op n
state_before: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{u_4, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
n : ℕ
⊢ (L.mapComposableArrows n).EssSurj
state_after: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{u_4, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
n : ℕ
this : (L.op.mapComposableArrows n).EssSurj
⊢ (L.mapComposableArrows n).EssSurj

tactic: have := Functor.essSurj_of_iso (L.mapComposableArrowsOpIso n).symm
state_before: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{u_4, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
n : ℕ
this : (L.op.mapComposableArrows n).EssSurj
⊢ (L.mapComposableArrows n).EssSurj
state_after: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{u_4, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
n : ℕ
this✝ : (L.op.mapComposableArrows n).EssSurj
this : (L.mapComposableArrows n ⋙ (opEquivalence D n).functor.rightOp).EssSurj
⊢ (L.mapComposableArrows n).EssSurj

tactic: exact Functor.essSurj_of_comp_fully_faithful _ (opEquivalence D n).functor.rightOp
state_before: C : Type u_1
D : Type u_2
inst✝³ : Category.{u_3, u_1} C
inst✝² : Category.{u_4, u_2} D
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
n : ℕ
this✝ : (L.op.mapComposableArrows n).EssSurj
this : (L.mapComposableArrows n ⋙ (opEquivalence D n).functor.rightOp).EssSurj
⊢ (L.mapComposableArrows n).EssSurj
state_after: no goals
Theorem: Set.iUnion_iUnion_eq'
File: Mathlib/Data/Set/Lattice.lean

tactic: simpa using biUnion_range
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
f : ι → α
g : α → Set β
⊢ ⋃ x, ⋃ y, ⋃ (_ : f y = x), g x = ⋃ y, g (f y)
state_after: no goals
Theorem: Bool.not_eq_iff
File: Mathlib/Data/Bool/Basic.lean

tactic: decide
state_before: ⊢ ∀ {a b : Bool}, (!decide (a = b)) = true ↔ a ≠ b
state_after: no goals
Theorem: Lagrange.basisDivisor_self
File: Mathlib/LinearAlgebra/Lagrange.lean

tactic: simp only [basisDivisor, sub_self, inv_zero, map_zero, zero_mul]
state_before: F : Type u_1
inst✝ : Field F
x y : F
⊢ basisDivisor x x = 0
state_after: no goals
Theorem: Finset.Ioo_filter_lt
File: Mathlib/Order/Interval/Finset/Basic.lean

tactic: ext
state_before: ι : Type u_1
α : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝ b✝ a b c : α
⊢ filter (fun x => x < c) (Ioo a b) = Ioo a (min b c)
state_after: case a
ι : Type u_1
α : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝¹ b✝ a b c a✝ : α
⊢ a✝ ∈ filter (fun x => x < c) (Ioo a b) ↔ a✝ ∈ Ioo a (min b c)

tactic: simp [and_assoc]
state_before: case a
ι : Type u_1
α : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LocallyFiniteOrder α
a✝¹ b✝ a b c a✝ : α
⊢ a✝ ∈ filter (fun x => x < c) (Ioo a b) ↔ a✝ ∈ Ioo a (min b c)
state_after: no goals