tasksource/leandojo huggingface dataset:
Theorem: exists_seq_strictAnti_strictMono_tendsto
File: Mathlib/Topology/Order/Basic.lean

tactic: rcases exists_seq_strictAnti_tendsto' h with ⟨u, hu_anti, hu_mem, hux⟩
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁷ : TopologicalSpace α
inst✝⁶ : TopologicalSpace β
inst✝⁵ : LinearOrder α
inst✝⁴ : LinearOrder β
inst✝³ : OrderTopology α
inst✝² : OrderTopology β
inst✝¹ : DenselyOrdered α
inst✝ : FirstCountableTopology α
x y : α
h : x < y
⊢ ∃ u v,
    StrictAnti u ∧
      StrictMono v ∧
        (∀ (k : ℕ), u k ∈ Ioo x y) ∧
          (∀ (l : ℕ), v l ∈ Ioo x y) ∧ (∀ (k l : ℕ), u k < v l) ∧ Tendsto u atTop (𝓝 x) ∧ Tendsto v atTop (𝓝 y)

tactic: rcases exists_seq_strictMono_tendsto' (hu_mem 0).2 with ⟨v, hv_mono, hv_mem, hvy⟩
state_before: case intro.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝⁷ : TopologicalSpace α
inst✝⁶ : TopologicalSpace β
inst✝⁵ : LinearOrder α
inst✝⁴ : LinearOrder β
inst✝³ : OrderTopology α
inst✝² : OrderTopology β
inst✝¹ : DenselyOrdered α
inst✝ : FirstCountableTopology α
x y : α
h : x < y
u : ℕ → α
hu_anti : StrictAnti u
hu_mem : ∀ (n : ℕ), u n ∈ Ioo x y
hux : Tendsto u atTop (𝓝 x)
⊢ ∃ u v,
    StrictAnti u ∧
      StrictMono v ∧
        (∀ (k : ℕ), u k ∈ Ioo x y) ∧
          (∀ (l : ℕ), v l ∈ Ioo x y) ∧ (∀ (k l : ℕ), u k < v l) ∧ Tendsto u atTop (𝓝 x) ∧ Tendsto v atTop (𝓝 y)

tactic: exact
  ⟨u, v, hu_anti, hv_mono, hu_mem, fun l => ⟨(hu_mem 0).1.trans (hv_mem l).1, (hv_mem l).2⟩,
    fun k l => (hu_anti.antitone (zero_le k)).trans_lt (hv_mem l).1, hux, hvy⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
inst✝⁷ : TopologicalSpace α
inst✝⁶ : TopologicalSpace β
inst✝⁵ : LinearOrder α
inst✝⁴ : LinearOrder β
inst✝³ : OrderTopology α
inst✝² : OrderTopology β
inst✝¹ : DenselyOrdered α
inst✝ : FirstCountableTopology α
x y : α
h : x < y
u : ℕ → α
hu_anti : StrictAnti u
hu_mem : ∀ (n : ℕ), u n ∈ Ioo x y
hux : Tendsto u atTop (𝓝 x)
v : ℕ → α
hv_mono : StrictMono v
hv_mem : ∀ (n : ℕ), v n ∈ Ioo (u 0) y
hvy : Tendsto v atTop (𝓝 y)
⊢ ∃ u v,
    StrictAnti u ∧
      StrictMono v ∧
        (∀ (k : ℕ), u k ∈ Ioo x y) ∧
          (∀ (l : ℕ), v l ∈ Ioo x y) ∧ (∀ (k l : ℕ), u k < v l) ∧ Tendsto u atTop (𝓝 x) ∧ Tendsto v atTop (𝓝 y)
Theorem: MeasurableEmbedding.measurableSet_range
File: Mathlib/MeasureTheory/MeasurableSpace.lean

tactic: rw [← image_univ]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.380657
δ : Type ?u.380660
δ' : Type ?u.380663
ι : Sort uι
s t u : Set α
mα : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
f : α → β
g : β → γ
hf : MeasurableEmbedding f
⊢ MeasurableSet (range f)

tactic: exact hf.measurableSet_image' MeasurableSet.univ
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.380657
δ : Type ?u.380660
δ' : Type ?u.380663
ι : Sort uι
s t u : Set α
mα : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
f : α → β
g : β → γ
hf : MeasurableEmbedding f
⊢ MeasurableSet (f '' univ)
Theorem: CategoryTheory.Idempotents.natTrans_eq
File: Mathlib/CategoryTheory/Idempotents/FunctorExtension.lean

tactic: rw [← φ.naturality, ← assoc, ← F.map_comp]
state_before: C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ φ.app P = F.map (decompId_i P) ≫ φ.app (Karoubi.mk P.X (𝟙 P.X)) ≫ G.map (decompId_p P)

tactic: conv =>
  lhs
  rw [← id_comp (φ.app P), ← F.map_id]
state_before: C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ φ.app P = F.map (decompId_i P ≫ decompId_p P) ≫ φ.app P

tactic: congr
state_before: C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ F.map (𝟙 P) ≫ φ.app P = F.map (decompId_i P ≫ decompId_p P) ≫ φ.app P

tactic: apply decompId
state_before: case e_a.e_a
C : Type u_3
D : Type u_4
E : Type ?u.29
inst✝² : Category C
inst✝¹ : Category D
inst✝ : Category E
F G : Karoubi C ⥤ D
φ : F ⟶ G
P : Karoubi C
⊢ 𝟙 P = decompId_i P ≫ decompId_p P
Theorem: Finset.range_add_eq_union
File: Mathlib/Data/Nat/Interval.lean

tactic: rw [Finset.range_eq_Ico, map_eq_image]
state_before: a b c : ℕ
⊢ range (a + b) = range a ∪ map (addLeftEmbedding a) (range b)

tactic: convert (@Ico_union_Ico_eq_Ico _ _ _ _ _ (a + b) a.zero_le le_self_add).symm
state_before: a b c : ℕ
⊢ Ico 0 (a + b) = Ico 0 a ∪ image (↑(addLeftEmbedding a)) (Ico 0 b)

tactic: exact image_add_left_Ico _ _ _
state_before: case h.e'_3.h.e'_4
a b c : ℕ
⊢ image (↑(addLeftEmbedding a)) (Ico 0 b) = Ico a (a + b)
Theorem: CategoryTheory.CommSq.op
File: Mathlib/CategoryTheory/CommSq.lean

tactic: simp only [← op_comp, p.w]
state_before: C : Type u_1
inst✝ : Category C
W X Y Z : C
f : W ⟶ X
g : W ⟶ Y
h : X ⟶ Z
i : Y ⟶ Z
p : CommSq f g h i
⊢ i.op ≫ g.op = h.op ≫ f.op
Theorem: Orientation.volumeForm_zero_pos
File: Mathlib/Analysis/InnerProductSpace/Orientation.lean

tactic: simp [volumeForm, Or.by_cases, if_pos]
state_before: E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : InnerProductSpace ℝ E
n : ℕ
_i✝ : Fact (finrank ℝ E = n)
o : Orientation ℝ E (Fin n)
_i : Fact (finrank ℝ E = 0)
⊢ volumeForm positiveOrientation = ↑AlternatingMap.constLinearEquivOfIsEmpty 1
Theorem: Polynomial.expand_aeval
File: Mathlib/Data/Polynomial/Expand.lean

tactic: refine' Polynomial.induction_on P (fun a => by simp) (fun f g hf hg => _) fun n a _ => by simp
state_before: R : Type u
inst✝³ : CommSemiring R
S : Type v
inst✝² : CommSemiring S
p✝ q : ℕ
A : Type u_1
inst✝¹ : Semiring A
inst✝ : Algebra R A
p : ℕ
P : R[X]
r : A
⊢ ↑(aeval r) (↑(expand R p) P) = ↑(aeval (r ^ p)) P

tactic: rw [AlgHom.map_add, aeval_add, aeval_add, hf, hg]
state_before: R : Type u
inst✝³ : CommSemiring R
S : Type v
inst✝² : CommSemiring S
p✝ q : ℕ
A : Type u_1
inst✝¹ : Semiring A
inst✝ : Algebra R A
p : ℕ
P : R[X]
r : A
f g : R[X]
hf : ↑(aeval r) (↑(expand R p) f) = ↑(aeval (r ^ p)) f
hg : ↑(aeval r) (↑(expand R p) g) = ↑(aeval (r ^ p)) g
⊢ ↑(aeval r) (↑(expand R p) (f + g)) = ↑(aeval (r ^ p)) (f + g)

tactic: simp
state_before: R : Type u
inst✝³ : CommSemiring R
S : Type v
inst✝² : CommSemiring S
p✝ q : ℕ
A : Type u_1
inst✝¹ : Semiring A
inst✝ : Algebra R A
p : ℕ
P : R[X]
r : A
a : R
⊢ ↑(aeval r) (↑(expand R p) (↑C a)) = ↑(aeval (r ^ p)) (↑C a)

tactic: simp
state_before: R : Type u
inst✝³ : CommSemiring R
S : Type v
inst✝² : CommSemiring S
p✝ q : ℕ
A : Type u_1
inst✝¹ : Semiring A
inst✝ : Algebra R A
p : ℕ
P : R[X]
r : A
n : ℕ
a : R
x✝ : ↑(aeval r) (↑(expand R p) (↑C a * X ^ n)) = ↑(aeval (r ^ p)) (↑C a * X ^ n)
⊢ ↑(aeval r) (↑(expand R p) (↑C a * X ^ (n + 1))) = ↑(aeval (r ^ p)) (↑C a * X ^ (n + 1))
Theorem: Associates.dvd_of_mk_le_mk
File: Mathlib/Algebra/Associated.lean

tactic: intro c hc
state_before: α : Type u_1
β : Type ?u.301851
γ : Type ?u.301854
δ : Type ?u.301857
inst✝ : CommMonoid α
a b : α
c' : Associates α
hc' : Associates.mk b = Associates.mk a * c'
⊢ ∀ (c : α), Associates.mk b = Associates.mk a * Quotient.mk (Associated.setoid α) c → a ∣ b

tactic: let ⟨d, hd⟩ := (Quotient.exact hc).symm
state_before: α : Type u_1
β : Type ?u.301851
γ : Type ?u.301854
δ : Type ?u.301857
inst✝ : CommMonoid α
a b : α
c' : Associates α
hc' : Associates.mk b = Associates.mk a * c'
c : α
hc : Associates.mk b = Associates.mk a * Quotient.mk (Associated.setoid α) c
⊢ a ∣ b

tactic: exact ⟨↑d * c,
    calc
      b = a * c * ↑d := hd.symm
      _ = a * (↑d * c) := by ac_rfl
      ⟩
state_before: α : Type u_1
β : Type ?u.301851
γ : Type ?u.301854
δ : Type ?u.301857
inst✝ : CommMonoid α
a b : α
c' : Associates α
hc' : Associates.mk b = Associates.mk a * c'
c : α
hc : Associates.mk b = Associates.mk a * Quotient.mk (Associated.setoid α) c
d : αˣ
hd : a * c * ↑d = b
⊢ a ∣ b

tactic: ac_rfl
state_before: α : Type u_1
β : Type ?u.301851
γ : Type ?u.301854
δ : Type ?u.301857
inst✝ : CommMonoid α
a b : α
c' : Associates α
hc' : Associates.mk b = Associates.mk a * c'
c : α
hc : Associates.mk b = Associates.mk a * Quotient.mk (Associated.setoid α) c
d : αˣ
hd : a * c * ↑d = b
⊢ a * c * ↑d = a * (↑d * c)
Theorem: closedBall_sub_closedBall
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

tactic: rw [sub_eq_add_neg, neg_closedBall, closedBall_add_closedBall hε hδ, sub_eq_add_neg]
state_before: 𝕜 : Type ?u.1613309
E : Type u_1
inst✝⁴ : NormedField 𝕜
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
x y z : E
δ ε : ℝ
inst✝ : ProperSpace E
hε : 0 ≤ ε
hδ : 0 ≤ δ
a b : E
⊢ Metric.closedBall a ε - Metric.closedBall b δ = Metric.closedBall (a - b) (ε + δ)
Theorem: Polynomial.smul_X_eq_monomial
File: Mathlib/Data/Polynomial/Basic.lean

tactic: rw [X_pow_eq_monomial, smul_monomial, smul_eq_mul, mul_one]
state_before: R : Type u
a b : R
m n✝ : ℕ
inst✝ : Semiring R
p q : R[X]
n : ℕ
⊢ a • X ^ n = ↑(monomial n) a
Theorem: ENNReal.iInf_add_iInf
File: Mathlib/Data/Real/ENNReal.lean

tactic: simp_rw [iInf_add, add_iInf]
state_before: α : Type ?u.859696
β : Type ?u.859699
a b c d : ℝ≥0∞
r p q : ℝ≥0
ι : Sort u_1
f g : ι → ℝ≥0∞
h : ∀ (i j : ι), ∃ k, f k + g k ≤ f i + g j
⊢ (⨅ (a : ι) (a' : ι), f a + g a') = iInf f + iInf g
Theorem: MeasureTheory.SimpleFunc.integrable_pair
File: Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean

tactic: simpa only [integrable_iff_finMeasSupp] using FinMeasSupp.pair
state_before: α : Type u_1
β : Type ?u.1435008
ι : Type ?u.1435011
E : Type u_2
F : Type u_3
𝕜 : Type ?u.1435020
inst✝² : MeasurableSpace α
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedAddCommGroup F
μ : Measure α
p : ℝ≥0∞
f : α →ₛ E
g : α →ₛ F
⊢ Integrable ↑f → Integrable ↑g → Integrable ↑(pair f g)
Theorem: Equiv.pointReflection_involutive
File: Mathlib/Algebra/AddTorsor.lean

tactic: rw [pointReflection_symm]
state_before: G : Type u_2
P : Type u_1
inst✝¹ : AddGroup G
inst✝ : AddTorsor G P
x y : P
⊢ ↑(pointReflection x) y = ↑(pointReflection x).symm y
Theorem: Int.preimage_Ioi
File: Mathlib/Algebra/Order/Floor.lean

tactic: ext
state_before: F : Type ?u.245095
α : Type u_1
β : Type ?u.245101
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a : α
⊢ Int.cast ⁻¹' Ioi a = Ioi ⌊a⌋

tactic: simp [floor_lt]
state_before: case h
F : Type ?u.245095
α : Type u_1
β : Type ?u.245101
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a : α
x✝ : ℤ
⊢ x✝ ∈ Int.cast ⁻¹' Ioi a ↔ x✝ ∈ Ioi ⌊a⌋
Theorem: abs_lt_norm_sub_of_not_sameRay
File: Mathlib/Analysis/Convex/StrictConvexSpace.lean

tactic: refine' abs_sub_lt_iff.2 ⟨lt_norm_sub_of_not_sameRay h, _⟩
state_before: 𝕜 : Type ?u.64814
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b r : ℝ
h : ¬SameRay ℝ x y
⊢ abs (‖x‖ - ‖y‖) < ‖x - y‖

tactic: rw [norm_sub_rev]
state_before: 𝕜 : Type ?u.64814
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b r : ℝ
h : ¬SameRay ℝ x y
⊢ ‖y‖ - ‖x‖ < ‖x - y‖

tactic: exact lt_norm_sub_of_not_sameRay (mt SameRay.symm h)
state_before: 𝕜 : Type ?u.64814
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b r : ℝ
h : ¬SameRay ℝ x y
⊢ ‖y‖ - ‖x‖ < ‖y - x‖
Theorem: Cubic.of_a_eq_zero
File: Mathlib/Algebra/CubicDiscriminant.lean

tactic: rw [toPoly, ha, C_0, MulZeroClass.zero_mul, zero_add]
state_before: R : Type u_1
S : Type ?u.287798
F : Type ?u.287801
K : Type ?u.287804
P Q : Cubic R
a b c d a' b' c' d' : R
inst✝ : Semiring R
ha : P.a = 0
⊢ toPoly P = ↑C P.b * X ^ 2 + ↑C P.c * X + ↑C P.d
Theorem: AddMonoidAlgebra.le_inf_support_finset_prod
File: Mathlib/Algebra/MonoidAlgebra/Degree.lean

tactic: rw [Multiset.map_map]
state_before: R : Type u_4
A : Type u_2
T : Type u_1
B : Type ?u.101250
ι : Type u_3
inst✝¹¹ : SemilatticeSup B
inst✝¹⁰ : OrderBot B
inst✝⁹ : SemilatticeInf T
inst✝⁸ : OrderTop T
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid A
inst✝⁵ : AddCommMonoid B
inst✝⁴ : CovariantClass B B (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝³ : CovariantClass B B (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝² : AddCommMonoid T
inst✝¹ : CovariantClass T T (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass T T (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
degb : A → B
degt : A → T
degt0 : 0 ≤ degt 0
degtm : ∀ (a b : A), degt a + degt b ≤ degt (a + b)
s : Finset ι
f : ι → AddMonoidAlgebra R A
⊢ ∑ i in s, Finset.inf (f i).support degt =
    Multiset.sum (Multiset.map (fun f => Finset.inf f.support degt) (Multiset.map (fun i => f i) s.val))

tactic: rfl
state_before: R : Type u_4
A : Type u_2
T : Type u_1
B : Type ?u.101250
ι : Type u_3
inst✝¹¹ : SemilatticeSup B
inst✝¹⁰ : OrderBot B
inst✝⁹ : SemilatticeInf T
inst✝⁸ : OrderTop T
inst✝⁷ : CommSemiring R
inst✝⁶ : AddCommMonoid A
inst✝⁵ : AddCommMonoid B
inst✝⁴ : CovariantClass B B (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝³ : CovariantClass B B (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝² : AddCommMonoid T
inst✝¹ : CovariantClass T T (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
inst✝ : CovariantClass T T (Function.swap fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
degb : A → B
degt : A → T
degt0 : 0 ≤ degt 0
degtm : ∀ (a b : A), degt a + degt b ≤ degt (a + b)
s : Finset ι
f : ι → AddMonoidAlgebra R A
⊢ ∑ i in s, Finset.inf (f i).support degt =
    Multiset.sum (Multiset.map ((fun f => Finset.inf f.support degt) ∘ fun i => f i) s.val)
Theorem: memℓp_gen'
File: Mathlib/Analysis/NormedSpace/lpSpace.lean

tactic: apply memℓp_gen
state_before: α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ Memℓp f p

tactic: use ⨆ s : Finset α, ∑ i in s, ‖f i‖ ^ p.toReal
state_before: case hf
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ Summable fun i => ‖f i‖ ^ ENNReal.toReal p

tactic: apply hasSum_of_isLUB_of_nonneg
state_before: case hf
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ HasSum (fun i => ‖f i‖ ^ ENNReal.toReal p) (⨆ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p)

tactic: apply isLUB_ciSup
state_before: case hf.hf
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ IsLUB (Set.range fun s => ∑ i in s, ‖f i‖ ^ ENNReal.toReal p) (⨆ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p)

tactic: use C
state_before: case hf.hf.H
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ BddAbove (Set.range fun s => ∑ i in s, ‖f i‖ ^ ENNReal.toReal p)

tactic: rintro - ⟨s, rfl⟩
state_before: case hf.hf.H
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ C ∈ upperBounds (Set.range fun s => ∑ i in s, ‖f i‖ ^ ENNReal.toReal p)

tactic: exact hf s
state_before: case hf.hf.H.intro
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
s : Finset α
⊢ (fun s => ∑ i in s, ‖f i‖ ^ ENNReal.toReal p) s ≤ C

tactic: intro b
state_before: case hf.h
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
⊢ ∀ (i : α), 0 ≤ ‖f i‖ ^ ENNReal.toReal p

tactic: exact Real.rpow_nonneg_of_nonneg (norm_nonneg _) _
state_before: case hf.h
α : Type u_1
E : α → Type u_2
p q : ℝ≥0∞
inst✝ : (i : α) → NormedAddCommGroup (E i)
C : ℝ
f : (i : α) → E i
hf : ∀ (s : Finset α), ∑ i in s, ‖f i‖ ^ ENNReal.toReal p ≤ C
b : α
⊢ 0 ≤ ‖f b‖ ^ ENNReal.toReal p
Theorem: eq_add_of_hasSum_ite
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

tactic: refine' (add_zero a).symm.trans (hf.update' b 0 _)
state_before: α✝ : Type ?u.290302
β✝ : Type ?u.290305
γ : Type ?u.290308
δ : Type ?u.290311
inst✝⁶ : AddCommMonoid α✝
inst✝⁵ : TopologicalSpace α✝
f✝ g : β✝ → α✝
a✝ b✝ : α✝
s : Finset β✝
inst✝⁴ : ContinuousAdd α✝
α : Type u_1
β : Type u_2
inst✝³ : TopologicalSpace α
inst✝² : AddCommMonoid α
inst✝¹ : T2Space α
inst✝ : ContinuousAdd α
f : β → α
a : α
hf : HasSum f a
b : β
a' : α
hf' : HasSum (fun n => if n = b then 0 else f n) a'
⊢ a = a' + f b

tactic: convert hf'
state_before: α✝ : Type ?u.290302
β✝ : Type ?u.290305
γ : Type ?u.290308
δ : Type ?u.290311
inst✝⁶ : AddCommMonoid α✝
inst✝⁵ : TopologicalSpace α✝
f✝ g : β✝ → α✝
a✝ b✝ : α✝
s : Finset β✝
inst✝⁴ : ContinuousAdd α✝
α : Type u_1
β : Type u_2
inst✝³ : TopologicalSpace α
inst✝² : AddCommMonoid α
inst✝¹ : T2Space α
inst✝ : ContinuousAdd α
f : β → α
a : α
hf : HasSum f a
b : β
a' : α
hf' : HasSum (fun n => if n = b then 0 else f n) a'
⊢ HasSum (update f b 0) a'

tactic: apply update_apply
state_before: case h.e'_5.h
α✝ : Type ?u.290302
β✝ : Type ?u.290305
γ : Type ?u.290308
δ : Type ?u.290311
inst✝⁶ : AddCommMonoid α✝
inst✝⁵ : TopologicalSpace α✝
f✝ g : β✝ → α✝
a✝ b✝ : α✝
s : Finset β✝
inst✝⁴ : ContinuousAdd α✝
α : Type u_1
β : Type u_2
inst✝³ : TopologicalSpace α
inst✝² : AddCommMonoid α
inst✝¹ : T2Space α
inst✝ : ContinuousAdd α
f : β → α
a : α
hf : HasSum f a
b : β
a' : α
hf' : HasSum (fun n => if n = b then 0 else f n) a'
x✝ : β
⊢ update f b 0 x✝ = if x✝ = b then 0 else f x✝
Theorem: isGδ_biInter_of_open
File: Mathlib/Topology/GDelta.lean

tactic: rwa [ball_image_iff]
state_before: α : Type u_2
β : Type ?u.1242
γ : Type ?u.1245
ι : Type u_1
inst✝ : TopologicalSpace α
I : Set ι
hI : Set.Countable I
f : ι → Set α
hf : ∀ (i : ι), i ∈ I → IsOpen (f i)
⊢ ∀ (t : Set α), t ∈ f '' I → IsOpen t

tactic: rw [sInter_image]
state_before: α : Type u_2
β : Type ?u.1242
γ : Type ?u.1245
ι : Type u_1
inst✝ : TopologicalSpace α
I : Set ι
hI : Set.Countable I
f : ι → Set α
hf : ∀ (i : ι), i ∈ I → IsOpen (f i)
⊢ (⋂ (i : ι) (_ : i ∈ I), f i) = ⋂₀ (f '' I)
Theorem: Set.univ_prod
File: Mathlib/Data/Set/Prod.lean

tactic: simp [prod_eq]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.7346
δ : Type ?u.7349
s s₁ s₂ : Set α
t✝ t₁ t₂ : Set β
a : α
b : β
t : Set β
⊢ univ ×ˢ t = Prod.snd ⁻¹' t
Theorem: MeasureTheory.JordanDecomposition.eq_of_posPart_eq_posPart
File: Mathlib/MeasureTheory/Decomposition/Jordan.lean

tactic: ext1
state_before: α : Type u_1
β : Type ?u.69483
inst✝ : MeasurableSpace α
j₁ j₂ : JordanDecomposition α
hj : j₁.posPart = j₂.posPart
hj' : toSignedMeasure j₁ = toSignedMeasure j₂
⊢ j₁ = j₂

tactic: exact hj
state_before: case posPart
α : Type u_1
β : Type ?u.69483
inst✝ : MeasurableSpace α
j₁ j₂ : JordanDecomposition α
hj : j₁.posPart = j₂.posPart
hj' : toSignedMeasure j₁ = toSignedMeasure j₂
⊢ j₁.posPart = j₂.posPart

tactic: rw [← toSignedMeasure_eq_toSignedMeasure_iff]
state_before: case negPart
α : Type u_1
β : Type ?u.69483
inst✝ : MeasurableSpace α
j₁ j₂ : JordanDecomposition α
hj : j₁.posPart = j₂.posPart
hj' : toSignedMeasure j₁ = toSignedMeasure j₂
⊢ j₁.negPart = j₂.negPart

tactic: unfold toSignedMeasure at hj'
state_before: case negPart
α : Type u_1
β : Type ?u.69483
inst✝ : MeasurableSpace α
j₁ j₂ : JordanDecomposition α
hj : j₁.posPart = j₂.posPart
hj' : toSignedMeasure j₁ = toSignedMeasure j₂
⊢ Measure.toSignedMeasure j₁.negPart = Measure.toSignedMeasure j₂.negPart

tactic: simp_rw [hj, sub_right_inj] at hj'
state_before: case negPart
α : Type u_1
β : Type ?u.69483
inst✝ : MeasurableSpace α
j₁ j₂ : JordanDecomposition α
hj : j₁.posPart = j₂.posPart
hj' :
  Measure.toSignedMeasure j₁.posPart - Measure.toSignedMeasure j₁.negPart =
    Measure.toSignedMeasure j₂.posPart - Measure.toSignedMeasure j₂.negPart
⊢ Measure.toSignedMeasure j₁.negPart = Measure.toSignedMeasure j₂.negPart

tactic: exact hj'
state_before: case negPart
α : Type u_1
β : Type ?u.69483
inst✝ : MeasurableSpace α
j₁ j₂ : JordanDecomposition α
hj : j₁.posPart = j₂.posPart
hj' : Measure.toSignedMeasure j₁.negPart = Measure.toSignedMeasure j₂.negPart
⊢ Measure.toSignedMeasure j₁.negPart = Measure.toSignedMeasure j₂.negPart
Theorem: not_mem_mulTSupport_iff_eventuallyEq
File: Mathlib/Topology/Support.lean

tactic: simp_rw [mulTSupport, mem_closure_iff_nhds, not_forall, not_nonempty_iff_eq_empty, exists_prop,
  ← disjoint_iff_inter_eq_empty, disjoint_mulSupport_iff, eventuallyEq_iff_exists_mem]
state_before: X : Type ?u.5462
α : Type u_1
α' : Type ?u.5468
β : Type u_2
γ : Type ?u.5474
δ : Type ?u.5477
M : Type ?u.5480
E : Type ?u.5483
R : Type ?u.5486
inst✝⁴ : TopologicalSpace α
inst✝³ : TopologicalSpace α'
inst✝² : One β
inst✝¹ : One γ
inst✝ : One δ
g : β → γ
f : α → β
f₂ : α → γ
m : β → γ → δ
x : α
⊢ ¬x ∈ mulTSupport f ↔ f =ᶠ[𝓝 x] 1
Theorem: List.indexOf_cons
File: Mathlib/Data/List/Basic.lean

tactic: simp only [indexOf, findIdx_cons, Bool.cond_eq_ite, beq_iff_eq]
state_before: ι : Type ?u.78601
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁ l₂ : List α
inst✝ : DecidableEq α
a b : α
l : List α
⊢ indexOf a (b :: l) = if a = b then 0 else succ (indexOf a l)
Theorem: Metric.infDist_zero_of_mem
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: simp [infEdist_zero_of_mem h, infDist]
state_before: ι : Sort ?u.58987
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : x ∈ s
⊢ infDist x s = 0
Theorem: Units.mul_liftRight_inv
File: Mathlib/Algebra/Hom/Units.lean

tactic: rw [Units.mul_inv_eq_iff_eq_mul, one_mul, coe_liftRight]
state_before: α : Type ?u.30089
M : Type u
N : Type v
P : Type w
inst✝² : Monoid M
inst✝¹ : Monoid N
inst✝ : Monoid P
f : M →* N
g : M → Nˣ
h : ∀ (x : M), ↑(g x) = ↑f x
x : M
⊢ ↑f x * ↑(↑(liftRight f g h) x)⁻¹ = 1
Theorem: ContinuousMap.sup'_coe
File: Mathlib/Topology/ContinuousFunction/Ordered.lean

tactic: ext
state_before: α : Type ?u.63285
β : Type u_2
γ : Type u_3
inst✝⁴ : TopologicalSpace α
inst✝³ : TopologicalSpace β
inst✝² : TopologicalSpace γ
inst✝¹ : LinearOrder γ
inst✝ : OrderClosedTopology γ
ι : Type u_1
s : Finset ι
H : Finset.Nonempty s
f : ι → C(β, γ)
⊢ ↑(Finset.sup' s H f) = Finset.sup' s H fun a => ↑(f a)

tactic: simp [sup'_apply]
state_before: case h
α : Type ?u.63285
β : Type u_2
γ : Type u_3
inst✝⁴ : TopologicalSpace α
inst✝³ : TopologicalSpace β
inst✝² : TopologicalSpace γ
inst✝¹ : LinearOrder γ
inst✝ : OrderClosedTopology γ
ι : Type u_1
s : Finset ι
H : Finset.Nonempty s
f : ι → C(β, γ)
x✝ : β
⊢ ↑(Finset.sup' s H f) x✝ = Finset.sup' s H (fun a => ↑(f a)) x✝