tasksource/leandojo huggingface dataset:
Theorem: CancelDenoms.cancel_factors_lt
File: Mathlib/Tactic/CancelDenoms.lean

tactic: rw [mul_lt_mul_left, ← ha, ← hb, ← mul_assoc, ← mul_assoc, mul_comm bd, mul_lt_mul_left]
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a b ad bd a' b' gcd : α
ha : ad * a = a'
hb : bd * b = b'
had : 0 < ad
hbd : 0 < bd
hgcd : 0 < gcd
⊢ (a < b) = (1 / gcd * (bd * a') < 1 / gcd * (ad * b'))

tactic: exact mul_pos had hbd
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a b ad bd a' b' gcd : α
ha : ad * a = a'
hb : bd * b = b'
had : 0 < ad
hbd : 0 < bd
hgcd : 0 < gcd
⊢ 0 < ad * bd

tactic: exact one_div_pos.2 hgcd
state_before: α : Type u_1
inst✝ : LinearOrderedField α
a b ad bd a' b' gcd : α
ha : ad * a = a'
hb : bd * b = b'
had : 0 < ad
hbd : 0 < bd
hgcd : 0 < gcd
⊢ 0 < 1 / gcd
Theorem: isUnit_zero_iff
File: Mathlib/Algebra/GroupWithZero/Units/Basic.lean

tactic: rwa [zero_mul] at a0
state_before: α : Type ?u.3521
M₀ : Type u_1
G₀ : Type ?u.3527
M₀' : Type ?u.3530
G₀' : Type ?u.3533
F : Type ?u.3536
F' : Type ?u.3539
inst✝ : MonoidWithZero M₀
x✝ : IsUnit 0
a : M₀
a0 : 0 * a = 1
inv_val✝ : a * 0 = 1
⊢ 0 = 1
Theorem: smul_le_smul_of_nonpos
File: Mathlib/Algebra/Order/Module.lean

tactic: rw [← neg_neg c, neg_smul, neg_smul (-c), neg_le_neg_iff]
state_before: k : Type u_2
M : Type u_1
N : Type ?u.12824
inst✝³ : OrderedRing k
inst✝² : OrderedAddCommGroup M
inst✝¹ : Module k M
inst✝ : OrderedSMul k M
a b : M
c : k
h : a ≤ b
hc : c ≤ 0
⊢ c • b ≤ c • a

tactic: exact smul_le_smul_of_nonneg h (neg_nonneg_of_nonpos hc)
state_before: k : Type u_2
M : Type u_1
N : Type ?u.12824
inst✝³ : OrderedRing k
inst✝² : OrderedAddCommGroup M
inst✝¹ : Module k M
inst✝ : OrderedSMul k M
a b : M
c : k
h : a ≤ b
hc : c ≤ 0
⊢ -c • a ≤ -c • b
Theorem: Left.one_le_inv_iff
File: Mathlib/Algebra/Order/Group/Defs.lean

tactic: rw [← mul_le_mul_iff_left a]
state_before: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c d : α
⊢ 1 ≤ a⁻¹ ↔ a ≤ 1

tactic: simp
state_before: α : Type u
inst✝² : Group α
inst✝¹ : LE α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a b c d : α
⊢ a * 1 ≤ a * a⁻¹ ↔ a ≤ 1
Theorem: Matrix.tail_val'
File: Mathlib/Data/Matrix/Notation.lean

tactic: ext
state_before: α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
B : Fin (Nat.succ m) → n' → α
j : n'
⊢ (vecTail fun i => B i j) = fun i => vecTail B i j

tactic: simp [vecTail]
state_before: case h
α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
B : Fin (Nat.succ m) → n' → α
j : n'
x✝ : Fin m
⊢ vecTail (fun i => B i j) x✝ = vecTail B x✝ j
Theorem: Ctop.Realizer.ofEquiv_F
File: Mathlib/Data/Analysis/Topology.lean

tactic: delta ofEquiv
state_before: α : Type u_1
β : Type ?u.24148
σ : Type ?u.24151
τ : Type u_3
inst✝ : TopologicalSpace α
F : Realizer α
E : F.σ ≃ τ
s : τ
⊢ f (ofEquiv F E).F s = f F.F (↑E.symm s)

tactic: simp
state_before: α : Type u_1
β : Type ?u.24148
σ : Type ?u.24151
τ : Type u_3
inst✝ : TopologicalSpace α
F : Realizer α
E : F.σ ≃ τ
s : τ
⊢ f { σ := τ, F := Ctop.ofEquiv E F.F, eq := (_ : toTopsp (Ctop.ofEquiv E F.F) = inst✝) }.F s = f F.F (↑E.symm s)
Theorem: WittVector.ext
File: Mathlib/RingTheory/WittVector/Defs.lean

tactic: cases x
state_before: p : ℕ
R : Type u_1
x y : 𝕎 R
h : ∀ (n : ℕ), coeff x n = coeff y n
⊢ x = y

tactic: cases y
state_before: case mk'
p : ℕ
R : Type u_1
y : 𝕎 R
coeff✝ : ℕ → R
h : ∀ (n : ℕ), coeff { coeff := coeff✝ } n = coeff y n
⊢ { coeff := coeff✝ } = y

tactic: simp only at h
state_before: case mk'.mk'
p : ℕ
R : Type u_1
coeff✝¹ coeff✝ : ℕ → R
h : ∀ (n : ℕ), coeff { coeff := coeff✝¹ } n = coeff { coeff := coeff✝ } n
⊢ { coeff := coeff✝¹ } = { coeff := coeff✝ }

tactic: simp [Function.funext_iff, h]
state_before: case mk'.mk'
p : ℕ
R : Type u_1
coeff✝¹ coeff✝ : ℕ → R
h : ∀ (n : ℕ), coeff✝¹ n = coeff✝ n
⊢ { coeff := coeff✝¹ } = { coeff := coeff✝ }
Theorem: Complex.interior_setOf_le_im
File: Mathlib/Analysis/Complex/ReImTopology.lean

tactic: simpa only [interior_Ici] using interior_preimage_im (Ici a)
state_before: a : ℝ
⊢ interior {z | a ≤ z.im} = {z | a < z.im}
Theorem: Int.mul_pos
File: Std/Data/Int/Lemmas.lean

tactic: let ⟨n, hn⟩ := eq_succ_of_zero_lt ha
state_before: a b : Int
ha : 0 < a
hb : 0 < b
⊢ 0 < a * b

tactic: let ⟨m, hm⟩ := eq_succ_of_zero_lt hb
state_before: a b : Int
ha : 0 < a
hb : 0 < b
n : Nat
hn : a = ↑(succ n)
⊢ 0 < a * b

tactic: rw [hn, hm, ← ofNat_mul]
state_before: a b : Int
ha : 0 < a
hb : 0 < b
n : Nat
hn : a = ↑(succ n)
m : Nat
hm : b = ↑(succ m)
⊢ 0 < a * b

tactic: apply ofNat_succ_pos
state_before: a b : Int
ha : 0 < a
hb : 0 < b
n : Nat
hn : a = ↑(succ n)
m : Nat
hm : b = ↑(succ m)
⊢ 0 < ↑(succ n * succ m)
Theorem: AlgebraicGeometry.StructureSheaf.isUnit_to_basicOpen_self
File: Mathlib/AlgebraicGeometry/StructureSheaf.lean

tactic: rw [toOpen_eq_const, const_mul_rev]
state_before: R : Type u
inst✝ : CommRing R
f : R
⊢ ↑(toOpen R (PrimeSpectrum.basicOpen f)) f *
      const R 1 f (PrimeSpectrum.basicOpen f)
        (_ : ∀ (x : ↑(PrimeSpectrum.Top R)), x ∈ PrimeSpectrum.basicOpen f → x ∈ PrimeSpectrum.basicOpen f) =
    1
Theorem: Mathlib.Tactic.Ring.pow_zero
File: Mathlib/Tactic/Ring/Basic.lean

tactic: simp
state_before: u : Lean.Level
R : Type u_1
α : Q(Type u)
sα : Q(CommSemiring «$α»)
inst✝ : CommSemiring R
a : R
⊢ a ^ 0 = Nat.rawCast 1 + 0
Theorem: EuclideanGeometry.angle_eq_angle_of_angle_eq_pi_of_angle_eq_pi
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean

tactic: linarith [angle_add_angle_eq_pi_of_angle_eq_pi p1 hbpd, angle_comm p4 p5 p1,
  angle_add_angle_eq_pi_of_angle_eq_pi p4 hapc, angle_comm p4 p5 p3]
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
p1 p2 p3 p4 p5 : P
hapc : ∠ p1 p5 p3 = π
hbpd : ∠ p2 p5 p4 = π
⊢ ∠ p1 p5 p2 = ∠ p3 p5 p4
Theorem: summable_mul_left_iff
File: Mathlib/Topology/Algebra/InfiniteSum/Ring.lean

tactic: simpa only [inv_mul_cancel_left₀ h] using H.mul_left a⁻¹
state_before: ι : Type u_2
κ : Type ?u.13116
R : Type ?u.13119
α : Type u_1
inst✝² : DivisionSemiring α
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSemiring α
f g : ι → α
a a₁ a₂ : α
h : a ≠ 0
H : Summable fun i => a * f i
⊢ Summable f
Theorem: Fin.mk_bit1
File: Mathlib/Data/Fin/Basic.lean

tactic: ext
state_before: n✝ m✝ m n : ℕ
inst✝ : NeZero n
h : bit1 m < n
⊢ { val := bit1 m, isLt := h } = bit1 { val := m, isLt := (_ : m < n) }

tactic: simp only [bit1, bit0] at h
state_before: case h
n✝ m✝ m n : ℕ
inst✝ : NeZero n
h : bit1 m < n
⊢ ↑{ val := bit1 m, isLt := h } = ↑(bit1 { val := m, isLt := (_ : m < n) })

tactic: simp only [bit1, bit0, val_add, val_one', ← Nat.add_mod, Nat.mod_eq_of_lt h]
state_before: case h
n✝ m✝ m n : ℕ
inst✝ : NeZero n
h : m + m + 1 < n
⊢ ↑{ val := bit1 m, isLt := h } = ↑(bit1 { val := m, isLt := (_ : m < n) })
Theorem: Metric.bounded_iff_isBounded
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: change Bounded s ↔ sᶜ ∈ (cobounded α).sets
state_before: α : Type u
β : Type v
X : Type ?u.467547
ι : Type ?u.467550
inst✝ : PseudoMetricSpace α
x : α
s✝ t : Set α
r : ℝ
s : Set α
⊢ Bounded s ↔ IsBounded s

tactic: simp [PseudoMetricSpace.cobounded_sets, Metric.Bounded]
state_before: α : Type u
β : Type v
X : Type ?u.467547
ι : Type ?u.467550
inst✝ : PseudoMetricSpace α
x : α
s✝ t : Set α
r : ℝ
s : Set α
⊢ Bounded s ↔ sᶜ ∈ (cobounded α).sets
Theorem: List.get_append_right_aux
File: Std/Data/List/Lemmas.lean

tactic: rw [length_append] at h₂
state_before: α : Type u_1
l₁ l₂ : List α
n : Nat
h₁ : length l₁ ≤ n
h₂ : n < length (l₁ ++ l₂)
⊢ n - length l₁ < length l₂

tactic: exact Nat.sub_lt_left_of_lt_add h₁ h₂
state_before: α : Type u_1
l₁ l₂ : List α
n : Nat
h₁ : length l₁ ≤ n
h₂ : n < length l₁ + length l₂
⊢ n - length l₁ < length l₂
Theorem: Cardinal.power_le_power_left
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rintro ⟨α⟩ ⟨β⟩ ⟨γ⟩ hα ⟨e⟩
state_before: α β : Type u
⊢ ∀ {a b c : Cardinal}, a ≠ 0 → b ≤ c → a ^ b ≤ a ^ c

tactic: let ⟨a⟩ := mk_ne_zero_iff.1 hα
state_before: case mk.mk.mk.intro
α✝ β✝ : Type u
a✝ : Cardinal
α : Type u_1
b✝ : Cardinal
β : Type u_1
c✝ : Cardinal
γ : Type u_1
hα : Quot.mk Setoid.r α ≠ 0
e : β ↪ γ
⊢ Quot.mk Setoid.r α ^ Quot.mk Setoid.r β ≤ Quot.mk Setoid.r α ^ Quot.mk Setoid.r γ

tactic: exact ⟨@Function.Embedding.arrowCongrLeft _ _ _ ⟨a⟩ e⟩
state_before: case mk.mk.mk.intro
α✝ β✝ : Type u
a✝ : Cardinal
α : Type u_1
b✝ : Cardinal
β : Type u_1
c✝ : Cardinal
γ : Type u_1
hα : Quot.mk Setoid.r α ≠ 0
e : β ↪ γ
a : α
⊢ Quot.mk Setoid.r α ^ Quot.mk Setoid.r β ≤ Quot.mk Setoid.r α ^ Quot.mk Setoid.r γ
Theorem: edist_le_coe
File: Mathlib/Topology/MetricSpace/Basic.lean

tactic: rw [edist_nndist, ENNReal.coe_le_coe]
state_before: α : Type u
β : Type v
X : Type ?u.20756
ι : Type ?u.20759
inst✝ : PseudoMetricSpace α
x y : α
c : ℝ≥0
⊢ edist x y ≤ ↑c ↔ nndist x y ≤ c
Theorem: ContinuousLinearMap.add_comp
File: Mathlib/Topology/Algebra/Module/Basic.lean

tactic: ext
state_before: R₁ : Type u_5
R₂ : Type u_2
R₃ : Type u_3
inst✝¹⁸ : Semiring R₁
inst✝¹⁷ : Semiring R₂
inst✝¹⁶ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_6
inst✝¹⁵ : TopologicalSpace M₁
inst✝¹⁴ : AddCommMonoid M₁
M'₁ : Type ?u.524611
inst✝¹³ : TopologicalSpace M'₁
inst✝¹² : AddCommMonoid M'₁
M₂ : Type u_4
inst✝¹¹ : TopologicalSpace M₂
inst✝¹⁰ : AddCommMonoid M₂
M₃ : Type u_1
inst✝⁹ : TopologicalSpace M₃
inst✝⁸ : AddCommMonoid M₃
M₄ : Type ?u.524638
inst✝⁷ : TopologicalSpace M₄
inst✝⁶ : AddCommMonoid M₄
inst✝⁵ : Module R₁ M₁
inst✝⁴ : Module R₁ M'₁
inst✝³ : Module R₂ M₂
inst✝² : Module R₃ M₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : ContinuousAdd M₃
g₁ g₂ : M₂ →SL[σ₂₃] M₃
f : M₁ →SL[σ₁₂] M₂
⊢ comp (g₁ + g₂) f = comp g₁ f + comp g₂ f

tactic: simp
state_before: case h
R₁ : Type u_5
R₂ : Type u_2
R₃ : Type u_3
inst✝¹⁸ : Semiring R₁
inst✝¹⁷ : Semiring R₂
inst✝¹⁶ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
M₁ : Type u_6
inst✝¹⁵ : TopologicalSpace M₁
inst✝¹⁴ : AddCommMonoid M₁
M'₁ : Type ?u.524611
inst✝¹³ : TopologicalSpace M'₁
inst✝¹² : AddCommMonoid M'₁
M₂ : Type u_4
inst✝¹¹ : TopologicalSpace M₂
inst✝¹⁰ : AddCommMonoid M₂
M₃ : Type u_1
inst✝⁹ : TopologicalSpace M₃
inst✝⁸ : AddCommMonoid M₃
M₄ : Type ?u.524638
inst✝⁷ : TopologicalSpace M₄
inst✝⁶ : AddCommMonoid M₄
inst✝⁵ : Module R₁ M₁
inst✝⁴ : Module R₁ M'₁
inst✝³ : Module R₂ M₂
inst✝² : Module R₃ M₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : ContinuousAdd M₃
g₁ g₂ : M₂ →SL[σ₂₃] M₃
f : M₁ →SL[σ₁₂] M₂
x✝ : M₁
⊢ ↑(comp (g₁ + g₂) f) x✝ = ↑(comp g₁ f + comp g₂ f) x✝
Theorem: dist_le_of_le_geometric_two_of_tendsto
File: Mathlib/Analysis/SpecificLimits/Basic.lean

tactic: convert dist_le_tsum_of_dist_le_of_tendsto _ hu₂ (summable_geometric_two' C) ha n
state_before: α : Type u_1
β : Type ?u.457947
ι : Type ?u.457950
inst✝ : PseudoMetricSpace α
r C : ℝ
hr : r < 1
f : ℕ → α
hu : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C * r ^ n
hu₂ : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C / 2 / 2 ^ n
a : α
ha : Tendsto f atTop (𝓝 a)
n : ℕ
⊢ dist (f n) a ≤ C / 2 ^ n

tactic: simp only [add_comm n, pow_add, ← div_div]
state_before: case h.e'_4
α : Type u_1
β : Type ?u.457947
ι : Type ?u.457950
inst✝ : PseudoMetricSpace α
r C : ℝ
hr : r < 1
f : ℕ → α
hu : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C * r ^ n
hu₂ : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C / 2 / 2 ^ n
a : α
ha : Tendsto f atTop (𝓝 a)
n : ℕ
⊢ C / 2 ^ n = ∑' (m : ℕ), C / 2 / 2 ^ (n + m)

tactic: symm
state_before: case h.e'_4
α : Type u_1
β : Type ?u.457947
ι : Type ?u.457950
inst✝ : PseudoMetricSpace α
r C : ℝ
hr : r < 1
f : ℕ → α
hu : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C * r ^ n
hu₂ : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C / 2 / 2 ^ n
a : α
ha : Tendsto f atTop (𝓝 a)
n : ℕ
⊢ C / 2 ^ n = ∑' (m : ℕ), C / 2 / 2 ^ m / 2 ^ n

tactic: exact ((hasSum_geometric_two' C).div_const _).tsum_eq
state_before: case h.e'_4
α : Type u_1
β : Type ?u.457947
ι : Type ?u.457950
inst✝ : PseudoMetricSpace α
r C : ℝ
hr : r < 1
f : ℕ → α
hu : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C * r ^ n
hu₂ : ∀ (n : ℕ), dist (f n) (f (n + 1)) ≤ C / 2 / 2 ^ n
a : α
ha : Tendsto f atTop (𝓝 a)
n : ℕ
⊢ (∑' (m : ℕ), C / 2 / 2 ^ m / 2 ^ n) = C / 2 ^ n
Theorem: ENNReal.rpow_arith_mean_le_arith_mean2_rpow
File: Mathlib/Analysis/MeanInequalitiesPow.lean

tactic: have h := rpow_arith_mean_le_arith_mean_rpow univ ![w₁, w₂] ![z₁, z₂] ?_ hp
state_before: ι : Type u
s : Finset ι
w₁ w₂ z₁ z₂ : ℝ≥0∞
hw' : w₁ + w₂ = 1
p : ℝ
hp : 1 ≤ p
⊢ (w₁ * z₁ + w₂ * z₂) ^ p ≤ w₁ * z₁ ^ p + w₂ * z₂ ^ p

tactic: simpa [Fin.sum_univ_succ] using h
state_before: case refine_2
ι : Type u
s : Finset ι
w₁ w₂ z₁ z₂ : ℝ≥0∞
hw' : w₁ + w₂ = 1
p : ℝ
hp : 1 ≤ p
h :
  (∑ i : Fin (Nat.succ (Nat.succ 0)), Matrix.vecCons w₁ ![w₂] i * Matrix.vecCons z₁ ![z₂] i) ^ p ≤
    ∑ i : Fin (Nat.succ (Nat.succ 0)), Matrix.vecCons w₁ ![w₂] i * Matrix.vecCons z₁ ![z₂] i ^ p
⊢ (w₁ * z₁ + w₂ * z₂) ^ p ≤ w₁ * z₁ ^ p + w₂ * z₂ ^ p

tactic: simp [hw', Fin.sum_univ_succ]
state_before: case refine_1
ι : Type u
s : Finset ι
w₁ w₂ z₁ z₂ : ℝ≥0∞
hw' : w₁ + w₂ = 1
p : ℝ
hp : 1 ≤ p
⊢ ∑ i : Fin (Nat.succ (Nat.succ 0)), Matrix.vecCons w₁ ![w₂] i = 1
Theorem: Seminorm.ball_eq_emptyset
File: Mathlib/Analysis/Seminorm.lean

tactic: ext
state_before: R : Type ?u.1149982
R' : Type ?u.1149985
𝕜 : Type u_1
𝕜₂ : Type ?u.1149991
𝕜₃ : Type ?u.1149994
𝕝 : Type ?u.1149997
E : Type u_2
E₂ : Type ?u.1150003
E₃ : Type ?u.1150006
F : Type ?u.1150009
G : Type ?u.1150012
ι : Type ?u.1150015
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p✝ p : Seminorm 𝕜 E
x : E
r : ℝ
hr : r ≤ 0
⊢ ball p x r = ∅

tactic: rw [Seminorm.mem_ball, Set.mem_empty_iff_false, iff_false_iff, not_lt]
state_before: case h
R : Type ?u.1149982
R' : Type ?u.1149985
𝕜 : Type u_1
𝕜₂ : Type ?u.1149991
𝕜₃ : Type ?u.1149994
𝕝 : Type ?u.1149997
E : Type u_2
E₂ : Type ?u.1150003
E₃ : Type ?u.1150006
F : Type ?u.1150009
G : Type ?u.1150012
ι : Type ?u.1150015
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p✝ p : Seminorm 𝕜 E
x : E
r : ℝ
hr : r ≤ 0
x✝ : E
⊢ x✝ ∈ ball p x r ↔ x✝ ∈ ∅

tactic: exact hr.trans (map_nonneg p _)
state_before: case h
R : Type ?u.1149982
R' : Type ?u.1149985
𝕜 : Type u_1
𝕜₂ : Type ?u.1149991
𝕜₃ : Type ?u.1149994
𝕝 : Type ?u.1149997
E : Type u_2
E₂ : Type ?u.1150003
E₃ : Type ?u.1150006
F : Type ?u.1150009
G : Type ?u.1150012
ι : Type ?u.1150015
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p✝ p : Seminorm 𝕜 E
x : E
r : ℝ
hr : r ≤ 0
x✝ : E
⊢ r ≤ ↑p (x✝ - x)
Theorem: InnerProductSpace.Core.inner_self_ofReal_re
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [ext_iff, inner_self_im]
state_before: 𝕜 : Type u_1
E : Type ?u.547403
F : Type u_2
inst✝² : IsROrC 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x : F
⊢ ↑(↑re (inner x x)) = inner x x

tactic: norm_num
state_before: 𝕜 : Type u_1
E : Type ?u.547403
F : Type u_2
inst✝² : IsROrC 𝕜
inst✝¹ : AddCommGroup F
inst✝ : Module 𝕜 F
c : Core 𝕜 F
x : F
⊢ ↑re ↑(↑re (inner x x)) = ↑re (inner x x) ∧ ↑im ↑(↑re (inner x x)) = 0
Theorem: Hyperreal.infiniteNeg_mul_of_not_infinitesimal_pos_infiniteNeg
File: Mathlib/Data/Real/Hyperreal.lean

tactic: rw [mul_comm]
state_before: x y : ℝ*
hx : ¬Infinitesimal x
hp : 0 < x
hy : InfiniteNeg y
⊢ InfiniteNeg (x * y)

tactic: exact infiniteNeg_mul_of_infiniteNeg_not_infinitesimal_pos hy hx hp
state_before: x y : ℝ*
hx : ¬Infinitesimal x
hp : 0 < x
hy : InfiniteNeg y
⊢ InfiniteNeg (y * x)
Theorem: isCompact_iff_isCompact_univ
File: Mathlib/Topology/SubsetProperties.lean

tactic: rw [isCompact_iff_isCompact_in_subtype, image_univ, Subtype.range_coe]
state_before: α : Type u
β : Type v
ι : Type ?u.94686
π : ι → Type ?u.94691
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s : Set α
⊢ IsCompact s ↔ IsCompact univ
Theorem: HasFPowerSeriesOnBall.tendstoUniformlyOn'
File: Mathlib/Analysis/Analytic/Basic.lean

tactic: convert (hf.tendstoUniformlyOn h).comp fun y => y - x using 1
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.994563
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r'✝ : ℝ≥0∞
r' : ℝ≥0
hf : HasFPowerSeriesOnBall f p x r
h : ↑r' < r
⊢ TendstoUniformlyOn (fun n y => FormalMultilinearSeries.partialSum p n (y - x)) f atTop (Metric.ball x ↑r')

tactic: ext z
state_before: case h.e'_8
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.994563
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r'✝ : ℝ≥0∞
r' : ℝ≥0
hf : HasFPowerSeriesOnBall f p x r
h : ↑r' < r
⊢ Metric.ball x ↑r' = (fun y => y - x) ⁻¹' Metric.ball 0 ↑r'

tactic: simp [dist_eq_norm]
state_before: case h.e'_8.h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.994563
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r'✝ : ℝ≥0∞
r' : ℝ≥0
hf : HasFPowerSeriesOnBall f p x r
h : ↑r' < r
z : E
⊢ z ∈ Metric.ball x ↑r' ↔ z ∈ (fun y => y - x) ⁻¹' Metric.ball 0 ↑r'
Theorem: SimpleGraph.Subgraph.isPerfectMatching_iff_forall_degree
File: Mathlib/Combinatorics/SimpleGraph/Matching.lean

tactic: simp [degree_eq_one_iff_unique_adj, isPerfectMatching_iff]
state_before: V : Type u
G : SimpleGraph V
M✝ M : Subgraph G
inst✝ : (v : V) → Fintype ↑(neighborSet M v)
⊢ IsPerfectMatching M ↔ ∀ (v : V), degree M v = 1
Theorem: Basis.reindex_apply
File: Mathlib/LinearAlgebra/Basis.lean

tactic: rw [LinearEquiv.symm_trans_apply, Finsupp.domLCongr_symm, Finsupp.domLCongr_single]
state_before: ι : Type u_4
ι' : Type u_2
R : Type u_3
R₂ : Type ?u.344299
K : Type ?u.344302
M : Type u_1
M' : Type ?u.344308
M'' : Type ?u.344311
V : Type u
V' : Type ?u.344316
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
b' : Basis ι' R M'
e : ι ≃ ι'
i' : ι'
⊢ ↑(LinearEquiv.symm (LinearEquiv.trans b.repr (Finsupp.domLCongr e))) (Finsupp.single i' 1) =
    ↑(LinearEquiv.symm b.repr) (Finsupp.single (↑e.symm i') 1)
Theorem: Filter.isCountablyGenerated_pure
File: Mathlib/Order/Filter/Bases.lean

tactic: rw [← principal_singleton]
state_before: α : Type u_1
β : Type ?u.111166
γ : Type ?u.111169
ι : Type ?u.111172
ι' : Sort ?u.111175
a : α
⊢ IsCountablyGenerated (pure a)

tactic: exact isCountablyGenerated_principal _
state_before: α : Type u_1
β : Type ?u.111166
γ : Type ?u.111169
ι : Type ?u.111172
ι' : Sort ?u.111175
a : α
⊢ IsCountablyGenerated (𝓟 {a})
Theorem: CategoryTheory.MorphismProperty.StableUnderComposition.isomorphisms
File: Mathlib/CategoryTheory/MorphismProperty.lean

tactic: rw [isomorphisms.iff] at hf hg⊢
state_before: C : Type u
inst✝¹ : Category C
D : Type ?u.62388
inst✝ : Category D
X Y Z : C
f : X ⟶ Y
g : Y ⟶ Z
hf : MorphismProperty.isomorphisms C f
hg : MorphismProperty.isomorphisms C g
⊢ MorphismProperty.isomorphisms C (f ≫ g)

tactic: haveI := hf
state_before: C : Type u
inst✝¹ : Category C
D : Type ?u.62388
inst✝ : Category D
X Y Z : C
f : X ⟶ Y
g : Y ⟶ Z
hf : IsIso f
hg : IsIso g
⊢ IsIso (f ≫ g)

tactic: haveI := hg
state_before: C : Type u
inst✝¹ : Category C
D : Type ?u.62388
inst✝ : Category D
X Y Z : C
f : X ⟶ Y
g : Y ⟶ Z
hf : IsIso f
hg : IsIso g
this : IsIso f
⊢ IsIso (f ≫ g)

tactic: infer_instance
state_before: C : Type u
inst✝¹ : Category C
D : Type ?u.62388
inst✝ : Category D
X Y Z : C
f : X ⟶ Y
g : Y ⟶ Z
hf : IsIso f
hg : IsIso g
this✝ : IsIso f
this : IsIso g
⊢ IsIso (f ≫ g)
Theorem: Set.Ioo.one_minus_pos
File: Mathlib/Data/Set/Intervals/Instances.lean

tactic: simpa using x.2.2
state_before: α : Type ?u.65525
inst✝¹ : StrictOrderedSemiring α
β : Type u_1
inst✝ : OrderedRing β
x : ↑(Ioo 0 1)
⊢ 0 < 1 - ↑x
Theorem: MvPolynomial.sum_homogeneousComponent
File: Mathlib/RingTheory/MvPolynomial/Homogeneous.lean

tactic: ext1 d
state_before: σ : Type u_1
τ : Type ?u.360896
R : Type u_2
S : Type ?u.360902
inst✝ : CommSemiring R
n : ℕ
φ ψ : MvPolynomial σ R
⊢ ∑ i in range (totalDegree φ + 1), ↑(homogeneousComponent i) φ = φ

tactic: suffices φ.totalDegree < d.support.sum d → 0 = coeff d φ by
  simpa [coeff_sum, coeff_homogeneousComponent]
state_before: case a
σ : Type u_1
τ : Type ?u.360896
R : Type u_2
S : Type ?u.360902
inst✝ : CommSemiring R
n : ℕ
φ ψ : MvPolynomial σ R
d : σ →₀ ℕ
⊢ coeff d (∑ i in range (totalDegree φ + 1), ↑(homogeneousComponent i) φ) = coeff d φ

tactic: exact fun h => (coeff_eq_zero_of_totalDegree_lt h).symm
state_before: case a
σ : Type u_1
τ : Type ?u.360896
R : Type u_2
S : Type ?u.360902
inst✝ : CommSemiring R
n : ℕ
φ ψ : MvPolynomial σ R
d : σ →₀ ℕ
⊢ totalDegree φ < Finset.sum d.support ↑d → 0 = coeff d φ

tactic: simpa [coeff_sum, coeff_homogeneousComponent]
state_before: σ : Type u_1
τ : Type ?u.360896
R : Type u_2
S : Type ?u.360902
inst✝ : CommSemiring R
n : ℕ
φ ψ : MvPolynomial σ R
d : σ →₀ ℕ
this : totalDegree φ < Finset.sum d.support ↑d → 0 = coeff d φ
⊢ coeff d (∑ i in range (totalDegree φ + 1), ↑(homogeneousComponent i) φ) = coeff d φ
Theorem: Dfinsupp.single_eq_same
File: Mathlib/Data/Dfinsupp/Basic.lean

tactic: simp only [single_apply, dite_eq_ite, ite_true]
state_before: ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
dec : DecidableEq ι
inst✝ : (i : ι) → Zero (β i)
s : Finset ι
x : (i : ↑↑s) → β ↑i
i✝ i : ι
b : β i
⊢ ↑(single i b) i = b
Theorem: PowerBasis.minpolyGen_eq
File: Mathlib/RingTheory/PowerBasis.lean

tactic: nontriviality A
state_before: R : Type ?u.135537
S : Type u_2
T : Type ?u.135543
inst✝⁸ : CommRing R
inst✝⁷ : Ring S
inst✝⁶ : Algebra R S
A : Type u_1
B : Type ?u.135849
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : IsDomain B
inst✝² : Algebra A B
K : Type ?u.136271
inst✝¹ : Field K
inst✝ : Algebra A S
pb : PowerBasis A S
⊢ minpolyGen pb = minpoly A pb.gen

tactic: refine' minpoly.unique' A _ pb.minpolyGen_monic pb.aeval_minpolyGen fun q hq =>
  or_iff_not_imp_left.2 fun hn0 h0 => _
state_before: R : Type ?u.135537
S : Type u_2
T : Type ?u.135543
inst✝⁸ : CommRing R
inst✝⁷ : Ring S
inst✝⁶ : Algebra R S
A : Type u_1
B : Type ?u.135849
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : IsDomain B
inst✝² : Algebra A B
K : Type ?u.136271
inst✝¹ : Field K
inst✝ : Algebra A S
pb : PowerBasis A S
✝ : Nontrivial A
⊢ minpolyGen pb = minpoly A pb.gen

tactic: exact (pb.dim_le_degree_of_root hn0 h0).not_lt (pb.degree_minpolyGen ▸ hq)
state_before: R : Type ?u.135537
S : Type u_2
T : Type ?u.135543
inst✝⁸ : CommRing R
inst✝⁷ : Ring S
inst✝⁶ : Algebra R S
A : Type u_1
B : Type ?u.135849
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : IsDomain B
inst✝² : Algebra A B
K : Type ?u.136271
inst✝¹ : Field K
inst✝ : Algebra A S
pb : PowerBasis A S
✝ : Nontrivial A
q : A[X]
hq : degree q < degree (minpolyGen pb)
hn0 : ¬q = 0
h0 : ↑(aeval pb.gen) q = 0
⊢ False