tasksource/leandojo huggingface dataset:
Theorem: Nat.ArithmeticFunction.LSeries_add
File: Mathlib/NumberTheory/LSeries.lean

tactic: simp only [LSeries, add_apply]
state_before: f g : ArithmeticFunction ℂ
z : ℂ
hf : LSeriesSummable f z
hg : LSeriesSummable g z
⊢ LSeries (f + g) z = LSeries f z + LSeries g z

tactic: rw [← tsum_add hf hg]
state_before: f g : ArithmeticFunction ℂ
z : ℂ
hf : LSeriesSummable f z
hg : LSeriesSummable g z
⊢ (∑' (n : ℕ), (↑f n + ↑g n) / ↑n ^ z) = (∑' (n : ℕ), ↑f n / ↑n ^ z) + ∑' (n : ℕ), ↑g n / ↑n ^ z

tactic: apply congr rfl (funext fun n => _)
state_before: f g : ArithmeticFunction ℂ
z : ℂ
hf : LSeriesSummable f z
hg : LSeriesSummable g z
⊢ (∑' (n : ℕ), (↑f n + ↑g n) / ↑n ^ z) = ∑' (b : ℕ), ↑f b / ↑b ^ z + ↑g b / ↑b ^ z

tactic: simp [_root_.add_div]
state_before: f g : ArithmeticFunction ℂ
z : ℂ
hf : LSeriesSummable f z
hg : LSeriesSummable g z
⊢ ∀ (n : ℕ), (↑f n + ↑g n) / ↑n ^ z = ↑f n / ↑n ^ z + ↑g n / ↑n ^ z
Theorem: LinearMap.coprod_map_prod
File: Mathlib/LinearAlgebra/Prod.lean

tactic: simp only [LinearMap.coprod_apply, Submodule.coe_sup, Submodule.map_coe]
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.90184
M₆ : Type ?u.90187
S✝ : Type ?u.90190
inst✝¹³ : Semiring R
inst✝¹² : Semiring S✝
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M₂
inst✝⁹ : AddCommMonoid M₃
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : AddCommMonoid M₅
inst✝⁶ : AddCommMonoid M₆
inst✝⁵ : Module R M
inst✝⁴ : Module R M₂
inst✝³ : Module R M₃
inst✝² : Module R M₄
inst✝¹ : Module R M₅
inst✝ : Module R M₆
f✝ : M →ₗ[R] M₂
f : M →ₗ[R] M₃
g : M₂ →ₗ[R] M₃
S : Submodule R M
S' : Submodule R M₂
⊢ ↑(Submodule.map (coprod f g) (Submodule.prod S S')) = ↑(Submodule.map f S ⊔ Submodule.map g S')

tactic: rw [← Set.image2_add, Set.image2_image_left, Set.image2_image_right]
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.90184
M₆ : Type ?u.90187
S✝ : Type ?u.90190
inst✝¹³ : Semiring R
inst✝¹² : Semiring S✝
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M₂
inst✝⁹ : AddCommMonoid M₃
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : AddCommMonoid M₅
inst✝⁶ : AddCommMonoid M₆
inst✝⁵ : Module R M
inst✝⁴ : Module R M₂
inst✝³ : Module R M₃
inst✝² : Module R M₄
inst✝¹ : Module R M₅
inst✝ : Module R M₆
f✝ : M →ₗ[R] M₂
f : M →ₗ[R] M₃
g : M₂ →ₗ[R] M₃
S : Submodule R M
S' : Submodule R M₂
⊢ (fun a => ↑f a.fst + ↑g a.snd) '' ↑(Submodule.prod S S') = (fun a => ↑f a) '' ↑S + (fun a => ↑g a) '' ↑S'

tactic: exact Set.image_prod fun m m₂ => f m + g m₂
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.90184
M₆ : Type ?u.90187
S✝ : Type ?u.90190
inst✝¹³ : Semiring R
inst✝¹² : Semiring S✝
inst✝¹¹ : AddCommMonoid M
inst✝¹⁰ : AddCommMonoid M₂
inst✝⁹ : AddCommMonoid M₃
inst✝⁸ : AddCommMonoid M₄
inst✝⁷ : AddCommMonoid M₅
inst✝⁶ : AddCommMonoid M₆
inst✝⁵ : Module R M
inst✝⁴ : Module R M₂
inst✝³ : Module R M₃
inst✝² : Module R M₄
inst✝¹ : Module R M₅
inst✝ : Module R M₆
f✝ : M →ₗ[R] M₂
f : M →ₗ[R] M₃
g : M₂ →ₗ[R] M₃
S : Submodule R M
S' : Submodule R M₂
⊢ (fun a => ↑f a.fst + ↑g a.snd) '' ↑(Submodule.prod S S') = Set.image2 (fun a b => ↑f a + ↑g b) ↑S ↑S'
Theorem: Int.eq_zero_of_dvd_of_natAbs_lt_natAbs
File: Mathlib/Data/Int/Div.lean

tactic: rw [← natAbs_dvd, ← dvd_natAbs, coe_nat_dvd] at w
state_before: a b : ℤ
w : a ∣ b
h : natAbs b < natAbs a
⊢ b = 0

tactic: rw [← natAbs_eq_zero]
state_before: a b : ℤ
w : natAbs a ∣ natAbs b
h : natAbs b < natAbs a
⊢ b = 0

tactic: exact eq_zero_of_dvd_of_lt w h
state_before: a b : ℤ
w : natAbs a ∣ natAbs b
h : natAbs b < natAbs a
⊢ natAbs b = 0
Theorem: Filter.IsBoundedUnder.bddAbove_range_of_cofinite
File: Mathlib/Order/LiminfLimsup.lean

tactic: rcases hf with ⟨b, hb⟩
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.11552
ι : Type ?u.11555
r : α → α → Prop
f✝ g : Filter α
inst✝ : SemilatticeSup β
f : α → β
hf : IsBoundedUnder (fun x x_1 => x ≤ x_1) cofinite f
⊢ BddAbove (range f)

tactic: haveI : Nonempty β := ⟨b⟩
state_before: case intro
α : Type u_2
β : Type u_1
γ : Type ?u.11552
ι : Type ?u.11555
r : α → α → Prop
f✝ g : Filter α
inst✝ : SemilatticeSup β
f : α → β
b : β
hb : ∀ᶠ (x : β) in map f cofinite, (fun x x_1 => x ≤ x_1) x b
⊢ BddAbove (range f)

tactic: rw [← image_univ, ← union_compl_self { x | f x ≤ b }, image_union, bddAbove_union]
state_before: case intro
α : Type u_2
β : Type u_1
γ : Type ?u.11552
ι : Type ?u.11555
r : α → α → Prop
f✝ g : Filter α
inst✝ : SemilatticeSup β
f : α → β
b : β
hb : ∀ᶠ (x : β) in map f cofinite, (fun x x_1 => x ≤ x_1) x b
this : Nonempty β
⊢ BddAbove (range f)

tactic: exact ⟨⟨b, ball_image_iff.2 fun x => id⟩, (hb.image f).bddAbove⟩
state_before: case intro
α : Type u_2
β : Type u_1
γ : Type ?u.11552
ι : Type ?u.11555
r : α → α → Prop
f✝ g : Filter α
inst✝ : SemilatticeSup β
f : α → β
b : β
hb : ∀ᶠ (x : β) in map f cofinite, (fun x x_1 => x ≤ x_1) x b
this : Nonempty β
⊢ BddAbove (f '' {x | f x ≤ b}) ∧ BddAbove (f '' {x | f x ≤ b}ᶜ)
Theorem: Nat.multinomial_nil
File: Mathlib/Data/Nat/Choose/Multinomial.lean

tactic: dsimp [multinomial]
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
⊢ multinomial ∅ f = 1

tactic: rfl
state_before: α : Type u_1
s : Finset α
f : α → ℕ
a b : α
n : ℕ
⊢ 1 / 1 = 1
Theorem: map_finset_inf
File: Mathlib/Data/Finset/Lattice.lean

tactic: rw [inf_cons, inf_cons, map_inf, h, Function.comp_apply]
state_before: F : Type u_2
α : Type u_3
β : Type u_1
γ : Type ?u.109238
ι : Type u_4
κ : Type ?u.109244
inst✝⁴ : SemilatticeInf α
inst✝³ : OrderTop α
s✝¹ s₁ s₂ : Finset β
f✝ g✝ : β → α
a : α
inst✝² : SemilatticeInf β
inst✝¹ : OrderTop β
inst✝ : InfTopHomClass F α β
f : F
s✝ : Finset ι
g : ι → α
i : ι
s : Finset ι
x✝ : ¬i ∈ s
h : ↑f (inf s g) = inf s (↑f ∘ g)
⊢ ↑f (inf (cons i s x✝) g) = inf (cons i s x✝) (↑f ∘ g)
Theorem: MeasureTheory.SignedMeasure.restrictNonposSeq_disjoint
File: Mathlib/MeasureTheory/Decomposition/SignedHahn.lean

tactic: intro n m h
state_before: α : Type u_1
β : Type ?u.38719
inst✝³ : MeasurableSpace α
M : Type ?u.38725
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
⊢ Pairwise (Disjoint on MeasureTheory.SignedMeasure.restrictNonposSeq s i)

tactic: rw [Function.onFun, Set.disjoint_iff_inter_eq_empty]
state_before: α : Type u_1
β : Type ?u.38719
inst✝³ : MeasurableSpace α
M : Type ?u.38725
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n ≠ m
⊢ (Disjoint on MeasureTheory.SignedMeasure.restrictNonposSeq s i) n m

tactic: rcases lt_or_gt_of_ne h with (h | h)
state_before: α : Type u_1
β : Type ?u.38719
inst✝³ : MeasurableSpace α
M : Type ?u.38725
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h : n ≠ m
⊢ MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m = ∅

tactic: rw [restrictNonposSeq_disjoint' h]
state_before: case inl
α : Type u_1
β : Type ?u.38719
inst✝³ : MeasurableSpace α
M : Type ?u.38725
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h✝ : n ≠ m
h : n < m
⊢ MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m = ∅

tactic: rw [Set.inter_comm, restrictNonposSeq_disjoint' h]
state_before: case inr
α : Type u_1
β : Type ?u.38719
inst✝³ : MeasurableSpace α
M : Type ?u.38725
inst✝² : AddCommMonoid M
inst✝¹ : TopologicalSpace M
inst✝ : OrderedAddCommMonoid M
s : SignedMeasure α
i j : Set α
n m : ℕ
h✝ : n ≠ m
h : n > m
⊢ MeasureTheory.SignedMeasure.restrictNonposSeq s i n ∩ MeasureTheory.SignedMeasure.restrictNonposSeq s i m = ∅
Theorem: toIocDiv_wcovby_toIcoDiv
File: Mathlib/Algebra/Order/ToIntervalMod.lean

tactic: suffices toIocDiv hp a b = toIcoDiv hp a b ∨ toIocDiv hp a b + 1 = toIcoDiv hp a b by
  rwa [wcovby_iff_eq_or_covby, ← Order.succ_eq_iff_covby]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
⊢ toIocDiv hp a b ⩿ toIcoDiv hp a b

tactic: rw [eq_comm, ← not_modEq_iff_toIcoDiv_eq_toIocDiv, eq_comm, ←
  modEq_iff_toIcoDiv_eq_toIocDiv_add_one]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
⊢ toIocDiv hp a b = toIcoDiv hp a b ∨ toIocDiv hp a b + 1 = toIcoDiv hp a b

tactic: exact em' _
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
⊢ ¬a ≡ b [PMOD p] ∨ a ≡ b [PMOD p]

tactic: rwa [wcovby_iff_eq_or_covby, ← Order.succ_eq_iff_covby]
state_before: α : Type u_1
inst✝ : LinearOrderedAddCommGroup α
hα : Archimedean α
p : α
hp : 0 < p
a✝ b✝ c : α
n : ℤ
a b : α
this : toIocDiv hp a b = toIcoDiv hp a b ∨ toIocDiv hp a b + 1 = toIcoDiv hp a b
⊢ toIocDiv hp a b ⩿ toIcoDiv hp a b
Theorem: MonovaryOn.sum_comp_perm_smul_lt_sum_smul_iff
File: Mathlib/Algebra/Order/Rearrangement.lean

tactic: simp [← hfg.sum_comp_perm_smul_eq_sum_smul_iff hσ, lt_iff_le_and_ne,
  hfg.sum_comp_perm_smul_le_sum_smul hσ]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
inst✝³ : LinearOrderedRing α
inst✝² : LinearOrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : OrderedSMul α β
s : Finset ι
σ : Perm ι
f : ι → α
g : ι → β
hfg : MonovaryOn f g ↑s
hσ : {x | ↑σ x ≠ x} ⊆ ↑s
⊢ ∑ i in s, f (↑σ i) • g i < ∑ i in s, f i • g i ↔ ¬MonovaryOn (f ∘ ↑σ) g ↑s
Theorem: CategoryTheory.isIso_of_mono_of_strongEpi
File: Mathlib/CategoryTheory/Limits/Shapes/StrongEpi.lean

tactic: simp
state_before: C : Type u
inst✝² : Category C
P Q : C
f : P ⟶ Q
inst✝¹ : Mono f
inst✝ : StrongEpi f
⊢ 𝟙 P ≫ f = f ≫ 𝟙 Q

tactic: aesop_cat
state_before: C : Type u
inst✝² : Category C
P Q : C
f : P ⟶ Q
inst✝¹ : Mono f
inst✝ : StrongEpi f
⊢ f ≫ CommSq.lift (_ : CommSq (𝟙 P) f f (𝟙 Q)) = 𝟙 P ∧ CommSq.lift (_ : CommSq (𝟙 P) f f (𝟙 Q)) ≫ f = 𝟙 Q
Theorem: MeasureTheory.aemeasurable_toNNReal_abs_det_fderivWithin
File: Mathlib/MeasureTheory/Function/Jacobian.lean

tactic: apply measurable_real_toNNReal.comp_aemeasurable
state_before: E : Type u_1
F : Type ?u.740954
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => Real.toNNReal (abs (ContinuousLinearMap.det (f' x)))

tactic: refine' continuous_abs.measurable.comp_aemeasurable _
state_before: E : Type u_1
F : Type ?u.740954
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => abs (ContinuousLinearMap.det (f' x))

tactic: refine' ContinuousLinearMap.continuous_det.measurable.comp_aemeasurable _
state_before: E : Type u_1
F : Type ?u.740954
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => ContinuousLinearMap.det (f' x)

tactic: exact aemeasurable_fderivWithin μ hs hf'
state_before: E : Type u_1
F : Type ?u.740954
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => f' x
Theorem: Submodule.prod_comap_inl
File: Mathlib/LinearAlgebra/Prod.lean

tactic: ext
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.301771
M₆ : Type ?u.301774
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
p : Submodule R M
q : Submodule R M₂
⊢ comap (inl R M M₂) (prod p q) = p

tactic: simp
state_before: case h
R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type ?u.301771
M₆ : Type ?u.301774
inst✝⁴ : Semiring R
inst✝³ : AddCommMonoid M
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M
inst✝ : Module R M₂
p : Submodule R M
q : Submodule R M₂
x✝ : M
⊢ x✝ ∈ comap (inl R M M₂) (prod p q) ↔ x✝ ∈ p
Theorem: le_map_div_mul_map_div
File: Mathlib/Algebra/Order/Hom/Basic.lean

tactic: simpa only [div_mul_div_cancel'] using map_mul_le_mul f (a / b) (b / c)
state_before: ι : Type ?u.11845
F : Type u_3
α : Type u_1
β : Type u_2
γ : Type ?u.11857
δ : Type ?u.11860
inst✝³ : Group α
inst✝² : CommSemigroup β
inst✝¹ : LE β
inst✝ : SubmultiplicativeHomClass F α β
f : F
a b c : α
⊢ ↑f (a / c) ≤ ↑f (a / b) * ↑f (b / c)
Theorem: NormedRing.inverse_add_norm_diff_first_order
File: Mathlib/Analysis/NormedSpace/Units.lean

tactic: simpa using inverse_add_norm_diff_nth_order x 1
state_before: R : Type u_1
inst✝¹ : NormedRing R
inst✝ : CompleteSpace R
x : Rˣ
⊢ (fun t => inverse (↑x + t) - ↑x⁻¹) =O[𝓝 0] fun t => ‖t‖
Theorem: Complex.rat_cast_re
File: Mathlib/Data/Complex/Basic.lean

tactic: rw [← ofReal_rat_cast, ofReal_re]
state_before: q : ℚ
⊢ ↑(↑q).re = ↑q
Theorem: MeasureTheory.Content.outerMeasure_exists_open
File: Mathlib/MeasureTheory/Measure/Content.lean

tactic: rcases inducedOuterMeasure_exists_set _ μ.innerContent_iUnion_nat μ.innerContent_mono hA
    (ENNReal.coe_ne_zero.2 hε) with
  ⟨U, hU, h2U, h3U⟩
state_before: G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : T2Space G
A : Set G
hA : ↑(Content.outerMeasure μ) A ≠ ⊤
ε : ℝ≥0
hε : ε ≠ 0
⊢ ∃ U, A ⊆ ↑U ∧ ↑(Content.outerMeasure μ) ↑U ≤ ↑(Content.outerMeasure μ) A + ↑ε

tactic: exact ⟨⟨U, hU⟩, h2U, h3U⟩
state_before: case intro.intro.intro
G : Type w
inst✝¹ : TopologicalSpace G
μ : Content G
inst✝ : T2Space G
A : Set G
hA : ↑(Content.outerMeasure μ) A ≠ ⊤
ε : ℝ≥0
hε : ε ≠ 0
U : Set G
hU : IsOpen U
h2U : A ⊆ U
h3U :
  ↑(inducedOuterMeasure (fun s₁ hs₁ => innerContent μ { carrier := s₁, is_open' := hs₁ }) (_ : IsOpen ∅)
          (_ : innerContent μ ⊥ = 0))
      U ≤
    ↑(inducedOuterMeasure (fun s₁ hs₁ => innerContent μ { carrier := s₁, is_open' := hs₁ }) (_ : IsOpen ∅)
            (_ : innerContent μ ⊥ = 0))
        A +
      ↑ε
⊢ ∃ U, A ⊆ ↑U ∧ ↑(Content.outerMeasure μ) ↑U ≤ ↑(Content.outerMeasure μ) A + ↑ε
Theorem: Nat.factorization_choose_le_one
File: Mathlib/Data/Nat/Choose/Factorization.lean

tactic: apply factorization_choose_le_log.trans
state_before: p n k : ℕ
p_large : n < p ^ 2
⊢ ↑(factorization (choose n k)) p ≤ 1

tactic: rcases eq_or_ne n 0 with (rfl | hn0)
state_before: p n k : ℕ
p_large : n < p ^ 2
⊢ log p n ≤ 1

tactic: exact lt_succ_iff.1 (log_lt_of_lt_pow hn0 p_large)
state_before: case inr
p n k : ℕ
p_large : n < p ^ 2
hn0 : n ≠ 0
⊢ log p n ≤ 1

tactic: simp
state_before: case inl
p k : ℕ
p_large : 0 < p ^ 2
⊢ log p 0 ≤ 1
Theorem: Cardinal.pow_four
File: Mathlib/Algebra/Quaternion.lean

tactic: simp
state_before: R : Type u_1
c₁ c₂ : R
inst✝ : Infinite R
⊢ 1 ≤ 4
Theorem: YoungDiagram.rowLen_ofRowLens
File: Mathlib/Combinatorics/Young/YoungDiagram.lean

tactic: simp [rowLen, Nat.find_eq_iff, mem_ofRowLens]
state_before: w : List ℕ
hw : List.Sorted (fun x x_1 => x ≥ x_1) w
i : Fin (List.length w)
⊢ rowLen (ofRowLens w hw) ↑i = List.get w i
Theorem: Irreducible.normalizedFactors_pow
File: Mathlib/RingTheory/UniqueFactorizationDomain.lean

tactic: rw [UniqueFactorizationMonoid.normalizedFactors_pow, normalizedFactors_irreducible hp,
  Multiset.nsmul_singleton]
state_before: α : Type u_1
inst✝³ : CancelCommMonoidWithZero α
inst✝² : DecidableEq α
inst✝¹ : NormalizationMonoid α
inst✝ : UniqueFactorizationMonoid α
p : α
hp : Irreducible p
k : ℕ
⊢ normalizedFactors (p ^ k) = Multiset.replicate k (↑normalize p)
Theorem: List.mem_join
File: Std/Data/List/Lemmas.lean

tactic: simp
state_before: α : Type u_1
a : α
⊢ a ∈ join [] ↔ ∃ l, l ∈ [] ∧ a ∈ l

tactic: simp [mem_join, or_and_right, exists_or]
state_before: α : Type u_1
a : α
b : List α
l : List (List α)
⊢ a ∈ join (b :: l) ↔ ∃ l_1, l_1 ∈ b :: l ∧ a ∈ l_1
Theorem: balancedCore_eq_iInter
File: Mathlib/Analysis/LocallyConvex/BalancedCoreHull.lean

tactic: refine' balancedCore_subset_balancedCoreAux.antisymm _
state_before: 𝕜 : Type u_2
E : Type u_1
ι : Type ?u.67976
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
hs : 0 ∈ s
⊢ balancedCore 𝕜 s = ⋂ (r : 𝕜) (_ : 1 ≤ ‖r‖), r • s

tactic: refine' (balancedCoreAux_balanced _).subset_balancedCore_of_subset (balancedCoreAux_subset s)
state_before: 𝕜 : Type u_2
E : Type u_1
ι : Type ?u.67976
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
hs : 0 ∈ s
⊢ balancedCoreAux 𝕜 s ⊆ balancedCore 𝕜 s

tactic: exact balancedCore_subset_balancedCoreAux (balancedCore_zero_mem hs)
state_before: 𝕜 : Type u_2
E : Type u_1
ι : Type ?u.67976
inst✝² : NormedField 𝕜
inst✝¹ : AddCommGroup E
inst✝ : Module 𝕜 E
s t : Set E
hs : 0 ∈ s
⊢ 0 ∈ balancedCoreAux 𝕜 s
Theorem: Localization.r_iff_exists
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: rw [r_eq_r' S]
state_before: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type ?u.45548
inst✝¹ : CommMonoid N
P : Type ?u.45554
inst✝ : CommMonoid P
x y : M × { x // x ∈ S }
⊢ ↑(r S) x y ↔ ∃ c, ↑c * (↑y.snd * x.fst) = ↑c * (↑x.snd * y.fst)

tactic: rfl
state_before: M : Type u_1
inst✝² : CommMonoid M
S : Submonoid M
N : Type ?u.45548
inst✝¹ : CommMonoid N
P : Type ?u.45554
inst✝ : CommMonoid P
x y : M × { x // x ∈ S }
⊢ ↑(r' S) x y ↔ ∃ c, ↑c * (↑y.snd * x.fst) = ↑c * (↑x.snd * y.fst)
Theorem: cmpLE_eq_cmp
File: Mathlib/Order/Compare.lean

tactic: by_cases xy:x ≤ y <;> by_cases yx:y ≤ x <;> simp [cmpLE, lt_iff_le_not_le, *, cmp, cmpUsing]
state_before: α✝ : Type ?u.3620
β : Type ?u.3623
α : Type u_1
inst✝³ : Preorder α
inst✝² : IsTotal α fun x x_1 => x ≤ x_1
inst✝¹ : DecidableRel fun x x_1 => x ≤ x_1
inst✝ : DecidableRel fun x x_1 => x < x_1
x y : α
⊢ cmpLE x y = cmp x y

tactic: cases not_or_of_not xy yx (total_of _ _ _)
state_before: case neg
α✝ : Type ?u.3620
β : Type ?u.3623
α : Type u_1
inst✝³ : Preorder α
inst✝² : IsTotal α fun x x_1 => x ≤ x_1
inst✝¹ : DecidableRel fun x x_1 => x ≤ x_1
inst✝ : DecidableRel fun x x_1 => x < x_1
x y : α
xy : ¬x ≤ y
yx : ¬y ≤ x
⊢ False
Theorem: MeasureTheory.measurableSet_toMeasurable
File: Mathlib/MeasureTheory/Measure/MeasureSpaceDef.lean

tactic: rw [toMeasurable_def]
state_before: α : Type u_1
β : Type ?u.143049
γ : Type ?u.143052
δ : Type ?u.143055
ι : Type ?u.143058
inst✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
μ : Measure α
s : Set α
⊢ MeasurableSet (toMeasurable μ s)

tactic: split_ifs with hs h's
state_before: α : Type u_1
β : Type ?u.143049
γ : Type ?u.143052
δ : Type ?u.143055
ι : Type ?u.143058
inst✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
μ : Measure α
s : Set α
⊢ MeasurableSet
    (if h : ∃ t x, MeasurableSet t ∧ t =ᵐ[μ] s then Exists.choose h
    else
      if h' : ∃ t x, MeasurableSet t ∧ ∀ (u : Set α), MeasurableSet u → ↑↑μ (t ∩ u) = ↑↑μ (s ∩ u) then Exists.choose h'
      else Exists.choose (_ : ∃ t, s ⊆ t ∧ MeasurableSet t ∧ ↑↑μ t = ↑↑μ s))

tactic: exacts [hs.choose_spec.snd.1, h's.choose_spec.snd.1,
        (exists_measurable_superset μ s).choose_spec.2.1]
state_before: case inl
α : Type u_1
β : Type ?u.143049
γ : Type ?u.143052
δ : Type ?u.143055
ι : Type ?u.143058
inst✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
μ : Measure α
s : Set α
hs : ∃ t x, MeasurableSet t ∧ t =ᵐ[μ] s
⊢ MeasurableSet (Exists.choose hs)

case inr.inl
α : Type u_1
β : Type ?u.143049
γ : Type ?u.143052
δ : Type ?u.143055
ι : Type ?u.143058
inst✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
μ : Measure α
s : Set α
hs : ¬∃ t x, MeasurableSet t ∧ t =ᵐ[μ] s
h's : ∃ t x, MeasurableSet t ∧ ∀ (u : Set α), MeasurableSet u → ↑↑μ (t ∩ u) = ↑↑μ (s ∩ u)
⊢ MeasurableSet (Exists.choose h's)

case inr.inr
α : Type u_1
β : Type ?u.143049
γ : Type ?u.143052
δ : Type ?u.143055
ι : Type ?u.143058
inst✝ : MeasurableSpace α
μ✝ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t : Set α
μ : Measure α
s : Set α
hs : ¬∃ t x, MeasurableSet t ∧ t =ᵐ[μ] s
h's : ¬∃ t x, MeasurableSet t ∧ ∀ (u : Set α), MeasurableSet u → ↑↑μ (t ∩ u) = ↑↑μ (s ∩ u)
⊢ MeasurableSet (Exists.choose (_ : ∃ t, s ⊆ t ∧ MeasurableSet t ∧ ↑↑μ t = ↑↑μ s))
Theorem: FirstOrder.Language.Theory.isSatisfiable_union_distinctConstantsTheory_of_infinite
File: Mathlib/ModelTheory/Satisfiability.lean

tactic: rw [distinctConstantsTheory_eq_iUnion, Set.union_iUnion, isSatisfiable_directed_union_iff]
state_before: L : Language
T✝ : Theory L
α : Type w
n : ℕ
T' T : Theory L
s : Set α
M : Type w'
inst✝² : Structure L M
inst✝¹ : M ⊨ T
inst✝ : Infinite M
⊢ IsSatisfiable (LHom.onTheory (lhomWithConstants L α) T ∪ distinctConstantsTheory L s)

tactic: exact fun t =>
  isSatisfiable_union_distinctConstantsTheory_of_card_le T _ M
    ((lift_le_aleph0.2 (finset_card_lt_aleph0 _).le).trans
      (aleph0_le_lift.2 (aleph0_le_mk M)))
state_before: L : Language
T✝ : Theory L
α : Type w
n : ℕ
T' T : Theory L
s : Set α
M : Type w'
inst✝² : Structure L M
inst✝¹ : M ⊨ T
inst✝ : Infinite M
⊢ ∀ (i : Finset ↑s),
    IsSatisfiable
      (LHom.onTheory (lhomWithConstants L α) T ∪
        distinctConstantsTheory L ↑(Finset.map (Function.Embedding.subtype fun x => x ∈ s) i))

tactic: apply Monotone.directed_le
state_before: L : Language
T✝ : Theory L
α : Type w
n : ℕ
T' T : Theory L
s : Set α
M : Type w'
inst✝² : Structure L M
inst✝¹ : M ⊨ T
inst✝ : Infinite M
⊢ Directed (fun x x_1 => x ⊆ x_1) fun i =>
    LHom.onTheory (lhomWithConstants L α) T ∪
      distinctConstantsTheory L ↑(Finset.map (Function.Embedding.subtype fun x => x ∈ s) i)

tactic: refine' monotone_const.union (monotone_distinctConstantsTheory.comp _)
state_before: case a
L : Language
T✝ : Theory L
α : Type w
n : ℕ
T' T : Theory L
s : Set α
M : Type w'
inst✝² : Structure L M
inst✝¹ : M ⊨ T
inst✝ : Infinite M
⊢ Monotone fun i =>
    LHom.onTheory (lhomWithConstants L α) T ∪
      distinctConstantsTheory L ↑(Finset.map (Function.Embedding.subtype fun x => x ∈ s) i)

tactic: simp only [Finset.coe_map, Function.Embedding.coe_subtype]
state_before: case a
L : Language
T✝ : Theory L
α : Type w
n : ℕ
T' T : Theory L
s : Set α
M : Type w'
inst✝² : Structure L M
inst✝¹ : M ⊨ T
inst✝ : Infinite M
⊢ Monotone fun i => ↑(Finset.map (Function.Embedding.subtype fun x => x ∈ s) i)

tactic: exact Monotone.comp (g := Set.image ((↑) : s → α)) (f := ((↑) : Finset s → Set s))
  Set.monotone_image fun _ _ => Finset.coe_subset.2
state_before: case a
L : Language
T✝ : Theory L
α : Type w
n : ℕ
T' T : Theory L
s : Set α
M : Type w'
inst✝² : Structure L M
inst✝¹ : M ⊨ T
inst✝ : Infinite M
⊢ Monotone fun i => (fun a => ↑a) '' ↑i