tasksource/leandojo huggingface dataset:
Theorem: AffineMap.lineMap_mem
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

tactic: rw [AffineMap.lineMap_apply]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
Q : AffineSubspace k P
p₀ p₁ : P
c : k
h₀ : p₀ ∈ Q
h₁ : p₁ ∈ Q
⊢ ↑(lineMap p₀ p₁) c ∈ Q

tactic: exact Q.smul_vsub_vadd_mem c h₁ h₀ h₀
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
Q : AffineSubspace k P
p₀ p₁ : P
c : k
h₀ : p₀ ∈ Q
h₁ : p₁ ∈ Q
⊢ c • (p₁ -ᵥ p₀) +ᵥ p₀ ∈ Q
Theorem: div_mul_div_cancel'
File: Mathlib/Algebra/Group/Basic.lean

tactic: rw [← mul_div_assoc, div_mul_cancel']
state_before: α : Type ?u.60670
β : Type ?u.60673
G : Type u_1
inst✝ : Group G
a✝ b✝ c✝ d a b c : G
⊢ a / b * (b / c) = a / c
Theorem: Rat.preimage_cast_Iio
File: Mathlib/Data/Rat/Cast.lean

tactic: ext x
state_before: F : Type ?u.78987
ι : Type ?u.78990
α : Type ?u.78993
β : Type ?u.78996
K : Type u_1
inst✝ : LinearOrderedField K
a : ℚ
⊢ Rat.cast ⁻¹' Iio ↑a = Iio a

tactic: simp
state_before: case h
F : Type ?u.78987
ι : Type ?u.78990
α : Type ?u.78993
β : Type ?u.78996
K : Type u_1
inst✝ : LinearOrderedField K
a x : ℚ
⊢ x ∈ Rat.cast ⁻¹' Iio ↑a ↔ x ∈ Iio a
Theorem: Finset.erase_insert_eq_erase
File: Mathlib/Data/Finset/Basic.lean

tactic: simp (config := { contextual := true }) only [mem_erase, mem_insert, and_congr_right_iff,
  false_or_iff, iff_self_iff, imp_true_iff]
state_before: α : Type u_1
β : Type ?u.209336
γ : Type ?u.209339
inst✝ : DecidableEq α
s✝ t u v : Finset α
a✝ b : α
s : Finset α
a x : α
⊢ x ∈ erase (insert a s) a ↔ x ∈ erase s a
Theorem: Multiset.disjoint_add_right
File: Mathlib/Data/Multiset/Basic.lean

tactic: rw [disjoint_comm, disjoint_add_left]
state_before: α : Type u_1
β : Type ?u.487540
γ : Type ?u.487543
s t u : Multiset α
⊢ Disjoint s (t + u) ↔ Disjoint s t ∧ Disjoint s u

tactic: tauto
state_before: α : Type u_1
β : Type ?u.487540
γ : Type ?u.487543
s t u : Multiset α
⊢ Disjoint t s ∧ Disjoint u s ↔ Disjoint s t ∧ Disjoint s u
Theorem: Behrend.le_N
File: Mathlib/Combinatorics/Additive/Behrend.lean

tactic: have : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N :=
  Nat.pow_le_pow_of_le_left (Nat.sub_le _ _) _
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
⊢ (2 * dValue N - 1) ^ nValue N ≤ N

tactic: apply this.trans
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
⊢ (2 * dValue N - 1) ^ nValue N ≤ N

tactic: suffices ((2 * dValue N) ^ nValue N : ℝ) ≤ N by exact_mod_cast this
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
⊢ (2 * dValue N) ^ nValue N ≤ N

tactic: suffices i : (2 * dValue N : ℝ) ≤ (N : ℝ) ^ (1 / nValue N : ℝ)
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
⊢ (2 * ↑(dValue N)) ^ ↑(nValue N) ≤ ↑N

tactic: rw [← le_div_iff']
state_before: case i
α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
⊢ 2 * ↑(dValue N) ≤ ↑N ^ (1 / ↑(nValue N))

tactic: apply zero_lt_two
state_before: case i
α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
⊢ 0 < 2

tactic: exact_mod_cast this
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this✝ : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
this : (2 * ↑(dValue N)) ^ ↑(nValue N) ≤ ↑N
⊢ (2 * dValue N) ^ nValue N ≤ N

tactic: apply (rpow_le_rpow (mul_nonneg zero_le_two (cast_nonneg _)) i (cast_nonneg _)).trans
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
i : 2 * ↑(dValue N) ≤ ↑N ^ (1 / ↑(nValue N))
⊢ (2 * ↑(dValue N)) ^ ↑(nValue N) ≤ ↑N

tactic: rw [← rpow_mul (cast_nonneg _), one_div_mul_cancel, rpow_one]
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
i : 2 * ↑(dValue N) ≤ ↑N ^ (1 / ↑(nValue N))
⊢ (↑N ^ (1 / ↑(nValue N))) ^ ↑(nValue N) ≤ ↑N

tactic: rw [cast_ne_zero]
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
i : 2 * ↑(dValue N) ≤ ↑N ^ (1 / ↑(nValue N))
⊢ ↑(nValue N) ≠ 0

tactic: apply (nValue_pos hN).ne'
state_before: α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
i : 2 * ↑(dValue N) ≤ ↑N ^ (1 / ↑(nValue N))
⊢ nValue N ≠ 0

tactic: exact floor_le (div_nonneg (rpow_nonneg_of_nonneg (cast_nonneg _) _) zero_le_two)
state_before: case i
α : Type ?u.783410
β : Type ?u.783413
n d k N : ℕ
x : Fin n → ℕ
hN : 2 ≤ N
this : (2 * dValue N - 1) ^ nValue N ≤ (2 * dValue N) ^ nValue N
⊢ ↑(dValue N) ≤ ↑N ^ (1 / ↑(nValue N)) / 2
Theorem: NNReal.nhds_zero
File: Mathlib/Topology/Instances/NNReal.lean

tactic: simp only [bot_lt_iff_ne_bot]
state_before: α : Type ?u.21185
⊢ (⨅ (l : ℝ≥0) (_ : ⊥ < l), 𝓟 (Set.Iio l)) = ⨅ (a : ℝ≥0) (_ : a ≠ 0), 𝓟 (Set.Iio a)

tactic: rfl
state_before: α : Type ?u.21185
⊢ (⨅ (l : ℝ≥0) (_ : l ≠ ⊥), 𝓟 (Set.Iio l)) = ⨅ (a : ℝ≥0) (_ : a ≠ 0), 𝓟 (Set.Iio a)
Theorem: Cardinal.bddAbove_range_comp
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rw [range_comp]
state_before: α β ι : Type u
f : ι → Cardinal
hf : BddAbove (range f)
g : Cardinal → Cardinal
⊢ BddAbove (range (g ∘ f))

tactic: exact bddAbove_image.{v,w} g hf
state_before: α β ι : Type u
f : ι → Cardinal
hf : BddAbove (range f)
g : Cardinal → Cardinal
⊢ BddAbove (g '' range f)
Theorem: Ordinal.lsub_eq_zero_iff
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: refine' ⟨fun h => ⟨fun i => _⟩, fun h => @lsub_empty _ h _⟩
state_before: α : Type ?u.327023
β : Type ?u.327026
γ : Type ?u.327029
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
⊢ lsub f = 0 ↔ IsEmpty ι

tactic: have := @lsub_pos.{_, v} _ ⟨i⟩ f
state_before: α : Type ?u.327023
β : Type ?u.327026
γ : Type ?u.327029
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
h : lsub f = 0
i : ι
⊢ False

tactic: rw [h] at this
state_before: α : Type ?u.327023
β : Type ?u.327026
γ : Type ?u.327029
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
h : lsub f = 0
i : ι
this : 0 < lsub f
⊢ False

tactic: exact this.false
state_before: α : Type ?u.327023
β : Type ?u.327026
γ : Type ?u.327029
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
ι : Type u
f : ι → Ordinal
h : lsub f = 0
i : ι
this : 0 < 0
⊢ False
Theorem: CategoryTheory.Limits.diagonalObjPullbackFstIso_hom_snd
File: Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean

tactic: delta diagonalObjPullbackFstIso
state_before: C : Type u_2
inst✝⁵ : Category C
X✝ Y✝ Z✝ : C
inst✝⁴ : HasPullbacks C
S T : C
f✝ : X✝ ⟶ T
g✝ : Y✝ ⟶ T
i : T ⟶ S
inst✝³ : HasPullback i i
inst✝² : HasPullback f✝ g✝
inst✝¹ : HasPullback (f✝ ≫ i) (g✝ ≫ i)
inst✝ :
  HasPullback (diagonal i)
    (map (f✝ ≫ i) (g✝ ≫ i) i i f✝ g✝ (𝟙 S) (_ : (f✝ ≫ i) ≫ 𝟙 S = f✝ ≫ i) (_ : (g✝ ≫ i) ≫ 𝟙 S = g✝ ≫ i))
X Y Z : C
f : X ⟶ Z
g : Y ⟶ Z
⊢ (diagonalObjPullbackFstIso f g).hom ≫ snd = fst ≫ fst

tactic: simp
state_before: C : Type u_2
inst✝⁵ : Category C
X✝ Y✝ Z✝ : C
inst✝⁴ : HasPullbacks C
S T : C
f✝ : X✝ ⟶ T
g✝ : Y✝ ⟶ T
i : T ⟶ S
inst✝³ : HasPullback i i
inst✝² : HasPullback f✝ g✝
inst✝¹ : HasPullback (f✝ ≫ i) (g✝ ≫ i)
inst✝ :
  HasPullback (diagonal i)
    (map (f✝ ≫ i) (g✝ ≫ i) i i f✝ g✝ (𝟙 S) (_ : (f✝ ≫ i) ≫ 𝟙 S = f✝ ≫ i) (_ : (g✝ ≫ i) ≫ 𝟙 S = g✝ ≫ i))
X Y Z : C
f : X ⟶ Z
g : Y ⟶ Z
⊢ (pullbackRightPullbackFstIso f g fst ≪≫
          congrHom (_ : fst ≫ f = snd ≫ g) (_ : g = g) ≪≫
            pullbackAssoc f g g g ≪≫ pullbackSymmetry f (fst ≫ g) ≪≫ congrHom (_ : fst ≫ g = snd ≫ g) (_ : f = f)).hom ≫
      snd =
    fst ≫ fst
Theorem: Set.toFinset_inter
File: Mathlib/Data/Fintype/Basic.lean

tactic: ext
state_before: α : Type u_1
β : Type ?u.86702
γ : Type ?u.86705
s t : Set α
inst✝³ : DecidableEq α
inst✝² : Fintype ↑s
inst✝¹ : Fintype ↑t
inst✝ : Fintype ↑(s ∩ t)
⊢ toFinset (s ∩ t) = toFinset s ∩ toFinset t

tactic: simp
state_before: case a
α : Type u_1
β : Type ?u.86702
γ : Type ?u.86705
s t : Set α
inst✝³ : DecidableEq α
inst✝² : Fintype ↑s
inst✝¹ : Fintype ↑t
inst✝ : Fintype ↑(s ∩ t)
a✝ : α
⊢ a✝ ∈ toFinset (s ∩ t) ↔ a✝ ∈ toFinset s ∩ toFinset t
Theorem: VitaliFamily.ae_tendsto_limRatio
File: Mathlib/MeasureTheory/Covering/Differentiation.lean

tactic: filter_upwards [v.ae_tendsto_div hρ]
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.2273791
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))

tactic: intro x hx
state_before: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.2273791
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
⊢ ∀ (a : α),
    (∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 c)) →
      Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a) (𝓝 (limRatio v ρ a))

tactic: exact tendsto_nhds_limUnder hx
state_before: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.2273791
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
x : α
hx : ∃ c, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 c)
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (limRatio v ρ x))
Theorem: PiTensorProduct.reindex_refl
File: Mathlib/LinearAlgebra/PiTensorProduct.lean

tactic: apply LinearEquiv.toLinearMap_injective
state_before: ι : Type u_1
ι₂ : Type ?u.505120
ι₃ : Type ?u.505123
R : Type u_2
inst✝⁷ : CommSemiring R
R₁ : Type ?u.505132
R₂ : Type ?u.505135
s : ι → Type ?u.505140
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_3
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type ?u.505459
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type ?u.505593
inst✝ : AddCommMonoid F
φ : MultilinearMap R s E
⊢ reindex R M (Equiv.refl ι) = LinearEquiv.refl R (⨂[R] (x : ι), M)

tactic: refine ext ?_
state_before: case a
ι : Type u_1
ι₂ : Type ?u.505120
ι₃ : Type ?u.505123
R : Type u_2
inst✝⁷ : CommSemiring R
R₁ : Type ?u.505132
R₂ : Type ?u.505135
s : ι → Type ?u.505140
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_3
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type ?u.505459
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type ?u.505593
inst✝ : AddCommMonoid F
φ : MultilinearMap R s E
⊢ ↑(reindex R M (Equiv.refl ι)) = ↑(LinearEquiv.refl R (⨂[R] (x : ι), M))

tactic: rw [reindex_comp_tprod, LinearEquiv.refl_toLinearMap, Equiv.refl_symm]
state_before: case a
ι : Type u_1
ι₂ : Type ?u.505120
ι₃ : Type ?u.505123
R : Type u_2
inst✝⁷ : CommSemiring R
R₁ : Type ?u.505132
R₂ : Type ?u.505135
s : ι → Type ?u.505140
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_3
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type ?u.505459
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type ?u.505593
inst✝ : AddCommMonoid F
φ : MultilinearMap R s E
⊢ LinearMap.compMultilinearMap (↑(reindex R M (Equiv.refl ι))) (tprod R) =
    LinearMap.compMultilinearMap (↑(LinearEquiv.refl R (⨂[R] (x : ι), M))) (tprod R)

tactic: rfl
state_before: case a
ι : Type u_1
ι₂ : Type ?u.505120
ι₃ : Type ?u.505123
R : Type u_2
inst✝⁷ : CommSemiring R
R₁ : Type ?u.505132
R₂ : Type ?u.505135
s : ι → Type ?u.505140
inst✝⁶ : (i : ι) → AddCommMonoid (s i)
inst✝⁵ : (i : ι) → Module R (s i)
M : Type u_3
inst✝⁴ : AddCommMonoid M
inst✝³ : Module R M
E : Type ?u.505459
inst✝² : AddCommMonoid E
inst✝¹ : Module R E
F : Type ?u.505593
inst✝ : AddCommMonoid F
φ : MultilinearMap R s E
⊢ domDomCongr (Equiv.refl ι) (tprod R) = LinearMap.compMultilinearMap LinearMap.id (tprod R)
Theorem: Polynomial.scaleRoots.isWeaklyEisensteinAt
File: Mathlib/RingTheory/Polynomial/Eisenstein/Basic.lean

tactic: refine' ⟨fun i => _⟩
state_before: R : Type u
A : Type ?u.108344
inst✝¹ : CommRing R
inst✝ : CommRing A
p : R[X]
x : R
P : Ideal R
hP : x ∈ P
⊢ IsWeaklyEisensteinAt (scaleRoots p x) P

tactic: rw [coeff_scaleRoots]
state_before: R : Type u
A : Type ?u.108344
inst✝¹ : CommRing R
inst✝ : CommRing A
p : R[X]
x : R
P : Ideal R
hP : x ∈ P
n✝ : ℕ
i : n✝ < natDegree (scaleRoots p x)
⊢ coeff (scaleRoots p x) n✝ ∈ P

tactic: rw [natDegree_scaleRoots, ← tsub_pos_iff_lt] at i
state_before: R : Type u
A : Type ?u.108344
inst✝¹ : CommRing R
inst✝ : CommRing A
p : R[X]
x : R
P : Ideal R
hP : x ∈ P
n✝ : ℕ
i : n✝ < natDegree (scaleRoots p x)
⊢ coeff p n✝ * x ^ (natDegree p - n✝) ∈ P

tactic: exact Ideal.mul_mem_left _ _ (Ideal.pow_mem_of_mem P hP _ i)
state_before: R : Type u
A : Type ?u.108344
inst✝¹ : CommRing R
inst✝ : CommRing A
p : R[X]
x : R
P : Ideal R
hP : x ∈ P
n✝ : ℕ
i✝ : n✝ < natDegree p
i : 0 < natDegree p - n✝
⊢ coeff p n✝ * x ^ (natDegree p - n✝) ∈ P
Theorem: Int.card_Ioc
File: Mathlib/Data/Int/Interval.lean

tactic: change (Finset.map _ _).card = _
state_before: a b : ℤ
⊢ card (Ioc a b) = toNat (b - a)

tactic: rw [Finset.card_map, Finset.card_range]
state_before: a b : ℤ
⊢ card (map (Function.Embedding.trans Nat.castEmbedding (addLeftEmbedding (a + 1))) (range (toNat (b - a)))) =
    toNat (b - a)
Theorem: WittVector.wittOne_zero_eq_one
File: Mathlib/RingTheory/WittVector/Defs.lean

tactic: apply MvPolynomial.map_injective (Int.castRingHom ℚ) Int.cast_injective
state_before: p : ℕ
R : Type ?u.44782
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
⊢ wittOne p 0 = 1

tactic: simp only [wittOne, wittStructureRat, xInTermsOfW_zero, AlgHom.map_one, RingHom.map_one,
  bind₁_X_right, map_wittStructureInt]
state_before: case a
p : ℕ
R : Type ?u.44782
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
⊢ ↑(map (Int.castRingHom ℚ)) (wittOne p 0) = ↑(map (Int.castRingHom ℚ)) 1
Theorem: SimpleGraph.Walk.coe_support_append
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: rw [support_append, ← Multiset.coe_add, coe_support]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v w : V
p : Walk G u v
p' : Walk G v w
⊢ ↑(support (append p p')) = {u} + ↑(List.tail (support p)) + ↑(List.tail (support p'))
Theorem: BoxIntegral.Prepartition.measure_iUnion_toReal
File: Mathlib/Analysis/BoxIntegral/Partition/Measure.lean

tactic: erw [← ENNReal.toReal_sum, π.iUnion_def, measure_biUnion_finset π.pairwiseDisjoint]
state_before: ι : Type u_1
inst✝¹ : Finite ι
I : Box ι
π : Prepartition I
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
⊢ ENNReal.toReal (↑↑μ (Prepartition.iUnion π)) = ∑ J in π.boxes, ENNReal.toReal (↑↑μ ↑J)

tactic: exacts [fun J _ => J.measurableSet_coe, fun J _ => (J.measure_coe_lt_top μ).ne]
state_before: ι : Type u_1
inst✝¹ : Finite ι
I : Box ι
π : Prepartition I
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
⊢ ∀ (b : Box ι), b ∈ π.boxes → MeasurableSet ↑b

ι : Type u_1
inst✝¹ : Finite ι
I : Box ι
π : Prepartition I
μ : MeasureTheory.Measure (ι → ℝ)
inst✝ : IsLocallyFiniteMeasure μ
⊢ ∀ (a : Box ι), a ∈ π.boxes → ↑↑μ ↑a ≠ ⊤
Theorem: CategoryTheory.HasLiftingProperty.iff_of_arrow_iso_left
File: Mathlib/CategoryTheory/LiftingProperties/Basic.lean

tactic: constructor <;> intro
state_before: C : Type u_2
inst✝ : Category C
A✝ B✝ B'✝ X✝ Y✝ Y' : C
i✝ : A✝ ⟶ B✝
i'✝ : B✝ ⟶ B'✝
p✝ : X✝ ⟶ Y✝
p' : Y✝ ⟶ Y'
A B A' B' X Y : C
i : A ⟶ B
i' : A' ⟶ B'
e : Arrow.mk i ≅ Arrow.mk i'
p : X ⟶ Y
⊢ HasLiftingProperty i p ↔ HasLiftingProperty i' p

tactic: exacts [of_arrow_iso_left e p, of_arrow_iso_left e.symm p]
state_before: case mp
C : Type u_2
inst✝ : Category C
A✝ B✝ B'✝ X✝ Y✝ Y' : C
i✝ : A✝ ⟶ B✝
i'✝ : B✝ ⟶ B'✝
p✝ : X✝ ⟶ Y✝
p' : Y✝ ⟶ Y'
A B A' B' X Y : C
i : A ⟶ B
i' : A' ⟶ B'
e : Arrow.mk i ≅ Arrow.mk i'
p : X ⟶ Y
a✝ : HasLiftingProperty i p
⊢ HasLiftingProperty i' p

case mpr
C : Type u_2
inst✝ : Category C
A✝ B✝ B'✝ X✝ Y✝ Y' : C
i✝ : A✝ ⟶ B✝
i'✝ : B✝ ⟶ B'✝
p✝ : X✝ ⟶ Y✝
p' : Y✝ ⟶ Y'
A B A' B' X Y : C
i : A ⟶ B
i' : A' ⟶ B'
e : Arrow.mk i ≅ Arrow.mk i'
p : X ⟶ Y
a✝ : HasLiftingProperty i' p
⊢ HasLiftingProperty i p
Theorem: measurable_tProd_elim
File: Mathlib/MeasureTheory/MeasurableSpace.lean

tactic: by_cases hji : j = i
state_before: α : Type ?u.370700
β : Type ?u.370703
γ : Type ?u.370706
δ : Type u_1
δ' : Type ?u.370712
ι : Sort uι
s t u : Set α
π : δ → Type u_2
inst✝¹ : (x : δ) → MeasurableSpace (π x)
inst✝ : DecidableEq δ
i : δ
is : List δ
j : δ
hj : j ∈ i :: is
⊢ Measurable fun v => TProd.elim v hj

tactic: subst hji
state_before: case pos
α : Type ?u.370700
β : Type ?u.370703
γ : Type ?u.370706
δ : Type u_1
δ' : Type ?u.370712
ι : Sort uι
s t u : Set α
π : δ → Type u_2
inst✝¹ : (x : δ) → MeasurableSpace (π x)
inst✝ : DecidableEq δ
i : δ
is : List δ
j : δ
hj : j ∈ i :: is
hji : j = i
⊢ Measurable fun v => TProd.elim v hj

tactic: simpa using measurable_fst
state_before: case pos
α : Type ?u.370700
β : Type ?u.370703
γ : Type ?u.370706
δ : Type u_1
δ' : Type ?u.370712
ι : Sort uι
s t u : Set α
π : δ → Type u_2
inst✝¹ : (x : δ) → MeasurableSpace (π x)
inst✝ : DecidableEq δ
is : List δ
j : δ
hj : j ∈ j :: is
⊢ Measurable fun v => TProd.elim v hj

tactic: simp only [TProd.elim_of_ne _ hji]
state_before: case neg
α : Type ?u.370700
β : Type ?u.370703
γ : Type ?u.370706
δ : Type u_1
δ' : Type ?u.370712
ι : Sort uι
s t u : Set α
π : δ → Type u_2
inst✝¹ : (x : δ) → MeasurableSpace (π x)
inst✝ : DecidableEq δ
i : δ
is : List δ
j : δ
hj : j ∈ i :: is
hji : ¬j = i
⊢ Measurable fun v => TProd.elim v hj

tactic: rw [mem_cons] at hj
state_before: case neg
α : Type ?u.370700
β : Type ?u.370703
γ : Type ?u.370706
δ : Type u_1
δ' : Type ?u.370712
ι : Sort uι
s t u : Set α
π : δ → Type u_2
inst✝¹ : (x : δ) → MeasurableSpace (π x)
inst✝ : DecidableEq δ
i : δ
is : List δ
j : δ
hj : j ∈ i :: is
hji : ¬j = i
⊢ Measurable fun v => TProd.elim v.snd (_ : j ∈ is)

tactic: exact (measurable_tProd_elim (hj.resolve_left hji)).comp measurable_snd
state_before: case neg
α : Type ?u.370700
β : Type ?u.370703
γ : Type ?u.370706
δ : Type u_1
δ' : Type ?u.370712
ι : Sort uι
s t u : Set α
π : δ → Type u_2
inst✝¹ : (x : δ) → MeasurableSpace (π x)
inst✝ : DecidableEq δ
i : δ
is : List δ
j : δ
hj✝ : j ∈ i :: is
hj : j = i ∨ j ∈ is
hji : ¬j = i
⊢ Measurable fun v => TProd.elim v.snd (_ : j ∈ is)
Theorem: MvPolynomial.eval₂_eq'
File: Mathlib/Data/MvPolynomial/Basic.lean

tactic: simp only [eval₂_eq, ← Finsupp.prod_pow]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
g✝ : σ → S₁
inst✝ : Fintype σ
g : R →+* S₁
X : σ → S₁
f : MvPolynomial σ R
⊢ eval₂ g X f = ∑ d in support f, ↑g (coeff d f) * ∏ i : σ, X i ^ ↑d i

tactic: rfl
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p q : MvPolynomial σ R
f✝ : R →+* S₁
g✝ : σ → S₁
inst✝ : Fintype σ
g : R →+* S₁
X : σ → S₁
f : MvPolynomial σ R
⊢ ∑ x in support f, ↑g (coeff x f) * ∏ x_1 in x.support, X x_1 ^ ↑x x_1 =
    ∑ x in support f, ↑g (coeff x f) * Finsupp.prod x fun a b => X a ^ b
Theorem: HasStrictDerivAt.star
File: Mathlib/Analysis/Calculus/Deriv/Star.lean

tactic: simpa using h.star.hasStrictDerivAt
state_before: 𝕜 : Type u
inst✝⁷ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
f : 𝕜 → F
inst✝⁴ : StarRing 𝕜
inst✝³ : TrivialStar 𝕜
inst✝² : StarAddMonoid F
inst✝¹ : ContinuousStar F
inst✝ : StarModule 𝕜 F
f' : F
x : 𝕜
h : HasStrictDerivAt f f' x
⊢ HasStrictDerivAt (fun x => star (f x)) (star f') x
Theorem: MeasureTheory.Lp.norm_le_norm_of_ae_le
File: Mathlib/MeasureTheory/Function/LpSpace.lean

tactic: rw [norm_def, norm_def, ENNReal.toReal_le_toReal (snorm_ne_top _) (snorm_ne_top _)]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.423171
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : { x // x ∈ Lp E p }
g : { x // x ∈ Lp F p }
h : ∀ᵐ (x : α) ∂μ, ‖↑↑f x‖ ≤ ‖↑↑g x‖
⊢ ‖f‖ ≤ ‖g‖

tactic: exact snorm_mono_ae h
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.423171
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : { x // x ∈ Lp E p }
g : { x // x ∈ Lp F p }
h : ∀ᵐ (x : α) ∂μ, ‖↑↑f x‖ ≤ ‖↑↑g x‖
⊢ snorm (↑↑f) p μ ≤ snorm (↑↑g) p μ
Theorem: continuousAt_sign_of_ne_zero
File: Mathlib/Topology/Instances/Sign.lean

tactic: rcases h.lt_or_lt with (h_neg | h_pos)
state_before: α : Type u_1
inst✝³ : Zero α
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderTopology α
a : α
h : a ≠ 0
⊢ ContinuousAt (↑SignType.sign) a

tactic: exact continuousAt_sign_of_neg h_neg
state_before: case inl
α : Type u_1
inst✝³ : Zero α
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderTopology α
a : α
h : a ≠ 0
h_neg : a < 0
⊢ ContinuousAt (↑SignType.sign) a

tactic: exact continuousAt_sign_of_pos h_pos
state_before: case inr
α : Type u_1
inst✝³ : Zero α
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderTopology α
a : α
h : a ≠ 0
h_pos : 0 < a
⊢ ContinuousAt (↑SignType.sign) a
Theorem: Cardinal.mk_set_nat
File: Mathlib/SetTheory/Cardinal/Continuum.lean

tactic: simp
state_before: ⊢ (#Set ℕ) = 𝔠
Theorem: commProb_le_one
File: Mathlib/GroupTheory/CommutingProbability.lean

tactic: refine' div_le_one_of_le _ (sq_nonneg (Nat.card M : ℚ))
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
⊢ commProb M ≤ 1

tactic: rw [← Nat.cast_pow, Nat.cast_le, sq, ← Nat.card_prod]
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
⊢ ↑(Nat.card { p // p.fst * p.snd = p.snd * p.fst }) ≤ ↑(Nat.card M) ^ 2

tactic: apply Finite.card_subtype_le
state_before: M : Type u_1
inst✝¹ : Mul M
inst✝ : Finite M
⊢ Nat.card { p // p.fst * p.snd = p.snd * p.fst } ≤ Nat.card (M × M)
Theorem: Bool.and_le_left
File: Mathlib/Data/Bool/Basic.lean

tactic: decide
state_before: ⊢ ∀ (x y : Bool), (x && y) ≤ x
Theorem: Equiv.Perm.isCycle_of_prime_order
File: Mathlib/GroupTheory/Perm/Cycle/Type.lean

tactic: obtain ⟨n, hn⟩ := cycleType_prime_order h1
state_before: α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
h1 : Nat.Prime (orderOf σ)
h2 : Finset.card (support σ) < 2 * orderOf σ
⊢ IsCycle σ

tactic: rw [← σ.sum_cycleType, hn, Multiset.sum_replicate, nsmul_eq_mul, Nat.cast_id,
  mul_lt_mul_right (orderOf_pos σ), Nat.succ_lt_succ_iff, Nat.lt_succ_iff, le_zero_iff] at h2
state_before: case intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
h1 : Nat.Prime (orderOf σ)
h2 : Finset.card (support σ) < 2 * orderOf σ
n : ℕ
hn : cycleType σ = replicate (n + 1) (orderOf σ)
⊢ IsCycle σ

tactic: rw [← card_cycleType_eq_one, hn, card_replicate, h2]
state_before: case intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
h1 : Nat.Prime (orderOf σ)
n : ℕ
h2 : n = 0
hn : cycleType σ = replicate (n + 1) (orderOf σ)
⊢ IsCycle σ