1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Finset.le_inf'_image₂
File: Mathlib/Data/Finset/NAry.lean

tactic: rw [le_inf'_iff, forall_image₂_iff]
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✝ : SemilatticeInf δ
g : γ → δ
a : δ
h : (image₂ f s t).Nonempty
⊢ a ≤ (image₂ f s t).inf' h g ↔ ∀ x ∈ s, ∀ y ∈ t, a ≤ g (f x y)
state_after: no goals
Theorem: rootsOfUnity_le_of_dvd
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: obtain ⟨d, rfl⟩ := h
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ+
h : k ∣ l
⊢ rootsOfUnity k M ≤ rootsOfUnity l M
state_after: case intro
M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k d : ℕ+
⊢ rootsOfUnity k M ≤ rootsOfUnity (k * d) M

tactic: intro ζ h
state_before: case intro
M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k d : ℕ+
⊢ rootsOfUnity k M ≤ rootsOfUnity (k * d) M
state_after: case intro
M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k d : ℕ+
ζ : Mˣ
h : ζ ∈ rootsOfUnity k M
⊢ ζ ∈ rootsOfUnity (k * d) M

tactic: simp_all only [mem_rootsOfUnity, PNat.mul_coe, pow_mul, one_pow]
state_before: case intro
M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k d : ℕ+
ζ : Mˣ
h : ζ ∈ rootsOfUnity k M
⊢ ζ ∈ rootsOfUnity (k * d) M
state_after: no goals
Theorem: sdiff_le_comm
File: Mathlib/Order/Heyting/Basic.lean

tactic: rw [sdiff_le_iff, sdiff_le_iff']
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝ : GeneralizedCoheytingAlgebra α
a b c d : α
⊢ a \ b ≤ c ↔ a \ c ≤ b
state_after: no goals
Theorem: Valuation.map_sub
File: Mathlib/RingTheory/Valuation/Basic.lean

tactic: rw [sub_eq_add_neg]
state_before: K : Type u_1
F : Type u_2
R : Type u_3
inst✝³ : DivisionRing K
Γ₀ : Type u_4
Γ'₀ : Type u_5
Γ''₀ : Type u_6
inst✝² : LinearOrderedCommMonoidWithZero Γ''₀
inst✝¹ : Ring R
inst✝ : LinearOrderedCommGroupWithZero Γ₀
v : Valuation R Γ₀
x✝ y✝ z x y : R
⊢ v (x - y) = v (x + -y)
state_after: no goals

tactic: rw [map_neg]
state_before: K : Type u_1
F : Type u_2
R : Type u_3
inst✝³ : DivisionRing K
Γ₀ : Type u_4
Γ'₀ : Type u_5
Γ''₀ : Type u_6
inst✝² : LinearOrderedCommMonoidWithZero Γ''₀
inst✝¹ : Ring R
inst✝ : LinearOrderedCommGroupWithZero Γ₀
v : Valuation R Γ₀
x✝ y✝ z x y : R
⊢ max (v x) (v (-y)) = max (v x) (v y)
state_after: no goals
Theorem: Filter.frequently_iff_neBot
File: Mathlib/Order/Filter/Basic.lean

tactic: rw [neBot_iff, Ne, inf_principal_eq_bot]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l : Filter α
p : α → Prop
⊢ (∃ᶠ (x : α) in l, p x) ↔ (l ⊓ 𝓟 {x | p x}).NeBot
state_after: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l : Filter α
p : α → Prop
⊢ (∃ᶠ (x : α) in l, p x) ↔ {x | p x}ᶜ ∉ l

tactic: rfl
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l : Filter α
p : α → Prop
⊢ (∃ᶠ (x : α) in l, p x) ↔ {x | p x}ᶜ ∉ l
state_after: no goals
Theorem: le_geom
File: Mathlib/Analysis/SpecificLimits/Basic.lean

tactic: apply (monotone_mul_left_of_nonneg hc).seq_le_seq n _ h _ <;>
  simp [_root_.pow_succ', mul_assoc, le_refl]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
u : ℕ → ℝ
c : ℝ
hc : 0 ≤ c
n : ℕ
h : ∀ k < n, u (k + 1) ≤ c * u k
⊢ u n ≤ c ^ n * u 0
state_after: no goals
Theorem: MvPFunctor.wDest'_wMk
File: Mathlib/Data/PFunctor/Multivariate/W.lean

tactic: rw [wDest', wRec_eq]
state_before: n : ℕ
P : MvPFunctor.{u} (n + 1)
α : TypeVec.{u} n
a : P.A
f' : P.drop.B a ⟹ α
f : P.last.B a → P.W α
⊢ P.wDest' (P.wMk a f' f) = ⟨a, splitFun f' f⟩
state_after: no goals
Theorem: Stream'.corec_id_id_eq_const
File: Mathlib/Data/Stream/Init.lean

tactic: rw [corec_def, map_id, iterate_id]
state_before: α : Type u
β : Type v
δ : Type w
a : α
⊢ corec id id a = const a
state_after: no goals
Theorem: AddMonoidAlgebra.mem_span_support
File: Mathlib/Algebra/MonoidAlgebra/Support.lean

tactic: erw [of, MonoidHom.coe_mk, ← Finsupp.supported_eq_span_single, Finsupp.mem_supported]
state_before: k : Type u₁
G : Type u₂
inst✝¹ : Semiring k
inst✝ : AddZeroClass G
f : k[G]
⊢ f ∈ Submodule.span k (⇑(of k G) '' ↑f.support)
state_after: no goals
Theorem: OrderIso.isAtomic_iff
File: Mathlib/Order/Atoms.lean

tactic: simp only [isAtomic_iff, f.surjective.forall, f.surjective.exists, ← map_bot f, f.eq_iff_eq,
  f.le_iff_le, f.isAtom_iff]
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
inst✝³ : PartialOrder α
inst✝² : PartialOrder β
inst✝¹ : OrderBot α
inst✝ : OrderBot β
f : α ≃o β
⊢ IsAtomic α ↔ IsAtomic β
state_after: no goals
Theorem: HomologicalComplex.biprod_lift_fst_f
File: Mathlib/Algebra/Homology/HomologicalComplexBiprod.lean

tactic: rw [← comp_f, biprod.lift_fst]
state_before: C : Type u_1
ι : Type u_2
inst✝² : Category.{u_3, u_1} C
inst✝¹ : Preadditive C
c : ComplexShape ι
K L : HomologicalComplex C c
inst✝ : ∀ (i : ι), HasBinaryBiproduct (K.X i) (L.X i)
M : HomologicalComplex C c
α : M ⟶ K
β : M ⟶ L
i : ι
⊢ (biprod.lift α β).f i ≫ biprod.fst.f i = α.f i
state_after: no goals
Theorem: groupCohomology.dZero_comp_eq
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

tactic: ext x y
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
⊢ dZero A ∘ₗ ↑(zeroCochainsLequiv A) = ↑(oneCochainsLequiv A) ∘ₗ (inhomogeneousCochains A).d 0 1
state_after: case h.h
k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
x : ↑((inhomogeneousCochains A).X 0)
y : G
⊢ (dZero A ∘ₗ ↑(zeroCochainsLequiv A)) x y = (↑(oneCochainsLequiv A) ∘ₗ (inhomogeneousCochains A).d 0 1) x y

tactic: show A.ρ y (x default) - x default = _ + ({0} : Finset _).sum _
state_before: case h.h
k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
x : ↑((inhomogeneousCochains A).X 0)
y : G
⊢ (dZero A ∘ₗ ↑(zeroCochainsLequiv A)) x y = (↑(oneCochainsLequiv A) ∘ₗ (inhomogeneousCochains A).d 0 1) x y
state_after: case h.h
k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
x : ↑((inhomogeneousCochains A).X 0)
y : G
⊢ (A.ρ y) (x default) - x default =
    (A.ρ ((Equiv.funUnique (Fin 1) G).symm y 0)) (x fun i => (Equiv.funUnique (Fin 1) G).symm y i.succ) +
      ∑ j ∈ {0}, (-1) ^ (↑j + 1) • x (j.contractNth (fun x x_1 => x * x_1) ((Equiv.funUnique (Fin 1) G).symm y))

tactic: simp_rw [Fin.coe_fin_one, zero_add, pow_one, neg_smul, one_smul,
  Finset.sum_singleton, sub_eq_add_neg]
state_before: case h.h
k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
x : ↑((inhomogeneousCochains A).X 0)
y : G
⊢ (A.ρ y) (x default) - x default =
    (A.ρ ((Equiv.funUnique (Fin 1) G).symm y 0)) (x fun i => (Equiv.funUnique (Fin 1) G).symm y i.succ) +
      ∑ j ∈ {0}, (-1) ^ (↑j + 1) • x (j.contractNth (fun x x_1 => x * x_1) ((Equiv.funUnique (Fin 1) G).symm y))
state_after: case h.h
k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
x : ↑((inhomogeneousCochains A).X 0)
y : G
⊢ (A.ρ y) (x default) + -x default =
    (A.ρ ((Equiv.funUnique (Fin 1) G).symm y 0)) (x fun i => (Equiv.funUnique (Fin 1) G).symm y i.succ) +
      -x (Fin.contractNth 0 (fun x x_1 => x * x_1) ((Equiv.funUnique (Fin 1) G).symm y))

tactic: rcongr i <;> exact Fin.elim0 i
state_before: case h.h
k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
x : ↑((inhomogeneousCochains A).X 0)
y : G
⊢ (A.ρ y) (x default) + -x default =
    (A.ρ ((Equiv.funUnique (Fin 1) G).symm y 0)) (x fun i => (Equiv.funUnique (Fin 1) G).symm y i.succ) +
      -x (Fin.contractNth 0 (fun x x_1 => x * x_1) ((Equiv.funUnique (Fin 1) G).symm y))
state_after: no goals
Theorem: NonUnitalStarSubalgebra.toStarSubalgebra_toNonUnitalStarSubalgebra
File: Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean

tactic: cases S
state_before: R : Type u_1
A : Type u_2
inst✝⁵ : CommSemiring R
inst✝⁴ : StarRing R
inst✝³ : Semiring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : StarModule R A
S : NonUnitalStarSubalgebra R A
h1 : 1 ∈ S
⊢ (S.toStarSubalgebra h1).toNonUnitalStarSubalgebra = S
state_after: case mk
R : Type u_1
A : Type u_2
inst✝⁵ : CommSemiring R
inst✝⁴ : StarRing R
inst✝³ : Semiring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : StarModule R A
toNonUnitalSubalgebra✝ : NonUnitalSubalgebra R A
star_mem'✝ : ∀ {a : A}, a ∈ toNonUnitalSubalgebra✝.carrier → star a ∈ toNonUnitalSubalgebra✝.carrier
h1 : 1 ∈ { toNonUnitalSubalgebra := toNonUnitalSubalgebra✝, star_mem' := star_mem'✝ }
⊢ ({ toNonUnitalSubalgebra := toNonUnitalSubalgebra✝, star_mem' := star_mem'✝ }.toStarSubalgebra
        h1).toNonUnitalStarSubalgebra =
    { toNonUnitalSubalgebra := toNonUnitalSubalgebra✝, star_mem' := star_mem'✝ }

tactic: rfl
state_before: case mk
R : Type u_1
A : Type u_2
inst✝⁵ : CommSemiring R
inst✝⁴ : StarRing R
inst✝³ : Semiring A
inst✝² : StarRing A
inst✝¹ : Algebra R A
inst✝ : StarModule R A
toNonUnitalSubalgebra✝ : NonUnitalSubalgebra R A
star_mem'✝ : ∀ {a : A}, a ∈ toNonUnitalSubalgebra✝.carrier → star a ∈ toNonUnitalSubalgebra✝.carrier
h1 : 1 ∈ { toNonUnitalSubalgebra := toNonUnitalSubalgebra✝, star_mem' := star_mem'✝ }
⊢ ({ toNonUnitalSubalgebra := toNonUnitalSubalgebra✝, star_mem' := star_mem'✝ }.toStarSubalgebra
        h1).toNonUnitalStarSubalgebra =
    { toNonUnitalSubalgebra := toNonUnitalSubalgebra✝, star_mem' := star_mem'✝ }
state_after: no goals
Theorem: SimpleGraph.Walk.mem_darts_reverse
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: simp
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v : V
d : G.Dart
p : G.Walk u v
⊢ d ∈ p.reverse.darts ↔ d.symm ∈ p.darts
state_after: no goals
Theorem: QuaternionAlgebra.star_coe
File: Mathlib/Algebra/Quaternion.lean

tactic: ext <;> simp
state_before: S : Type u_1
T : Type u_2
R : Type u_3
inst✝ : CommRing R
c₁ c₂ r x y z : R
a b c : ℍ[R,c₁,c₂]
⊢ star ↑x = ↑x
state_after: no goals
Theorem: Con.inv
File: Mathlib/GroupTheory/Congruence/Basic.lean

tactic: simp only [mul_left_inv, c.refl 1]
state_before: M : Type u_1
N : Type u_2
P : Type u_3
inst✝² : Group M
inst✝¹ : Group N
inst✝ : Group P
c : Con M
x✝ y : M
h : c x✝ y
x : M
⊢ c (x⁻¹ * x) 1
state_after: no goals
Theorem: MeasureTheory.Measure.join_eq_bind
File: Mathlib/MeasureTheory/Measure/GiryMonad.lean

tactic: rw [bind, map_id]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
μ : Measure (Measure α)
⊢ μ.join = μ.bind id
state_after: no goals
Theorem: inf_sdiff_inf
File: Mathlib/Order/BooleanAlgebra.lean

tactic: rw [inf_comm, inf_inf_sdiff]
state_before: α : Type u
β : Type u_1
w x✝ y✝ z : α
inst✝ : GeneralizedBooleanAlgebra α
x y : α
⊢ x \ y ⊓ (x ⊓ y) = ⊥
state_after: no goals
Theorem: LinearMap.det_toLin'
File: Mathlib/LinearAlgebra/Determinant.lean

tactic: simp only [← toLin_eq_toLin', det_toLin]
state_before: R : Type u_1
inst✝⁹ : CommRing R
M : Type u_2
inst✝⁸ : AddCommGroup M
inst✝⁷ : Module R M
M' : Type u_3
inst✝⁶ : AddCommGroup M'
inst✝⁵ : Module R M'
ι : Type u_4
inst✝⁴ : DecidableEq ι
inst✝³ : Fintype ι
e : Basis ι R M
A : Type u_5
inst✝² : CommRing A
inst✝¹ : Module A M
κ : Type u_6
inst✝ : Fintype κ
f : Matrix ι ι R
⊢ LinearMap.det (toLin' f) = f.det
state_after: no goals
Theorem: Basis.prod_apply_inr_snd
File: Mathlib/LinearAlgebra/Basis.lean

tactic: ext i
state_before: ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i✝ : ι
c : R
x : M
b' : Basis ι' R M'
i : ι'
⊢ b'.repr ((b.prod b') (Sum.inr i)).2 = b'.repr (b' i)
state_after: case h
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i✝¹ : ι
c : R
x : M
b' : Basis ι' R M'
i✝ i : ι'
⊢ (b'.repr ((b.prod b') (Sum.inr i✝)).2) i = (b'.repr (b' i✝)) i

tactic: simp only [Basis.prod, Basis.coe_ofRepr, LinearEquiv.symm_trans_apply, LinearEquiv.prod_symm,
  LinearEquiv.prod_apply, b'.repr.apply_symm_apply, LinearEquiv.symm_symm, repr_self,
  Equiv.toFun_as_coe, Finsupp.snd_sumFinsuppLEquivProdFinsupp]
state_before: case h
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i✝¹ : ι
c : R
x : M
b' : Basis ι' R M'
i✝ i : ι'
⊢ (b'.repr ((b.prod b') (Sum.inr i✝)).2) i = (b'.repr (b' i✝)) i
state_after: case h
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i✝¹ : ι
c : R
x : M
b' : Basis ι' R M'
i✝ i : ι'
⊢ (Finsupp.single (Sum.inr i✝) 1) (Sum.inr i) = (Finsupp.single i✝ 1) i

tactic: apply Finsupp.single_apply_left Sum.inr_injective
state_before: case h
ι : Type u_1
ι' : Type u_2
R : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : Module R M
inst✝¹ : AddCommMonoid M'
inst✝ : Module R M'
b b₁ : Basis ι R M
i✝¹ : ι
c : R
x : M
b' : Basis ι' R M'
i✝ i : ι'
⊢ (Finsupp.single (Sum.inr i✝) 1) (Sum.inr i) = (Finsupp.single i✝ 1) i
state_after: no goals
Theorem: UniqueMul.of_mulHom_image
File: Mathlib/Algebra/Group/UniqueProds.lean

tactic: simp_rw [← map_mul, ab]
state_before: G : Type u_1
H : Type u_2
inst✝² : Mul G
inst✝¹ : Mul H
A B : Finset G
a0 b0 : G
inst✝ : DecidableEq H
f : G →ₙ* H
hf : ∀ ⦃a b c d : G⦄, a * b = c * d → f a = f c ∧ f b = f d → a = c ∧ b = d
h : UniqueMul (Finset.image (⇑f) A) (Finset.image (⇑f) B) (f a0) (f b0)
a b : G
ha : a ∈ A
hb : b ∈ B
ab : a * b = a0 * b0
⊢ f a * f b = f a0 * f b0
state_after: no goals
Theorem: Set.Ioi_inter_Ioo
File: Mathlib/Order/Interval/Set/Basic.lean

tactic: rw [inter_comm, Ioo_inter_Ioi, max_comm]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : LinearOrder α
inst✝ : LinearOrder β
f : α → β
a a₁ a₂ b b₁ b₂ c d : α
⊢ Ioi a ∩ Ioo b c = Ioo (max a b) c
state_after: no goals
Theorem: MeasureTheory.IntegrableOn.add_measure
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: delta IntegrableOn
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
hμ : IntegrableOn f s μ
hν : IntegrableOn f s ν
⊢ IntegrableOn f s (μ + ν)
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
hμ : IntegrableOn f s μ
hν : IntegrableOn f s ν
⊢ Integrable f ((μ + ν).restrict s)

tactic: rw [Measure.restrict_add]
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
hμ : IntegrableOn f s μ
hν : IntegrableOn f s ν
⊢ Integrable f ((μ + ν).restrict s)
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
hμ : IntegrableOn f s μ
hν : IntegrableOn f s ν
⊢ Integrable f (μ.restrict s + ν.restrict s)

tactic: exact hμ.integrable.add_measure hν
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
hμ : IntegrableOn f s μ
hν : IntegrableOn f s ν
⊢ Integrable f (μ.restrict s + ν.restrict s)
state_after: no goals
Theorem: Ideal.stableFiltration_stable
File: Mathlib/RingTheory/Filtration.lean

tactic: use 0
state_before: R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
⊢ (I.stableFiltration N).Stable
state_after: case h
R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
⊢ ∀ n ≥ 0, I • (I.stableFiltration N).N n = (I.stableFiltration N).N (n + 1)

tactic: intro n _
state_before: case h
R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
⊢ ∀ n ≥ 0, I • (I.stableFiltration N).N n = (I.stableFiltration N).N (n + 1)
state_after: case h
R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
n : ℕ
a✝ : n ≥ 0
⊢ I • (I.stableFiltration N).N n = (I.stableFiltration N).N (n + 1)

tactic: dsimp
state_before: case h
R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
n : ℕ
a✝ : n ≥ 0
⊢ I • (I.stableFiltration N).N n = (I.stableFiltration N).N (n + 1)
state_after: case h
R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
n : ℕ
a✝ : n ≥ 0
⊢ I • I ^ n • N = I ^ (n + 1) • N

tactic: rw [add_comm, pow_add, mul_smul, pow_one]
state_before: case h
R M : Type u
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
I✝ : Ideal R
F F' : I✝.Filtration M
I : Ideal R
N : Submodule R M
n : ℕ
a✝ : n ≥ 0
⊢ I • I ^ n • N = I ^ (n + 1) • N
state_after: no goals
Theorem: Fin.castpred_succ_le_iff
File: Mathlib/Data/Fin/Basic.lean

tactic: rw [castPred_le_iff, succ_le_castSucc_iff]
state_before: n m : ℕ
a b : Fin (n + 1)
ha : a.succ ≠ last (n + 1)
⊢ a.succ.castPred ha ≤ b ↔ a < b
state_after: no goals
Theorem: Seminorm.bound_of_shell
File: Mathlib/Analysis/Seminorm.lean

tactic: rcases p.rescale_to_shell hc ε_pos hx with ⟨δ, hδ, δxle, leδx, -⟩
state_before: R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
p q : Seminorm 𝕜 E
ε C : ℝ
ε_pos : 0 < ε
c : 𝕜
hc : 1 < ‖c‖
hf : ∀ (x : E), ε / ‖c‖ ≤ p x → p x < ε → q x ≤ C * p x
x : E
hx : p x ≠ 0
⊢ q x ≤ C * p x
state_after: case intro.intro.intro.intro
R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
p q : Seminorm 𝕜 E
ε C : ℝ
ε_pos : 0 < ε
c : 𝕜
hc : 1 < ‖c‖
hf : ∀ (x : E), ε / ‖c‖ ≤ p x → p x < ε → q x ≤ C * p x
x : E
hx : p x ≠ 0
δ : 𝕜
hδ : δ ≠ 0
δxle : p (δ • x) < ε
leδx : ε / ‖c‖ ≤ p (δ • x)
⊢ q x ≤ C * p x

tactic: simpa only [map_smul_eq_mul, mul_left_comm C, mul_le_mul_left (norm_pos_iff.2 hδ)]
  using hf (δ • x) leδx δxle
state_before: case intro.intro.intro.intro
R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
p q : Seminorm 𝕜 E
ε C : ℝ
ε_pos : 0 < ε
c : 𝕜
hc : 1 < ‖c‖
hf : ∀ (x : E), ε / ‖c‖ ≤ p x → p x < ε → q x ≤ C * p x
x : E
hx : p x ≠ 0
δ : 𝕜
hδ : δ ≠ 0
δxle : p (δ • x) < ε
leδx : ε / ‖c‖ ≤ p (δ • x)
⊢ q x ≤ C * p x
state_after: no goals
Theorem: AkraBazziRecurrence.asympBound_def'
File: Mathlib/Computability/AkraBazzi/AkraBazzi.lean

tactic: simp [asympBound_def, sumTransform, mul_add, mul_one, Finset.sum_Ico_eq_sum_range]
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : Nonempty α
T : ℕ → ℝ
g : ℝ → ℝ
a b : α → ℝ
r : α → ℕ → ℕ
R : AkraBazziRecurrence T g a b r
n : ℕ
⊢ asympBound g a b n = ↑n ^ p a b * (1 + ∑ u ∈ range n, g ↑u / ↑u ^ (p a b + 1))
state_after: no goals
Theorem: circleIntegral.norm_integral_le_of_norm_le_const'
File: Mathlib/MeasureTheory/Integral/CircleIntegral.lean

tactic: simp [norm_smul]
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
R C : ℝ
hf : ∀ z ∈ sphere c |R|, ‖f z‖ ≤ C
θ : ℝ
x✝ : θ ∈ Ι 0 (2 * π)
⊢ ‖deriv (circleMap c R) θ • f (circleMap c R θ)‖ = |R| * ‖f (circleMap c R θ)‖
state_after: no goals

tactic: rw [sub_zero, _root_.abs_of_pos Real.two_pi_pos]
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
R C : ℝ
hf : ∀ z ∈ sphere c |R|, ‖f z‖ ≤ C
⊢ |R| * C * |2 * π - 0| = 2 * π * |R| * C
state_after: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
R C : ℝ
hf : ∀ z ∈ sphere c |R|, ‖f z‖ ≤ C
⊢ |R| * C * (2 * π) = 2 * π * |R| * C

tactic: ac_rfl
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
f : ℂ → E
c : ℂ
R C : ℝ
hf : ∀ z ∈ sphere c |R|, ‖f z‖ ≤ C
⊢ |R| * C * (2 * π) = 2 * π * |R| * C
state_after: no goals
Theorem: Filter.disjoint_atBot_atTop
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: rcases exists_pair_ne α with ⟨x, y, hne⟩
state_before: ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
⊢ Disjoint atBot atTop
state_after: case intro.intro
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
⊢ Disjoint atBot atTop

tactic: by_cases hle : x ≤ y
state_before: case intro.intro
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
⊢ Disjoint atBot atTop
state_after: case pos
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : x ≤ y
⊢ Disjoint atBot atTop

case neg
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : ¬x ≤ y
⊢ Disjoint atBot atTop

tactic: refine disjoint_of_disjoint_of_mem ?_ (Iic_mem_atBot x) (Ici_mem_atTop y)
state_before: case pos
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : x ≤ y
⊢ Disjoint atBot atTop
state_after: case pos
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : x ≤ y
⊢ Disjoint (Iic x) (Ici y)

tactic: exact Iic_disjoint_Ici.2 (hle.lt_of_ne hne).not_le
state_before: case pos
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : x ≤ y
⊢ Disjoint (Iic x) (Ici y)
state_after: no goals

tactic: refine disjoint_of_disjoint_of_mem ?_ (Iic_mem_atBot y) (Ici_mem_atTop x)
state_before: case neg
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : ¬x ≤ y
⊢ Disjoint atBot atTop
state_after: case neg
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : ¬x ≤ y
⊢ Disjoint (Iic y) (Ici x)

tactic: exact Iic_disjoint_Ici.2 hle
state_before: case neg
ι : Type u_1
ι' : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : PartialOrder α
inst✝ : Nontrivial α
x y : α
hne : x ≠ y
hle : ¬x ≤ y
⊢ Disjoint (Iic y) (Ici x)
state_after: no goals