tasksource/leandojo huggingface dataset:
Theorem: hasFDerivAt_exp_smul_const_of_mem_ball'
File: Mathlib/Analysis/SpecialFunctions/Exponential.lean

tactic: convert hasFDerivAt_exp_smul_const_of_mem_ball 𝕂 _ _ htx using 1
state_before: 𝕂 : Type u_3
𝕊 : Type u_2
𝔸 : Type u_1
inst✝⁹ : NontriviallyNormedField 𝕂
inst✝⁸ : CharZero 𝕂
inst✝⁷ : NormedCommRing 𝕊
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedSpace 𝕂 𝕊
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : Algebra 𝕊 𝔸
inst✝² : ContinuousSMul 𝕊 𝔸
inst✝¹ : IsScalarTower 𝕂 𝕊 𝔸
inst✝ : CompleteSpace 𝔸
x : 𝔸
t : 𝕊
htx : t • x ∈ EMetric.ball 0 (FormalMultilinearSeries.radius (expSeries 𝕂 𝔸))
⊢ HasFDerivAt (fun u => exp 𝕂 (u • x))
    (ContinuousLinearMap.smulRight (ContinuousLinearMap.smulRight 1 x) (exp 𝕂 (t • x))) t

tactic: ext t'
state_before: case h.e'_10
𝕂 : Type u_3
𝕊 : Type u_2
𝔸 : Type u_1
inst✝⁹ : NontriviallyNormedField 𝕂
inst✝⁸ : CharZero 𝕂
inst✝⁷ : NormedCommRing 𝕊
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedSpace 𝕂 𝕊
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : Algebra 𝕊 𝔸
inst✝² : ContinuousSMul 𝕊 𝔸
inst✝¹ : IsScalarTower 𝕂 𝕊 𝔸
inst✝ : CompleteSpace 𝔸
x : 𝔸
t : 𝕊
htx : t • x ∈ EMetric.ball 0 (FormalMultilinearSeries.radius (expSeries 𝕂 𝔸))
⊢ ContinuousLinearMap.smulRight (ContinuousLinearMap.smulRight 1 x) (exp 𝕂 (t • x)) =
    exp 𝕂 (t • x) • ContinuousLinearMap.smulRight 1 x

tactic: show Commute (t' • x) (exp 𝕂 (t • x))
state_before: case h.e'_10.h
𝕂 : Type u_3
𝕊 : Type u_2
𝔸 : Type u_1
inst✝⁹ : NontriviallyNormedField 𝕂
inst✝⁸ : CharZero 𝕂
inst✝⁷ : NormedCommRing 𝕊
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedSpace 𝕂 𝕊
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : Algebra 𝕊 𝔸
inst✝² : ContinuousSMul 𝕊 𝔸
inst✝¹ : IsScalarTower 𝕂 𝕊 𝔸
inst✝ : CompleteSpace 𝔸
x : 𝔸
t : 𝕊
htx : t • x ∈ EMetric.ball 0 (FormalMultilinearSeries.radius (expSeries 𝕂 𝔸))
t' : 𝕊
⊢ ↑(ContinuousLinearMap.smulRight (ContinuousLinearMap.smulRight 1 x) (exp 𝕂 (t • x))) t' =
    ↑(exp 𝕂 (t • x) • ContinuousLinearMap.smulRight 1 x) t'

tactic: exact (((Commute.refl x).smul_left t').smul_right t).exp_right 𝕂
state_before: case h.e'_10.h
𝕂 : Type u_3
𝕊 : Type u_2
𝔸 : Type u_1
inst✝⁹ : NontriviallyNormedField 𝕂
inst✝⁸ : CharZero 𝕂
inst✝⁷ : NormedCommRing 𝕊
inst✝⁶ : NormedRing 𝔸
inst✝⁵ : NormedSpace 𝕂 𝕊
inst✝⁴ : NormedAlgebra 𝕂 𝔸
inst✝³ : Algebra 𝕊 𝔸
inst✝² : ContinuousSMul 𝕊 𝔸
inst✝¹ : IsScalarTower 𝕂 𝕊 𝔸
inst✝ : CompleteSpace 𝔸
x : 𝔸
t : 𝕊
htx : t • x ∈ EMetric.ball 0 (FormalMultilinearSeries.radius (expSeries 𝕂 𝔸))
t' : 𝕊
⊢ Commute (t' • x) (exp 𝕂 (t • x))
Theorem: NNReal.sSup_of_not_bddAbove
File: Mathlib/Data/Real/NNReal.lean

tactic: rw [← bddAbove_coe] at hs
state_before: ι : Sort ?u.272153
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove s
⊢ sSup s = 0

tactic: rw [← NNReal.coe_eq, coe_sSup, NNReal.coe_zero]
state_before: ι : Sort ?u.272153
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove (toReal '' s)
⊢ sSup s = 0

tactic: exact sSup_of_not_bddAbove hs
state_before: ι : Sort ?u.272153
f : ι → ℝ≥0
s : Set ℝ≥0
hs : ¬BddAbove (toReal '' s)
⊢ sSup (toReal '' s) = 0
Theorem: MeasureTheory.SimpleFunc.setToSimpleFunc_mono_left
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: simp_rw [setToSimpleFunc]
state_before: α : Type u_1
E : Type ?u.328590
F : Type u_2
F' : Type ?u.328596
G : Type ?u.328599
𝕜 : Type ?u.328602
p : ℝ≥0∞
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℝ F
inst✝⁶ : NormedAddCommGroup F'
inst✝⁵ : NormedSpace ℝ F'
inst✝⁴ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
G' : Type ?u.328902
G'' : Type u_3
inst✝³ : NormedLatticeAddCommGroup G''
inst✝² : NormedSpace ℝ G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
m : MeasurableSpace α
T T' : Set α → F →L[ℝ] G''
hTT' : ∀ (s : Set α) (x : F), ↑(T s) x ≤ ↑(T' s) x
f : α →ₛ F
⊢ setToSimpleFunc T f ≤ setToSimpleFunc T' f

tactic: exact sum_le_sum fun i _ => hTT' _ i
state_before: α : Type u_1
E : Type ?u.328590
F : Type u_2
F' : Type ?u.328596
G : Type ?u.328599
𝕜 : Type ?u.328602
p : ℝ≥0∞
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℝ F
inst✝⁶ : NormedAddCommGroup F'
inst✝⁵ : NormedSpace ℝ F'
inst✝⁴ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
G' : Type ?u.328902
G'' : Type u_3
inst✝³ : NormedLatticeAddCommGroup G''
inst✝² : NormedSpace ℝ G''
inst✝¹ : NormedLatticeAddCommGroup G'
inst✝ : NormedSpace ℝ G'
m : MeasurableSpace α
T T' : Set α → F →L[ℝ] G''
hTT' : ∀ (s : Set α) (x : F), ↑(T s) x ≤ ↑(T' s) x
f : α →ₛ F
⊢ ∑ x in SimpleFunc.range f, ↑(T (↑f ⁻¹' {x})) x ≤ ∑ x in SimpleFunc.range f, ↑(T' (↑f ⁻¹' {x})) x
Theorem: Nat.ModEq.mul_right
File: Mathlib/Data/Nat/ModEq.lean

tactic: rw [mul_comm a, mul_comm b]
state_before: m n a b c✝ d c : ℕ
h : a ≡ b [MOD n]
⊢ a * c ≡ b * c [MOD n]

tactic: exact h.mul_left c
state_before: m n a b c✝ d c : ℕ
h : a ≡ b [MOD n]
⊢ c * a ≡ c * b [MOD n]
Theorem: QuadraticForm.map_sub
File: Mathlib/LinearAlgebra/QuadraticForm/Basic.lean

tactic: rw [← neg_sub, map_neg]
state_before: S : Type ?u.142126
R : Type u_1
R₁ : Type ?u.142132
M : Type u_2
inst✝³ : Ring R
inst✝² : CommRing R₁
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
x y : M
⊢ ↑Q (x - y) = ↑Q (y - x)
Theorem: Nat.log_anti_left
File: Mathlib/Data/Nat/Log.lean

tactic: rcases eq_or_ne n 0 with (rfl | hn)
state_before: b c n : ℕ
hc : 1 < c
hb : c ≤ b
⊢ log b n ≤ log c n

tactic: apply le_log_of_pow_le hc
state_before: case inr
b c n : ℕ
hc : 1 < c
hb : c ≤ b
hn : n ≠ 0
⊢ log b n ≤ log c n

tactic: calc
  c ^ log b n ≤ b ^ log b n := pow_le_pow_of_le_left' hb _
  _ ≤ n := pow_log_le_self _ hn
state_before: case inr
b c n : ℕ
hc : 1 < c
hb : c ≤ b
hn : n ≠ 0
⊢ c ^ log b n ≤ n

tactic: rw [log_zero_right, log_zero_right]
state_before: case inl
b c : ℕ
hc : 1 < c
hb : c ≤ b
⊢ log b 0 ≤ log c 0
Theorem: Basis.coe_sumCoords_of_fintype
File: Mathlib/LinearAlgebra/Basis.lean

tactic: ext m
state_before: ι : Type u_1
ι' : Type ?u.163708
R : Type u_2
R₂ : Type ?u.163714
K : Type ?u.163717
M : Type u_3
M' : Type ?u.163723
M'' : Type ?u.163726
V : Type u
V' : Type ?u.163731
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
inst✝ : Fintype ι
⊢ ↑(sumCoords b) = ↑(∑ i : ι, coord b i)

tactic: simp only [sumCoords, Finsupp.sum_fintype, LinearMap.id_coe, LinearEquiv.coe_coe, coord_apply,
  id.def, Fintype.sum_apply, imp_true_iff, Finsupp.coe_lsum, LinearMap.coe_comp, comp_apply,
  LinearMap.coeFn_sum]
state_before: case h
ι : Type u_1
ι' : Type ?u.163708
R : Type u_2
R₂ : Type ?u.163714
K : Type ?u.163717
M : Type u_3
M' : Type ?u.163723
M'' : Type ?u.163726
V : Type u
V' : Type ?u.163731
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
inst✝ : Fintype ι
m : M
⊢ ↑(sumCoords b) m = ↑(∑ i : ι, coord b i) m
Theorem: norm_le_of_mem_closedBall'
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rwa [← dist_eq_norm_div]
state_before: 𝓕 : Type ?u.96209
𝕜 : Type ?u.96212
α : Type ?u.96215
ι : Type ?u.96218
κ : Type ?u.96221
E : Type u_1
F : Type ?u.96227
G : Type ?u.96230
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
h : b ∈ closedBall a r
⊢ ‖b / a‖ ≤ r
Theorem: zpow_le_max_iff_min_le
File: Mathlib/Algebra/Order/Field/Power.lean

tactic: simp_rw [le_max_iff, min_le_iff, zpow_le_iff_le hx, neg_le_neg_iff]
state_before: α : Type u_1
inst✝ : LinearOrderedSemifield α
a✝ b✝ c✝ d e : α
m n : ℤ
x : α
hx : 1 < x
a b c : ℤ
⊢ x ^ (-c) ≤ max (x ^ (-a)) (x ^ (-b)) ↔ min a b ≤ c
Theorem: commProb_eq_one_iff
File: Mathlib/GroupTheory/CommutingProbability.lean

tactic: haveI := Fintype.ofFinite M
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
h : Nonempty M
⊢ commProb M = 1 ↔ Commutative fun x x_1 => x * x_1

tactic: rw [commProb, ← Set.coe_setOf, Nat.card_eq_fintype_card, Nat.card_eq_fintype_card]
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
h : Nonempty M
this : Fintype M
⊢ commProb M = 1 ↔ Commutative fun x x_1 => x * x_1

tactic: rw [div_eq_one_iff_eq, ← Nat.cast_pow, Nat.cast_inj, sq, ← card_prod,
  set_fintype_card_eq_univ_iff, Set.eq_univ_iff_forall]
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
h : Nonempty M
this : Fintype M
⊢ ↑(card ↑{x | x.fst * x.snd = x.snd * x.fst}) / ↑(card M) ^ 2 = 1 ↔ Commutative fun x x_1 => x * x_1

tactic: exact ⟨fun h x y ↦ h (x, y), fun h x ↦ h x.1 x.2⟩
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
h : Nonempty M
this : Fintype M
⊢ (∀ (x : M × M), x ∈ {x | x.fst * x.snd = x.snd * x.fst}) ↔ Commutative fun x x_1 => x * x_1

tactic: exact pow_ne_zero 2 (Nat.cast_ne_zero.mpr card_ne_zero)
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
h : Nonempty M
this : Fintype M
⊢ ↑(card M) ^ 2 ≠ 0
Theorem: Set.projIcc_of_right_le
File: Mathlib/Data/Set/Intervals/ProjIcc.lean

tactic: simp [projIcc, hx, h]
state_before: α : Type u_1
β : Type ?u.2132
inst✝ : LinearOrder α
a b : α
h : a ≤ b
x : α
hx : b ≤ x
⊢ projIcc a b h x = { val := b, property := (_ : b ∈ Icc a b) }
Theorem: exists_idempotent_in_compact_subsemigroup
File: Mathlib/Topology/Algebra/Semigroup.lean

tactic: let M' := { m // m ∈ s }
state_before: M : Type u_1
inst✝² : Semigroup M
inst✝¹ : TopologicalSpace M
inst✝ : T2Space M
continuous_mul_left : ∀ (r : M), Continuous fun x => x * r
s : Set M
snemp : Set.Nonempty s
s_compact : IsCompact s
s_add : ∀ (x : M), x ∈ s → ∀ (y : M), y ∈ s → x * y ∈ s
⊢ ∃ m, m ∈ s ∧ m * m = m

tactic: letI : Semigroup M' :=
  { mul := fun p q => ⟨p.1 * q.1, s_add _ p.2 _ q.2⟩
    mul_assoc := fun p q r => Subtype.eq (mul_assoc _ _ _) }
state_before: M : Type u_1
inst✝² : Semigroup M
inst✝¹ : TopologicalSpace M
inst✝ : T2Space M
continuous_mul_left : ∀ (r : M), Continuous fun x => x * r
s : Set M
snemp : Set.Nonempty s
s_compact : IsCompact s
s_add : ∀ (x : M), x ∈ s → ∀ (y : M), y ∈ s → x * y ∈ s
M' : Type u_1 := { m // m ∈ s }
⊢ ∃ m, m ∈ s ∧ m * m = m

tactic: haveI : CompactSpace M' := isCompact_iff_compactSpace.mp s_compact
state_before: M : Type u_1
inst✝² : Semigroup M
inst✝¹ : TopologicalSpace M
inst✝ : T2Space M
continuous_mul_left : ∀ (r : M), Continuous fun x => x * r
s : Set M
snemp : Set.Nonempty s
s_compact : IsCompact s
s_add : ∀ (x : M), x ∈ s → ∀ (y : M), y ∈ s → x * y ∈ s
M' : Type u_1 := { m // m ∈ s }
this : Semigroup M' := Semigroup.mk (_ : ∀ (p q r : M'), p * q * r = p * (q * r))
⊢ ∃ m, m ∈ s ∧ m * m = m

tactic: haveI : Nonempty M' := nonempty_subtype.mpr snemp
state_before: M : Type u_1
inst✝² : Semigroup M
inst✝¹ : TopologicalSpace M
inst✝ : T2Space M
continuous_mul_left : ∀ (r : M), Continuous fun x => x * r
s : Set M
snemp : Set.Nonempty s
s_compact : IsCompact s
s_add : ∀ (x : M), x ∈ s → ∀ (y : M), y ∈ s → x * y ∈ s
M' : Type u_1 := { m // m ∈ s }
this✝ : Semigroup M' := Semigroup.mk (_ : ∀ (p q r : M'), p * q * r = p * (q * r))
this : CompactSpace M'
⊢ ∃ m, m ∈ s ∧ m * m = m

tactic: obtain ⟨⟨m, hm⟩, idem⟩ := exists_idempotent_of_compact_t2_of_continuous_mul_left this
state_before: M : Type u_1
inst✝² : Semigroup M
inst✝¹ : TopologicalSpace M
inst✝ : T2Space M
continuous_mul_left : ∀ (r : M), Continuous fun x => x * r
s : Set M
snemp : Set.Nonempty s
s_compact : IsCompact s
s_add : ∀ (x : M), x ∈ s → ∀ (y : M), y ∈ s → x * y ∈ s
M' : Type u_1 := { m // m ∈ s }
this✝² : Semigroup M' := Semigroup.mk (_ : ∀ (p q r : M'), p * q * r = p * (q * r))
this✝¹ : CompactSpace M'
this✝ : Nonempty M'
this : ∀ (p : M'), Continuous fun x => x * p
⊢ ∃ m, m ∈ s ∧ m * m = m

tactic: exact ⟨m, hm, Subtype.ext_iff.mp idem⟩
state_before: case intro.mk
M : Type u_1
inst✝² : Semigroup M
inst✝¹ : TopologicalSpace M
inst✝ : T2Space M
continuous_mul_left : ∀ (r : M), Continuous fun x => x * r
s : Set M
snemp : Set.Nonempty s
s_compact : IsCompact s
s_add : ∀ (x : M), x ∈ s → ∀ (y : M), y ∈ s → x * y ∈ s
M' : Type u_1 := { m // m ∈ s }
this✝² : Semigroup M' := Semigroup.mk (_ : ∀ (p q r : M'), p * q * r = p * (q * r))
this✝¹ : CompactSpace M'
this✝ : Nonempty M'
this : ∀ (p : M'), Continuous fun x => x * p
m : M
hm : m ∈ s
idem : { val := m, property := hm } * { val := m, property := hm } = { val := m, property := hm }
⊢ ∃ m, m ∈ s ∧ m * m = m
Theorem: ContinuousLinearMap.hasFPowerSeriesOnBall_bilinear
File: Mathlib/Analysis/Analytic/Linear.lean

tactic: simp
state_before: 𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type u_4
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_3
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f : E →L[𝕜] F →L[𝕜] G
x : E × F
⊢ ⊤ ≤ FormalMultilinearSeries.radius (fpowerSeriesBilinear f x)

tactic: simp only [Finset.sum_range_succ, Finset.sum_range_one, Prod.fst_add, Prod.snd_add,
  f.map_add_add]
state_before: 𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type u_4
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_3
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f : E →L[𝕜] F →L[𝕜] G
x y✝ : E × F
x✝ : y✝ ∈ EMetric.ball 0 ⊤
⊢ HasSum (fun n => ↑(fpowerSeriesBilinear f x (n + 3)) fun x => y✝)
    (↑(↑f (x + y✝).fst) (x + y✝).snd - ∑ i in Finset.range 3, ↑(fpowerSeriesBilinear f x i) fun x => y✝)

tactic: simp [fpowerSeriesBilinear, hasSum_zero]
state_before: 𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type u_4
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type u_3
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f : E →L[𝕜] F →L[𝕜] G
x y✝ : E × F
x✝ : y✝ ∈ EMetric.ball 0 ⊤
⊢ HasSum (fun n => ↑(fpowerSeriesBilinear f x (n + 3)) fun x => y✝)
    (↑(↑f x.fst) x.snd + ↑(↑(deriv₂ f) (x.fst, x.snd)) (y✝.fst, y✝.snd) + ↑(↑f y✝.fst) y✝.snd -
      ((((∑ x_1 in Finset.range 0, ↑(fpowerSeriesBilinear f x x_1) fun x => y✝) +
            ↑(fpowerSeriesBilinear f x 0) fun x => y✝) +
          ↑(fpowerSeriesBilinear f x 1) fun x => y✝) +
        ↑(fpowerSeriesBilinear f x 2) fun x => y✝))
Theorem: GeneralizedContinuedFraction.IntFractPair.succ_nth_stream_eq_none_iff
File: Mathlib/Algebra/ContinuedFractions/Computation/Translations.lean

tactic: rw [IntFractPair.stream]
state_before: K : Type u_1
inst✝¹ : LinearOrderedField K
inst✝ : FloorRing K
v : K
n : ℕ
⊢ IntFractPair.stream v (n + 1) = none ↔
    IntFractPair.stream v n = none ∨ ∃ ifp, IntFractPair.stream v n = some ifp ∧ ifp.fr = 0

tactic: cases IntFractPair.stream v n <;> simp [imp_false]
state_before: K : Type u_1
inst✝¹ : LinearOrderedField K
inst✝ : FloorRing K
v : K
n : ℕ
⊢ (Option.bind (IntFractPair.stream v n) fun ap_n => if ap_n.fr = 0 then none else some (IntFractPair.of ap_n.fr⁻¹)) =
      none ↔
    IntFractPair.stream v n = none ∨ ∃ ifp, IntFractPair.stream v n = some ifp ∧ ifp.fr = 0
Theorem: MeasureTheory.Measure.sum_add_sum_compl
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: ext1 t ht
state_before: α : Type u_2
β : Type ?u.345987
γ : Type ?u.345990
δ : Type ?u.345993
ι : Type u_1
R : Type ?u.345999
R' : Type ?u.346002
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
s : Set ι
μ : ι → Measure α
⊢ ((sum fun i => μ ↑i) + sum fun i => μ ↑i) = sum μ

tactic: simp only [add_apply, sum_apply _ ht]
state_before: case h
α : Type u_2
β : Type ?u.345987
γ : Type ?u.345990
δ : Type ?u.345993
ι : Type u_1
R : Type ?u.345999
R' : Type ?u.346002
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
s : Set ι
μ : ι → Measure α
t : Set α
ht : MeasurableSet t
⊢ ↑↑((sum fun i => μ ↑i) + sum fun i => μ ↑i) t = ↑↑(sum μ) t

tactic: exact @tsum_add_tsum_compl ℝ≥0∞ ι _ _ _ (fun i => μ i t) _ s ENNReal.summable ENNReal.summable
state_before: case h
α : Type u_2
β : Type ?u.345987
γ : Type ?u.345990
δ : Type ?u.345993
ι : Type u_1
R : Type ?u.345999
R' : Type ?u.346002
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
s : Set ι
μ : ι → Measure α
t : Set α
ht : MeasurableSet t
⊢ ((∑' (i : ↑s), ↑↑(μ ↑i) t) + ∑' (i : ↑(sᶜ)), ↑↑(μ ↑i) t) = ∑' (i : ι), ↑↑(μ i) t
Theorem: ContinuousMultilinearMap.apply_zero_curry0
File: Mathlib/Analysis/NormedSpace/Multilinear.lean

tactic: ext m
state_before: 𝕜 : Type u
ι : Type v
ι' : Type v'
n : ℕ
E : ι → Type wE
E₁ : ι → Type wE₁
E' : ι' → Type wE'
Ei : Fin (Nat.succ n) → Type wEi
G : Type wG
G' : Type wG'
inst✝¹⁴ : Fintype ι
inst✝¹³ : Fintype ι'
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁ i)
inst✝⁷ : (i : ι') → NormedAddCommGroup (E' i)
inst✝⁶ : (i : ι') → NormedSpace 𝕜 (E' i)
inst✝⁵ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (Ei i)
inst✝⁴ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (Ei i)
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f : ContinuousMultilinearMap 𝕜 (fun i => G) G'
x : Fin 0 → G
⊢ curry0 𝕜 G (↑f x) = f

tactic: simp [(Subsingleton.elim _ _ : x = m)]
state_before: case H
𝕜 : Type u
ι : Type v
ι' : Type v'
n : ℕ
E : ι → Type wE
E₁ : ι → Type wE₁
E' : ι' → Type wE'
Ei : Fin (Nat.succ n) → Type wEi
G : Type wG
G' : Type wG'
inst✝¹⁴ : Fintype ι
inst✝¹³ : Fintype ι'
inst✝¹² : NontriviallyNormedField 𝕜
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E i)
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁ i)
inst✝⁷ : (i : ι') → NormedAddCommGroup (E' i)
inst✝⁶ : (i : ι') → NormedSpace 𝕜 (E' i)
inst✝⁵ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (Ei i)
inst✝⁴ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (Ei i)
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f : ContinuousMultilinearMap 𝕜 (fun i => G) G'
x m : Fin 0 → G
⊢ ↑(curry0 𝕜 G (↑f x)) m = ↑f m
Theorem: Multiset.mem_powerset
File: Mathlib/Data/Multiset/Powerset.lean

tactic: simp [Subperm, and_comm]
state_before: α : Type u_1
s t : Multiset α
⊢ ∀ (a b : List α),
    Quotient.mk (isSetoid α) a ∈ powerset (Quotient.mk (isSetoid α) b) ↔
      Quotient.mk (isSetoid α) a ≤ Quotient.mk (isSetoid α) b
Theorem: Matrix.col_cons
File: Mathlib/Data/Matrix/Notation.lean

tactic: ext (i j)
state_before: α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
x : α
u : Fin m → α
⊢ col (vecCons x u) = vecCons (fun x_1 => x) (col u)

tactic: refine' Fin.cases _ _ i <;> simp [vecHead, vecTail]
state_before: case a.h
α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
x : α
u : Fin m → α
i : Fin (Nat.succ m)
j : Unit
⊢ col (vecCons x u) i j = vecCons (fun x_1 => x) (col u) i j
Theorem: CategoryTheory.Limits.IsColimit.hom_desc
File: Mathlib/CategoryTheory/Limits/IsLimit.lean

tactic: intros
state_before: J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cocone F
h : IsColimit t
W : C
m : t.pt ⟶ W
⊢ ∀ ⦃X Y : J⦄ (f : X ⟶ Y), F.map f ≫ (fun b => t.ι.app b ≫ m) Y = (fun b => t.ι.app b ≫ m) X ≫ ((const J).obj W).map f

tactic: erw [← assoc, t.ι.naturality, comp_id, comp_id]
state_before: J : Type u₁
inst✝² : Category J
K : Type u₂
inst✝¹ : Category K
C : Type u₃
inst✝ : Category C
F : J ⥤ C
t : Cocone F
h : IsColimit t
W : C
m : t.pt ⟶ W
X✝ Y✝ : J
f✝ : X✝ ⟶ Y✝
⊢ F.map f✝ ≫ (fun b => t.ι.app b ≫ m) Y✝ = (fun b => t.ι.app b ≫ m) X✝ ≫ ((const J).obj W).map f✝
Theorem: Relation.comp_assoc
File: Mathlib/Logic/Relation.lean

tactic: funext a d
state_before: α : Type u_1
β : Type u_4
γ : Type u_3
δ : Type u_2
r : α → β → Prop
p : β → γ → Prop
q : γ → δ → Prop
⊢ (r ∘r p) ∘r q = r ∘r p ∘r q

tactic: apply propext
state_before: case h.h
α : Type u_1
β : Type u_4
γ : Type u_3
δ : Type u_2
r : α → β → Prop
p : β → γ → Prop
q : γ → δ → Prop
a : α
d : δ
⊢ ((r ∘r p) ∘r q) a d = (r ∘r p ∘r q) a d

tactic: constructor
state_before: case h.h.a
α : Type u_1
β : Type u_4
γ : Type u_3
δ : Type u_2
r : α → β → Prop
p : β → γ → Prop
q : γ → δ → Prop
a : α
d : δ
⊢ ((r ∘r p) ∘r q) a d ↔ (r ∘r p ∘r q) a d

tactic: exact fun ⟨c, ⟨b, hab, hbc⟩, hcd⟩ ↦ ⟨b, hab, c, hbc, hcd⟩
state_before: case h.h.a.mp
α : Type u_1
β : Type u_4
γ : Type u_3
δ : Type u_2
r : α → β → Prop
p : β → γ → Prop
q : γ → δ → Prop
a : α
d : δ
⊢ ((r ∘r p) ∘r q) a d → (r ∘r p ∘r q) a d

case h.h.a.mpr
α : Type u_1
β : Type u_4
γ : Type u_3
δ : Type u_2
r : α → β → Prop
p : β → γ → Prop
q : γ → δ → Prop
a : α
d : δ
⊢ (r ∘r p ∘r q) a d → ((r ∘r p) ∘r q) a d

tactic: exact fun ⟨b, hab, c, hbc, hcd⟩ ↦ ⟨c, ⟨b, hab, hbc⟩, hcd⟩
state_before: case h.h.a.mpr
α : Type u_1
β : Type u_4
γ : Type u_3
δ : Type u_2
r : α → β → Prop
p : β → γ → Prop
q : γ → δ → Prop
a : α
d : δ
⊢ (r ∘r p ∘r q) a d → ((r ∘r p) ∘r q) a d
Theorem: List.take_append_of_le_length
File: Mathlib/Data/List/Basic.lean

tactic: simp [take_append_eq_append_take, tsub_eq_zero_iff_le.mpr h]
state_before: ι : Type ?u.164866
α : Type u
β : Type v
γ : Type w
δ : Type x
l₁✝ l₂✝ l₁ l₂ : List α
n : ℕ
h : n ≤ length l₁
⊢ take n (l₁ ++ l₂) = take n l₁
Theorem: realPart_I_smul
File: Mathlib/Data/Complex/Module.lean

tactic: ext
state_before: A : Type u_1
inst✝³ : AddCommGroup A
inst✝² : Module ℂ A
inst✝¹ : StarAddMonoid A
inst✝ : StarModule ℂ A
a : A
⊢ ↑ℜ (I • a) = -↑ℑ a

tactic: rw [realPart_apply_coe, AddSubgroupClass.coe_neg, imaginaryPart_apply_coe, neg_smul, neg_neg,
  smul_comm I, star_smul, star_def, conj_I, smul_sub, neg_smul, sub_eq_add_neg]
state_before: case a
A : Type u_1
inst✝³ : AddCommGroup A
inst✝² : Module ℂ A
inst✝¹ : StarAddMonoid A
inst✝ : StarModule ℂ A
a : A
⊢ ↑(↑ℜ (I • a)) = ↑(-↑ℑ a)
Theorem: Subring.top_prod
File: Mathlib/RingTheory/Subring/Basic.lean

tactic: simp [mem_prod, MonoidHom.coe_snd]
state_before: R : Type u
S : Type v
T : Type w
inst✝² : Ring R
inst✝¹ : Ring S
inst✝ : Ring T
s : Subring S
x : R × S
⊢ x ∈ prod ⊤ s ↔ x ∈ comap (RingHom.snd R S) s
Theorem: MeasureTheory.Measure.haar.prehaar_sup_le
File: Mathlib/MeasureTheory/Measure/Haar/Basic.lean

tactic: simp only [prehaar]
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K₀ : PositiveCompacts G
U : Set G
K₁ K₂ : Compacts G
hU : Set.Nonempty (interior U)
⊢ prehaar (↑K₀) U (K₁ ⊔ K₂) ≤ prehaar (↑K₀) U K₁ + prehaar (↑K₀) U K₂

tactic: rw [div_add_div_same, div_le_div_right]
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K₀ : PositiveCompacts G
U : Set G
K₁ K₂ : Compacts G
hU : Set.Nonempty (interior U)
⊢ ↑(index (↑(K₁ ⊔ K₂)) U) / ↑(index (↑K₀) U) ≤ ↑(index (↑K₁) U) / ↑(index (↑K₀) U) + ↑(index (↑K₂) U) / ↑(index (↑K₀) U)

tactic: exact_mod_cast index_union_le K₁ K₂ hU
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K₀ : PositiveCompacts G
U : Set G
K₁ K₂ : Compacts G
hU : Set.Nonempty (interior U)
⊢ ↑(index (↑(K₁ ⊔ K₂)) U) ≤ ↑(index (↑K₁) U) + ↑(index (↑K₂) U)

G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K₀ : PositiveCompacts G
U : Set G
K₁ K₂ : Compacts G
hU : Set.Nonempty (interior U)
⊢ 0 < ↑(index (↑K₀) U)

tactic: exact_mod_cast index_pos K₀ hU
state_before: G : Type u_1
inst✝² : Group G
inst✝¹ : TopologicalSpace G
inst✝ : TopologicalGroup G
K₀ : PositiveCompacts G
U : Set G
K₁ K₂ : Compacts G
hU : Set.Nonempty (interior U)
⊢ 0 < ↑(index (↑K₀) U)
Theorem: Mathlib.Tactic.Ring.nsmul_congr
File: Mathlib/Tactic/Ring/Basic.lean

tactic: subst_vars
state_before: u : Lean.Level
R : Type u_1
α : Q(Type u)
sα : Q(CommSemiring «$α»)
inst✝ : CommSemiring R
a a' : ℕ
b b' c : R
x✝² : a = a'
x✝¹ : b = b'
x✝ : a' • b' = c
⊢ a • b = c

tactic: rfl
state_before: u : Lean.Level
R : Type u_1
α : Q(Type u)
sα : Q(CommSemiring «$α»)
inst✝ : CommSemiring R
a' : ℕ
b' : R
⊢ a' • b' = a' • b'