tasksource/leandojo huggingface dataset:
Theorem: Polynomial.leadingCoeff_divByMonic_of_monic
File: Mathlib/Data/Polynomial/RingDivision.lean

tactic: nontriviality
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
⊢ leadingCoeff (p /ₘ q) = leadingCoeff p

tactic: have h : q.leadingCoeff * (p /ₘ q).leadingCoeff ≠ 0 := by
  simpa [divByMonic_eq_zero_iff hmonic, hmonic.leadingCoeff,
    Nat.WithBot.one_le_iff_zero_lt] using hdegree
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
✝ : Nontrivial R
⊢ leadingCoeff (p /ₘ q) = leadingCoeff p

tactic: nth_rw 2 [← modByMonic_add_div p hmonic]
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
✝ : Nontrivial R
h : leadingCoeff q * leadingCoeff (p /ₘ q) ≠ 0
⊢ leadingCoeff (p /ₘ q) = leadingCoeff p

tactic: rw [leadingCoeff_add_of_degree_lt, leadingCoeff_monic_mul hmonic]
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
✝ : Nontrivial R
h : leadingCoeff q * leadingCoeff (p /ₘ q) ≠ 0
⊢ leadingCoeff (p /ₘ q) = leadingCoeff (p %ₘ q + q * (p /ₘ q))

tactic: rw [degree_mul' h, degree_add_divByMonic hmonic hdegree]
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
✝ : Nontrivial R
h : leadingCoeff q * leadingCoeff (p /ₘ q) ≠ 0
⊢ degree (p %ₘ q) < degree (q * (p /ₘ q))

tactic: exact (degree_modByMonic_lt p hmonic).trans_le hdegree
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
✝ : Nontrivial R
h : leadingCoeff q * leadingCoeff (p /ₘ q) ≠ 0
⊢ degree (p %ₘ q) < degree p

tactic: simpa [divByMonic_eq_zero_iff hmonic, hmonic.leadingCoeff,
  Nat.WithBot.one_le_iff_zero_lt] using hdegree
state_before: R✝ : Type u
S : Type v
T : Type w
a b : R✝
n : ℕ
inst✝² : CommRing R✝
inst✝¹ : IsDomain R✝
p✝ q✝ : R✝[X]
R : Type u
inst✝ : CommRing R
p q : R[X]
hmonic : Monic q
hdegree : degree q ≤ degree p
✝ : Nontrivial R
⊢ leadingCoeff q * leadingCoeff (p /ₘ q) ≠ 0
Theorem: MeasureTheory.intervalIntegral_tendsto_integral_Iic
File: Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean

tactic: let φ i := Ioi (a i)
state_before: ι : Type u_2
E : Type u_1
μ : Measure ℝ
l : Filter ι
inst✝³ : IsCountablyGenerated l
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
a b✝ : ι → ℝ
f : ℝ → E
b : ℝ
hfi : IntegrableOn f (Iic b)
ha : Tendsto a l atBot
⊢ Tendsto (fun i => ∫ (x : ℝ) in a i..b, f x ∂μ) l (𝓝 (∫ (x : ℝ) in Iic b, f x ∂μ))

tactic: have hφ : AECover (μ.restrict <| Iic b) l φ := aecover_Ioi ha
state_before: ι : Type u_2
E : Type u_1
μ : Measure ℝ
l : Filter ι
inst✝³ : IsCountablyGenerated l
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
a b✝ : ι → ℝ
f : ℝ → E
b : ℝ
hfi : IntegrableOn f (Iic b)
ha : Tendsto a l atBot
φ : ι → Set ℝ := fun i => Ioi (a i)
⊢ Tendsto (fun i => ∫ (x : ℝ) in a i..b, f x ∂μ) l (𝓝 (∫ (x : ℝ) in Iic b, f x ∂μ))

tactic: refine' (hφ.integral_tendsto_of_countably_generated hfi).congr' _
state_before: ι : Type u_2
E : Type u_1
μ : Measure ℝ
l : Filter ι
inst✝³ : IsCountablyGenerated l
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
a b✝ : ι → ℝ
f : ℝ → E
b : ℝ
hfi : IntegrableOn f (Iic b)
ha : Tendsto a l atBot
φ : ι → Set ℝ := fun i => Ioi (a i)
hφ : AECover (Measure.restrict μ (Iic b)) l φ
⊢ Tendsto (fun i => ∫ (x : ℝ) in a i..b, f x ∂μ) l (𝓝 (∫ (x : ℝ) in Iic b, f x ∂μ))

tactic: filter_upwards [ha.eventually (eventually_le_atBot <| b)] with i hai
state_before: ι : Type u_2
E : Type u_1
μ : Measure ℝ
l : Filter ι
inst✝³ : IsCountablyGenerated l
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
a b✝ : ι → ℝ
f : ℝ → E
b : ℝ
hfi : IntegrableOn f (Iic b)
ha : Tendsto a l atBot
φ : ι → Set ℝ := fun i => Ioi (a i)
hφ : AECover (Measure.restrict μ (Iic b)) l φ
⊢ (fun i => ∫ (x : ℝ) in φ i, f x ∂Measure.restrict μ (Iic b)) =ᶠ[l] fun i => ∫ (x : ℝ) in a i..b, f x ∂μ

tactic: rw [intervalIntegral.integral_of_le hai, Measure.restrict_restrict (hφ.measurableSet i)]
state_before: case h
ι : Type u_2
E : Type u_1
μ : Measure ℝ
l : Filter ι
inst✝³ : IsCountablyGenerated l
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
a b✝ : ι → ℝ
f : ℝ → E
b : ℝ
hfi : IntegrableOn f (Iic b)
ha : Tendsto a l atBot
φ : ι → Set ℝ := fun i => Ioi (a i)
hφ : AECover (Measure.restrict μ (Iic b)) l φ
i : ι
hai : a i ≤ b
⊢ (∫ (x : ℝ) in Ioi (a i), f x ∂Measure.restrict μ (Iic b)) = ∫ (x : ℝ) in a i..b, f x ∂μ

tactic: rfl
state_before: case h
ι : Type u_2
E : Type u_1
μ : Measure ℝ
l : Filter ι
inst✝³ : IsCountablyGenerated l
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
a b✝ : ι → ℝ
f : ℝ → E
b : ℝ
hfi : IntegrableOn f (Iic b)
ha : Tendsto a l atBot
φ : ι → Set ℝ := fun i => Ioi (a i)
hφ : AECover (Measure.restrict μ (Iic b)) l φ
i : ι
hai : a i ≤ b
⊢ (∫ (x : ℝ) in φ i ∩ Iic b, f x ∂μ) = ∫ (x : ℝ) in Ioc (a i) b, f x ∂μ
Theorem: LinearMap.lift_rank_comp_le_right
File: Mathlib/LinearAlgebra/Dimension.lean

tactic: rw [rank, rank, LinearMap.range_comp]
state_before: K : Type u
V V₁ V₂ V₃ : Type v
V' V'₁ : Type v'
V'' : Type v''
ι : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type ?u.1114972
inst✝⁸ : Ring K
inst✝⁷ : AddCommGroup V
inst✝⁶ : Module K V
inst✝⁵ : AddCommGroup V₁
inst✝⁴ : Module K V₁
inst✝³ : AddCommGroup V'
inst✝² : Module K V'
inst✝¹ : AddCommGroup V''
inst✝ : Module K V''
g : V →ₗ[K] V'
f : V' →ₗ[K] V''
⊢ lift (rank (comp f g)) ≤ lift (rank g)

tactic: exact lift_rank_map_le _ _
state_before: K : Type u
V V₁ V₂ V₃ : Type v
V' V'₁ : Type v'
V'' : Type v''
ι : Type w
ι' : Type w'
η : Type u₁'
φ : η → Type ?u.1114972
inst✝⁸ : Ring K
inst✝⁷ : AddCommGroup V
inst✝⁶ : Module K V
inst✝⁵ : AddCommGroup V₁
inst✝⁴ : Module K V₁
inst✝³ : AddCommGroup V'
inst✝² : Module K V'
inst✝¹ : AddCommGroup V''
inst✝ : Module K V''
g : V →ₗ[K] V'
f : V' →ₗ[K] V''
⊢ lift (Module.rank K { x // x ∈ Submodule.map f (range g) }) ≤ lift (Module.rank K { x // x ∈ range g })
Theorem: ContinuousMultilinearMap.norm_map_cons_le
File: Mathlib/Analysis/NormedSpace/Multilinear.lean

tactic: rw [prod_univ_succ]
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 𝕜 Ei G
x : Ei 0
m : (i : Fin n) → Ei (succ i)
⊢ ‖f‖ * ∏ i : Fin (n + 1), ‖Fin.cons x m i‖ = ‖f‖ * ‖x‖ * ∏ i : Fin n, ‖m i‖

tactic: simp [mul_assoc]
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 𝕜 Ei G
x : Ei 0
m : (i : Fin n) → Ei (succ i)
⊢ ‖f‖ * (‖Fin.cons x m 0‖ * ∏ i : Fin n, ‖Fin.cons x m (succ i)‖) = ‖f‖ * ‖x‖ * ∏ i : Fin n, ‖m i‖
Theorem: Cycle.Subsingleton.congr
File: Mathlib/Data/List/Cycle.lean

tactic: induction' s using Quot.inductionOn with l
state_before: α : Type u_1
s : Cycle α
h : Subsingleton s
⊢ ∀ ⦃x : α⦄, x ∈ s → ∀ ⦃y : α⦄, y ∈ s → x = y

tactic: simp only [length_subsingleton_iff, length_coe, mk_eq_coe, le_iff_lt_or_eq, Nat.lt_add_one_iff,
  length_eq_zero, length_eq_one, Nat.not_lt_zero, false_or_iff] at h
state_before: case h
α : Type u_1
s : Cycle α
h✝ : Subsingleton s
l : List α
h : Subsingleton (Quot.mk Setoid.r l)
⊢ ∀ ⦃x : α⦄, x ∈ Quot.mk Setoid.r l → ∀ ⦃y : α⦄, y ∈ Quot.mk Setoid.r l → x = y

tactic: rcases h with (rfl | ⟨z, rfl⟩) <;> simp
state_before: case h
α : Type u_1
s : Cycle α
h✝ : Subsingleton s
l : List α
h : l = [] ∨ ∃ a, l = [a]
⊢ ∀ ⦃x : α⦄, x ∈ Quot.mk Setoid.r l → ∀ ⦃y : α⦄, y ∈ Quot.mk Setoid.r l → x = y
Theorem: Tropical.succ_nsmul
File: Mathlib/Algebra/Tropical/Basic.lean

tactic: induction' n with n IH
state_before: R✝ : Type u
inst✝² : LinearOrderedAddCommMonoidWithTop R✝
R : Type u_1
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
x : Tropical R
n : ℕ
⊢ (n + 1) • x = x

tactic: simp
state_before: case zero
R✝ : Type u
inst✝² : LinearOrderedAddCommMonoidWithTop R✝
R : Type u_1
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
x : Tropical R
⊢ (Nat.zero + 1) • x = x

tactic: rw [add_nsmul, IH, one_nsmul, add_self]
state_before: case succ
R✝ : Type u
inst✝² : LinearOrderedAddCommMonoidWithTop R✝
R : Type u_1
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
x : Tropical R
n : ℕ
IH : (n + 1) • x = x
⊢ (Nat.succ n + 1) • x = x
Theorem: Setoid.card_classes_ker_le
File: Mathlib/Data/Setoid/Partition.lean

tactic: classical exact
    le_trans (Set.card_le_of_subset (classes_ker_subset_fiber_set f)) (Fintype.card_range_le _)
state_before: α✝ : Type ?u.1538
α : Type u_1
β : Type u_2
inst✝¹ : Fintype β
f : α → β
inst✝ : Fintype ↑(classes (ker f))
⊢ Fintype.card ↑(classes (ker f)) ≤ Fintype.card β

tactic: exact
le_trans (Set.card_le_of_subset (classes_ker_subset_fiber_set f)) (Fintype.card_range_le _)
state_before: α✝ : Type ?u.1538
α : Type u_1
β : Type u_2
inst✝¹ : Fintype β
f : α → β
inst✝ : Fintype ↑(classes (ker f))
⊢ Fintype.card ↑(classes (ker f)) ≤ Fintype.card β
Theorem: Polynomial.Chebyshev.U_eq_X_mul_U_add_T
File: Mathlib/RingTheory/Polynomial/Chebyshev.lean

tactic: simp only [T, U, two_mul, mul_one]
state_before: R : Type u_1
S : Type ?u.12813
inst✝¹ : CommRing R
inst✝ : CommRing S
⊢ U R (0 + 1) = X * U R 0 + T R (0 + 1)

tactic: simp only [T, U]
state_before: R : Type u_1
S : Type ?u.12813
inst✝¹ : CommRing R
inst✝ : CommRing S
⊢ U R (1 + 1) = X * U R 1 + T R (1 + 1)

tactic: ring
state_before: R : Type u_1
S : Type ?u.12813
inst✝¹ : CommRing R
inst✝ : CommRing S
⊢ 2 * X * (2 * X) - 1 = X * (2 * X) + (2 * X * X - 1)

tactic: rw [U_add_two, U_eq_X_mul_U_add_T n, U_eq_X_mul_U_add_T (n + 1), U_eq_X_mul_U_add_T n]
state_before: R : Type u_1
S : Type ?u.12813
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
⊢ U R (n + 2 + 1) = 2 * X * (X * U R (n + 1) + T R (n + 2)) - (X * U R n + T R (n + 1))

tactic: ring
state_before: R : Type u_1
S : Type ?u.12813
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
⊢ 2 * X * (X * U R (n + 1) + T R (n + 2)) - (X * U R n + T R (n + 1)) =
    X * (2 * X * U R (n + 1) - U R n) + (2 * X * T R (n + 2) - T R (n + 1))

tactic: simp only [U_add_two, T_add_two]
state_before: R : Type u_1
S : Type ?u.12813
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℕ
⊢ X * (2 * X * U R (n + 1) - U R n) + (2 * X * T R (n + 2) - T R (n + 1)) = X * U R (n + 2) + T R (n + 2 + 1)
Theorem: Seminorm.const_isBounded
File: Mathlib/Analysis/LocallyConvex/WithSeminorms.lean

tactic: constructor <;> intro h i
state_before: 𝕜 : Type u_2
𝕜₂ : Type u_4
𝕝 : Type ?u.123266
𝕝₂ : Type ?u.123269
E : Type u_3
F : Type u_5
G : Type ?u.123278
ι✝ : Type ?u.123281
ι' : Type u_6
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : NormedField 𝕜₂
inst✝³ : AddCommGroup F
inst✝² : Module 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : Nonempty ι
p : Seminorm 𝕜 E
q : ι' → Seminorm 𝕜₂ F
f : E →ₛₗ[σ₁₂] F
⊢ IsBounded (fun x => p) q f ↔ ∀ (i : ι'), ∃ C, comp (q i) f ≤ C • p

tactic: use {Classical.arbitrary ι}
state_before: case mpr
𝕜 : Type u_2
𝕜₂ : Type u_4
𝕝 : Type ?u.123266
𝕝₂ : Type ?u.123269
E : Type u_3
F : Type u_5
G : Type ?u.123278
ι✝ : Type ?u.123281
ι' : Type u_6
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : NormedField 𝕜₂
inst✝³ : AddCommGroup F
inst✝² : Module 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : Nonempty ι
p : Seminorm 𝕜 E
q : ι' → Seminorm 𝕜₂ F
f : E →ₛₗ[σ₁₂] F
h : ∀ (i : ι'), ∃ C, comp (q i) f ≤ C • p
i : ι'
⊢ ∃ s C, comp (q i) f ≤ C • Finset.sup s fun x => p

tactic: simp only [h, Finset.sup_singleton]
state_before: case mpr
𝕜 : Type u_2
𝕜₂ : Type u_4
𝕝 : Type ?u.123266
𝕝₂ : Type ?u.123269
E : Type u_3
F : Type u_5
G : Type ?u.123278
ι✝ : Type ?u.123281
ι' : Type u_6
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : NormedField 𝕜₂
inst✝³ : AddCommGroup F
inst✝² : Module 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : Nonempty ι
p : Seminorm 𝕜 E
q : ι' → Seminorm 𝕜₂ F
f : E →ₛₗ[σ₁₂] F
h : ∀ (i : ι'), ∃ C, comp (q i) f ≤ C • p
i : ι'
⊢ ∃ C, comp (q i) f ≤ C • Finset.sup {Classical.arbitrary ι} fun x => p

tactic: rcases h i with ⟨s, C, h⟩
state_before: case mp
𝕜 : Type u_2
𝕜₂ : Type u_4
𝕝 : Type ?u.123266
𝕝₂ : Type ?u.123269
E : Type u_3
F : Type u_5
G : Type ?u.123278
ι✝ : Type ?u.123281
ι' : Type u_6
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : NormedField 𝕜₂
inst✝³ : AddCommGroup F
inst✝² : Module 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : Nonempty ι
p : Seminorm 𝕜 E
q : ι' → Seminorm 𝕜₂ F
f : E →ₛₗ[σ₁₂] F
h : IsBounded (fun x => p) q f
i : ι'
⊢ ∃ C, comp (q i) f ≤ C • p

tactic: exact ⟨C, le_trans h (smul_le_smul (Finset.sup_le fun _ _ => le_rfl) le_rfl)⟩
state_before: case mp.intro.intro
𝕜 : Type u_2
𝕜₂ : Type u_4
𝕝 : Type ?u.123266
𝕝₂ : Type ?u.123269
E : Type u_3
F : Type u_5
G : Type ?u.123278
ι✝ : Type ?u.123281
ι' : Type u_6
inst✝⁷ : NormedField 𝕜
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module 𝕜 E
inst✝⁴ : NormedField 𝕜₂
inst✝³ : AddCommGroup F
inst✝² : Module 𝕜₂ F
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝¹ : RingHomIsometric σ₁₂
ι : Type u_1
inst✝ : Nonempty ι
p : Seminorm 𝕜 E
q : ι' → Seminorm 𝕜₂ F
f : E →ₛₗ[σ₁₂] F
h✝ : IsBounded (fun x => p) q f
i : ι'
s : Finset ι
C : ℝ≥0
h : comp (q i) f ≤ C • Finset.sup s fun x => p
⊢ ∃ C, comp (q i) f ≤ C • p
Theorem: CategoryTheory.topology_eq_iff_same_sheaves
File: Mathlib/CategoryTheory/Sites/Closed.lean

tactic: constructor
state_before: C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
⊢ J₁ = J₂ ↔ ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P

tactic: rintro rfl
state_before: case mp
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
⊢ J₁ = J₂ → ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P

tactic: intro P
state_before: case mp
C : Type u
inst✝ : Category C
J₁✝ J₂ J₁ : GrothendieckTopology C
⊢ ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₁ P

tactic: rfl
state_before: case mp
C : Type u
inst✝ : Category C
J₁✝ J₂ J₁ : GrothendieckTopology C
P : Cᵒᵖ ⥤ Type (max v u)
⊢ Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₁ P

tactic: intro h
state_before: case mpr
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
⊢ (∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P) → J₁ = J₂

tactic: apply le_antisymm
state_before: case mpr
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ J₁ = J₂

tactic: apply le_topology_of_closedSieves_isSheaf
state_before: case mpr.a
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ J₁ ≤ J₂

tactic: rw [h]
state_before: case mpr.a.h
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ Presieve.IsSheaf J₁ (Functor.closedSieves J₂)

tactic: apply classifier_isSheaf
state_before: case mpr.a.h
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ Presieve.IsSheaf J₂ (Functor.closedSieves J₂)

tactic: apply le_topology_of_closedSieves_isSheaf
state_before: case mpr.a
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ J₂ ≤ J₁

tactic: rw [← h]
state_before: case mpr.a.h
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ Presieve.IsSheaf J₂ (Functor.closedSieves J₁)

tactic: apply classifier_isSheaf
state_before: case mpr.a.h
C : Type u
inst✝ : Category C
J₁✝ J₂✝ J₁ J₂ : GrothendieckTopology C
h : ∀ (P : Cᵒᵖ ⥤ Type (max v u)), Presieve.IsSheaf J₁ P ↔ Presieve.IsSheaf J₂ P
⊢ Presieve.IsSheaf J₁ (Functor.closedSieves J₁)
Theorem: Asymptotics.IsLittleO.smul
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: intros
state_before: case refine'_2
α : Type u_1
β : Type ?u.584464
E : Type ?u.584467
F : Type ?u.584470
G : Type ?u.584473
E' : Type u_4
F' : Type u_5
G' : Type ?u.584482
E'' : Type ?u.584485
F'' : Type ?u.584488
G'' : Type ?u.584491
R : Type ?u.584494
R' : Type ?u.584497
𝕜 : Type u_2
𝕜' : Type u_3
inst✝¹⁴ : Norm E
inst✝¹³ : Norm F
inst✝¹² : Norm G
inst✝¹¹ : SeminormedAddCommGroup E'
inst✝¹⁰ : SeminormedAddCommGroup F'
inst✝⁹ : SeminormedAddCommGroup G'
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedAddCommGroup F''
inst✝⁶ : NormedAddCommGroup G''
inst✝⁵ : SeminormedRing R
inst✝⁴ : SeminormedRing R'
inst✝³ : NormedField 𝕜
inst✝² : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
inst✝¹ : NormedSpace 𝕜 E'
inst✝ : NormedSpace 𝕜' F'
k₁ : α → 𝕜
k₂ : α → 𝕜'
h₁ : k₁ =o[l] k₂
h₂ : f' =o[l] g'
⊢ ∀ (x : α), ‖k₂ x‖ * ‖g' x‖ = ‖k₂ x • g' x‖

tactic: simp only [norm_smul]
state_before: case refine'_2
α : Type u_1
β : Type ?u.584464
E : Type ?u.584467
F : Type ?u.584470
G : Type ?u.584473
E' : Type u_4
F' : Type u_5
G' : Type ?u.584482
E'' : Type ?u.584485
F'' : Type ?u.584488
G'' : Type ?u.584491
R : Type ?u.584494
R' : Type ?u.584497
𝕜 : Type u_2
𝕜' : Type u_3
inst✝¹⁴ : Norm E
inst✝¹³ : Norm F
inst✝¹² : Norm G
inst✝¹¹ : SeminormedAddCommGroup E'
inst✝¹⁰ : SeminormedAddCommGroup F'
inst✝⁹ : SeminormedAddCommGroup G'
inst✝⁸ : NormedAddCommGroup E''
inst✝⁷ : NormedAddCommGroup F''
inst✝⁶ : NormedAddCommGroup G''
inst✝⁵ : SeminormedRing R
inst✝⁴ : SeminormedRing R'
inst✝³ : NormedField 𝕜
inst✝² : NormedField 𝕜'
c c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
inst✝¹ : NormedSpace 𝕜 E'
inst✝ : NormedSpace 𝕜' F'
k₁ : α → 𝕜
k₂ : α → 𝕜'
h₁ : k₁ =o[l] k₂
h₂ : f' =o[l] g'
x✝ : α
⊢ ‖k₂ x✝‖ * ‖g' x✝‖ = ‖k₂ x✝ • g' x✝‖
Theorem: MeasureTheory.smul_extend
File: Mathlib/MeasureTheory/Measure/OuterMeasure.lean

tactic: ext1 s
state_before: α : Type u_2
P : α → Prop
m : (s : α) → P s → ℝ≥0∞
R : Type u_1
inst✝³ : Zero R
inst✝² : SMulWithZero R ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : NoZeroSMulDivisors R ℝ≥0∞
c : R
hc : c ≠ 0
⊢ c • extend m = extend fun s h => c • m s h

tactic: dsimp [extend]
state_before: case h
α : Type u_2
P : α → Prop
m : (s : α) → P s → ℝ≥0∞
R : Type u_1
inst✝³ : Zero R
inst✝² : SMulWithZero R ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : NoZeroSMulDivisors R ℝ≥0∞
c : R
hc : c ≠ 0
s : α
⊢ (c • extend m) s = extend (fun s h => c • m s h) s

tactic: by_cases h : P s
state_before: case h
α : Type u_2
P : α → Prop
m : (s : α) → P s → ℝ≥0∞
R : Type u_1
inst✝³ : Zero R
inst✝² : SMulWithZero R ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : NoZeroSMulDivisors R ℝ≥0∞
c : R
hc : c ≠ 0
s : α
⊢ (c • ⨅ (h : P s), m s h) = ⨅ (h : P s), c • m s h

tactic: simp [h]
state_before: case pos
α : Type u_2
P : α → Prop
m : (s : α) → P s → ℝ≥0∞
R : Type u_1
inst✝³ : Zero R
inst✝² : SMulWithZero R ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : NoZeroSMulDivisors R ℝ≥0∞
c : R
hc : c ≠ 0
s : α
h : P s
⊢ (c • ⨅ (h : P s), m s h) = ⨅ (h : P s), c • m s h

tactic: simp [h, ENNReal.smul_top, hc]
state_before: case neg
α : Type u_2
P : α → Prop
m : (s : α) → P s → ℝ≥0∞
R : Type u_1
inst✝³ : Zero R
inst✝² : SMulWithZero R ℝ≥0∞
inst✝¹ : IsScalarTower R ℝ≥0∞ ℝ≥0∞
inst✝ : NoZeroSMulDivisors R ℝ≥0∞
c : R
hc : c ≠ 0
s : α
h : ¬P s
⊢ (c • ⨅ (h : P s), m s h) = ⨅ (h : P s), c • m s h
Theorem: NNReal.summable_rpow
File: Mathlib/Analysis/PSeries.lean

tactic: simp [← NNReal.summable_coe]
state_before: p : ℝ
⊢ (Summable fun n => ↑n ^ p) ↔ p < -1
Theorem: Convex.combo_eq_smul_sub_add
File: Mathlib/Algebra/Module/Basic.lean

tactic: abel
state_before: α : Type ?u.85204
R : Type u_1
k : Type ?u.85210
S : Type ?u.85213
M : Type u_2
M₂ : Type ?u.85219
M₃ : Type ?u.85222
ι : Type ?u.85225
inst✝² : Semiring R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
x y : M
a b : R
h : a + b = 1
⊢ a • x + b • y = b • y - b • x + (a • x + b • x)

tactic: rw [smul_sub, Convex.combo_self h]
state_before: α : Type ?u.85204
R : Type u_1
k : Type ?u.85210
S : Type ?u.85213
M : Type u_2
M₂ : Type ?u.85219
M₃ : Type ?u.85222
ι : Type ?u.85225
inst✝² : Semiring R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
x y : M
a b : R
h : a + b = 1
⊢ b • y - b • x + (a • x + b • x) = b • (y - x) + x
Theorem: LocallyFinite.comp_injOn
File: Mathlib/Topology/LocallyFinite.lean

tactic: let ⟨t, htx, htf⟩ := hf x
state_before: ι : Type u_1
ι' : Type u_3
α : Type ?u.1343
X : Type u_2
Y : Type ?u.1349
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g✝ : ι → Set X
g : ι' → ι
hf : LocallyFinite f
hg : InjOn g {i | Set.Nonempty (f (g i))}
x : X
⊢ ∃ t, t ∈ 𝓝 x ∧ Set.Finite {i | Set.Nonempty ((f ∘ g) i ∩ t)}

tactic: refine ⟨t, htx, htf.preimage <| ?_⟩
state_before: ι : Type u_1
ι' : Type u_3
α : Type ?u.1343
X : Type u_2
Y : Type ?u.1349
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g✝ : ι → Set X
g : ι' → ι
hf : LocallyFinite f
hg : InjOn g {i | Set.Nonempty (f (g i))}
x : X
t : Set X
htx : t ∈ 𝓝 x
htf : Set.Finite {i | Set.Nonempty (f i ∩ t)}
⊢ ∃ t, t ∈ 𝓝 x ∧ Set.Finite {i | Set.Nonempty ((f ∘ g) i ∩ t)}

tactic: exact hg.mono fun i (hi : Set.Nonempty _) => hi.left
state_before: ι : Type u_1
ι' : Type u_3
α : Type ?u.1343
X : Type u_2
Y : Type ?u.1349
inst✝¹ : TopologicalSpace X
inst✝ : TopologicalSpace Y
f g✝ : ι → Set X
g : ι' → ι
hf : LocallyFinite f
hg : InjOn g {i | Set.Nonempty (f (g i))}
x : X
t : Set X
htx : t ∈ 𝓝 x
htf : Set.Finite {i | Set.Nonempty (f i ∩ t)}
⊢ InjOn (fun i => g i) ((fun i => g i) ⁻¹' {i | Set.Nonempty (f i ∩ t)})