tasksource/leandojo huggingface dataset:
Theorem: Submodule.map_add_le
File: Mathlib/LinearAlgebra/Basic.lean

tactic: rintro x ⟨m, hm, rfl⟩
state_before: R : Type u_1
R₁ : Type ?u.488097
R₂ : Type u_2
R₃ : Type ?u.488103
R₄ : Type ?u.488106
S : Type ?u.488109
K : Type ?u.488112
K₂ : Type ?u.488115
M : Type u_3
M' : Type ?u.488121
M₁ : Type ?u.488124
M₂ : Type u_4
M₃ : Type ?u.488130
M₄ : Type ?u.488133
N : Type ?u.488136
N₂ : Type ?u.488139
ι : Type ?u.488142
V : Type ?u.488145
V₂ : Type ?u.488148
inst✝¹⁴ : Semiring R
inst✝¹³ : Semiring R₂
inst✝¹² : Semiring R₃
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₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
σ₂₁ : R₂ →+* R
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
p p' : Submodule R M
q q' : Submodule R₂ M₂
q₁ q₁' : Submodule R M'
r : R
x y : M
inst✝ : RingHomSurjective σ₁₂
F : Type ?u.488729
sc : SemilinearMapClass F σ₁₂ M M₂
f g : M →ₛₗ[σ₁₂] M₂
⊢ map (f + g) p ≤ map f p ⊔ map g p

tactic: exact add_mem_sup (mem_map_of_mem hm) (mem_map_of_mem hm)
state_before: case intro.intro
R : Type u_1
R₁ : Type ?u.488097
R₂ : Type u_2
R₃ : Type ?u.488103
R₄ : Type ?u.488106
S : Type ?u.488109
K : Type ?u.488112
K₂ : Type ?u.488115
M : Type u_3
M' : Type ?u.488121
M₁ : Type ?u.488124
M₂ : Type u_4
M₃ : Type ?u.488130
M₄ : Type ?u.488133
N : Type ?u.488136
N₂ : Type ?u.488139
ι : Type ?u.488142
V : Type ?u.488145
V₂ : Type ?u.488148
inst✝¹⁴ : Semiring R
inst✝¹³ : Semiring R₂
inst✝¹² : Semiring R₃
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₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
σ₂₁ : R₂ →+* R
inst✝³ : RingHomInvPair σ₁₂ σ₂₁
inst✝² : RingHomInvPair σ₂₁ σ₁₂
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
p p' : Submodule R M
q q' : Submodule R₂ M₂
q₁ q₁' : Submodule R M'
r : R
x y : M
inst✝ : RingHomSurjective σ₁₂
F : Type ?u.488729
sc : SemilinearMapClass F σ₁₂ M M₂
f g : M →ₛₗ[σ₁₂] M₂
m : M
hm : m ∈ ↑p
⊢ ↑(f + g) m ∈ map f p ⊔ map g p
Theorem: tendsto_pow_const_mul_const_pow_of_abs_lt_one
File: Mathlib/Analysis/SpecificLimits/Normed.lean

tactic: by_cases h0 : r = 0
state_before: α : Type ?u.120365
β : Type ?u.120368
ι : Type ?u.120371
k : ℕ
r : ℝ
hr : abs r < 1
⊢ Tendsto (fun n => ↑n ^ k * r ^ n) atTop (𝓝 0)

tactic: have hr' : 1 < (|r|)⁻¹ := one_lt_inv (abs_pos.2 h0) hr
state_before: case neg
α : Type ?u.120365
β : Type ?u.120368
ι : Type ?u.120371
k : ℕ
r : ℝ
hr : abs r < 1
h0 : ¬r = 0
⊢ Tendsto (fun n => ↑n ^ k * r ^ n) atTop (𝓝 0)

tactic: rw [tendsto_zero_iff_norm_tendsto_zero]
state_before: case neg
α : Type ?u.120365
β : Type ?u.120368
ι : Type ?u.120371
k : ℕ
r : ℝ
hr : abs r < 1
h0 : ¬r = 0
hr' : 1 < (abs r)⁻¹
⊢ Tendsto (fun n => ↑n ^ k * r ^ n) atTop (𝓝 0)

tactic: simpa [div_eq_mul_inv] using tendsto_pow_const_div_const_pow_of_one_lt k hr'
state_before: case neg
α : Type ?u.120365
β : Type ?u.120368
ι : Type ?u.120371
k : ℕ
r : ℝ
hr : abs r < 1
h0 : ¬r = 0
hr' : 1 < (abs r)⁻¹
⊢ Tendsto (fun e => ‖↑e ^ k * r ^ e‖) atTop (𝓝 0)

tactic: exact tendsto_const_nhds.congr'
  (mem_atTop_sets.2 ⟨1, fun n hn ↦ by simp [zero_lt_one.trans_le hn, h0]⟩)
state_before: case pos
α : Type ?u.120365
β : Type ?u.120368
ι : Type ?u.120371
k : ℕ
r : ℝ
hr : abs r < 1
h0 : r = 0
⊢ Tendsto (fun n => ↑n ^ k * r ^ n) atTop (𝓝 0)

tactic: simp [zero_lt_one.trans_le hn, h0]
state_before: α : Type ?u.120365
β : Type ?u.120368
ι : Type ?u.120371
k : ℕ
r : ℝ
hr : abs r < 1
h0 : r = 0
n : ℕ
hn : n ≥ 1
⊢ n ∈ {x | (fun x => 0 = (fun n => ↑n ^ k * r ^ n) x) x}
Theorem: List.sublists'_map
File: Mathlib/Data/List/Sublists.lean

tactic: simp
state_before: α : Type u
β : Type v
γ : Type w
f : α → β
⊢ sublists' (map f []) = map (map f) (sublists' [])

tactic: simp [map_cons, sublists'_cons, sublists'_map f l, Function.comp]
state_before: α : Type u
β : Type v
γ : Type w
f : α → β
a : α
l : List α
⊢ sublists' (map f (a :: l)) = map (map f) (sublists' (a :: l))
Theorem: Std.RBNode.foldr_cons
File: Std/Data/RBMap/Lemmas.lean

tactic: unfold toList
state_before: α : Type u_1
t : RBNode α
l : List α
⊢ foldr (fun x x_1 => x :: x_1) t l = toList t ++ l

tactic: induction t generalizing l with
| nil => rfl
| node _ a _ b iha ihb => rw [foldr, foldr, iha, iha (_::_), ihb]; simp
state_before: α : Type u_1
t : RBNode α
l : List α
⊢ foldr (fun x x_1 => x :: x_1) t l = foldr (fun x x_1 => x :: x_1) t [] ++ l

tactic: rfl
state_before: case nil
α : Type u_1
l : List α
⊢ foldr (fun x x_1 => x :: x_1) nil l = foldr (fun x x_1 => x :: x_1) nil [] ++ l

tactic: rw [foldr, foldr, iha, iha (_::_), ihb]
state_before: case node
α : Type u_1
c✝ : RBColor
a : RBNode α
v✝ : α
b : RBNode α
iha : ∀ (l : List α), foldr (fun x x_1 => x :: x_1) a l = foldr (fun x x_1 => x :: x_1) a [] ++ l
ihb : ∀ (l : List α), foldr (fun x x_1 => x :: x_1) b l = foldr (fun x x_1 => x :: x_1) b [] ++ l
l : List α
⊢ foldr (fun x x_1 => x :: x_1) (node c✝ a v✝ b) l = foldr (fun x x_1 => x :: x_1) (node c✝ a v✝ b) [] ++ l

tactic: simp
state_before: case node
α : Type u_1
c✝ : RBColor
a : RBNode α
v✝ : α
b : RBNode α
iha : ∀ (l : List α), foldr (fun x x_1 => x :: x_1) a l = foldr (fun x x_1 => x :: x_1) a [] ++ l
ihb : ∀ (l : List α), foldr (fun x x_1 => x :: x_1) b l = foldr (fun x x_1 => x :: x_1) b [] ++ l
l : List α
⊢ foldr (fun x x_1 => x :: x_1) a [] ++ v✝ :: (foldr (fun x x_1 => x :: x_1) b [] ++ l) =
    foldr (fun x x_1 => x :: x_1) a [] ++ v✝ :: foldr (fun x x_1 => x :: x_1) b [] ++ l
Theorem: FirstOrder.Language.ElementaryEmbedding.map_formula
File: Mathlib/ModelTheory/ElementaryMaps.lean

tactic: rw [Formula.Realize, Formula.Realize, ← f.map_boundedFormula, Unique.eq_default (f ∘ default)]
state_before: L : Language
M : Type u_3
N : Type u_4
P : Type ?u.238691
Q : Type ?u.238694
inst✝³ : Structure L M
inst✝² : Structure L N
inst✝¹ : Structure L P
inst✝ : Structure L Q
f : M ↪ₑ[L] N
α : Type u_5
φ : Formula L α
x : α → M
⊢ Formula.Realize φ (↑f ∘ x) ↔ Formula.Realize φ x
Theorem: intervalIntegral.integral_comp_div_add
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: simpa only [div_eq_inv_mul, inv_inv] using integral_comp_mul_add f (inv_ne_zero hc) d
state_before: ι : Type ?u.14892009
𝕜 : Type ?u.14892012
E : Type u_1
F : Type ?u.14892018
A : Type ?u.14892021
inst✝² : NormedAddCommGroup E
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
a b c d✝ : ℝ
f : ℝ → E
hc : c ≠ 0
d : ℝ
⊢ (∫ (x : ℝ) in a..b, f (x / c + d)) = c • ∫ (x : ℝ) in a / c + d..b / c + d, f x
Theorem: one_lt_of_lt_mul_left
File: Mathlib/Algebra/Order/Monoid/Lemmas.lean

tactic: simpa only [one_mul]
state_before: α : Type u_1
β : Type ?u.23830
inst✝² : MulOneClass α
inst✝¹ : LT α
inst✝ : ContravariantClass α α (swap fun x x_1 => x * x_1) fun x x_1 => x < x_1
a b : α
h : b < a * b
⊢ 1 * ?m.24201 h < a * ?m.24201 h
Theorem: MeasureTheory.measure_add_diff
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [← measure_union' (@disjoint_sdiff_right _ s t) hs, union_diff_self]
state_before: α : Type u_1
β : Type ?u.21168
γ : Type ?u.21171
δ : Type ?u.21174
ι : Type ?u.21177
R : Type ?u.21180
R' : Type ?u.21183
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t✝ : Set α
hs : MeasurableSet s
t : Set α
⊢ ↑↑μ s + ↑↑μ (t \ s) = ↑↑μ (s ∪ t)
Theorem: ProbabilityTheory.measure_eq_zero_or_one_of_indepSetCat_self
File: Mathlib/Probability/Independence/ZeroOne.lean

tactic: have h_0_1_top := measure_eq_zero_or_one_or_top_of_indepSet_self h_indep
state_before: Ω : Type u_1
ι : Type ?u.108607
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsFiniteMeasure μ
t : Set Ω
h_indep : IndepSet t t
⊢ ↑↑μ t = 0 ∨ ↑↑μ t = 1

tactic: simpa [measure_ne_top μ] using h_0_1_top
state_before: Ω : Type u_1
ι : Type ?u.108607
m m0 : MeasurableSpace Ω
μ : MeasureTheory.Measure Ω
inst✝ : IsFiniteMeasure μ
t : Set Ω
h_indep : IndepSet t t
h_0_1_top : ↑↑μ t = 0 ∨ ↑↑μ t = 1 ∨ ↑↑μ t = ⊤
⊢ ↑↑μ t = 0 ∨ ↑↑μ t = 1
Theorem: Nat.cast_choose
File: Mathlib/Data/Nat/Choose/Cast.lean

tactic: have : ∀ {n : ℕ}, (n ! : K) ≠ 0 := Nat.cast_ne_zero.2 (factorial_ne_zero _)
state_before: K : Type u_1
inst✝¹ : DivisionRing K
inst✝ : CharZero K
a b : ℕ
h : a ≤ b
⊢ ↑(choose b a) = ↑b ! / (↑a ! * ↑(b - a)!)

tactic: rw [eq_div_iff_mul_eq (mul_ne_zero this this)]
state_before: K : Type u_1
inst✝¹ : DivisionRing K
inst✝ : CharZero K
a b : ℕ
h : a ≤ b
this : ∀ {n : ℕ}, ↑n ! ≠ 0
⊢ ↑(choose b a) = ↑b ! / (↑a ! * ↑(b - a)!)

tactic: rw_mod_cast [← mul_assoc, choose_mul_factorial_mul_factorial h]
state_before: K : Type u_1
inst✝¹ : DivisionRing K
inst✝ : CharZero K
a b : ℕ
h : a ≤ b
this : ∀ {n : ℕ}, ↑n ! ≠ 0
⊢ ↑(choose b a) * (↑a ! * ↑(b - a)!) = ↑b !
Theorem: Sum.map_traverse
File: Mathlib/Control/Traversable/Instances.lean

tactic: cases x <;> simp [Sum.traverse, id_map, functor_norm] <;> congr
state_before: σ : Type u
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
α : Type u_1
β γ : Type u
g : α → G β
f : β → γ
x : σ ⊕ α
⊢ (fun x x_1 => x <$> x_1) f <$> Sum.traverse g x = Sum.traverse ((fun x x_1 => x <$> x_1) f ∘ g) x
Theorem: Stream'.WSeq.destruct_flatten
File: Mathlib/Data/Seq/WSeq.lean

tactic: refine'
  Computation.eq_of_bisim
    (fun c1 c2 => c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct) _
    (Or.inr ⟨c, rfl, rfl⟩)
state_before: α : Type u
β : Type v
γ : Type w
c : Computation (WSeq α)
⊢ destruct (flatten c) = c >>= destruct

tactic: intro c1 c2 h
state_before: α : Type u
β : Type v
γ : Type w
c : Computation (WSeq α)
⊢ Computation.IsBisimulation fun c1 c2 => c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct

tactic: cases c.destruct <;> simp
state_before: α : Type u
β : Type v
γ : Type w
c✝ : Computation (WSeq α)
c1 c2 : Computation (Option (α × WSeq α))
h : c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct
c : Computation (Option (α × WSeq α))
⊢ Computation.BisimO (fun c1 c2 => c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct)
    (Computation.destruct c) (Computation.destruct c)

tactic: induction' c using Computation.recOn with a c' <;> simp
state_before: α : Type u
β : Type v
γ : Type w
c✝ : Computation (WSeq α)
c1 c2 : Computation (Option (α × WSeq α))
h : c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct
c : Computation (WSeq α)
⊢ Computation.BisimO (fun c1 c2 => c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct)
    (Computation.destruct (destruct (flatten c))) (Computation.destruct (Computation.bind c destruct))

tactic: cases (destruct a).destruct <;> simp
state_before: case h1
α : Type u
β : Type v
γ : Type w
c : Computation (WSeq α)
c1 c2 : Computation (Option (α × WSeq α))
h : c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct
a : WSeq α
⊢ match Computation.destruct (destruct a), Computation.destruct (destruct a) with
  | Sum.inl a, Sum.inl a' => a = a'
  | Sum.inr s, Sum.inr s' => s = s' ∨ ∃ c, s = destruct (flatten c) ∧ s' = Computation.bind c destruct
  | x, x_1 => False

tactic: exact Or.inr ⟨c', rfl, rfl⟩
state_before: case h2
α : Type u
β : Type v
γ : Type w
c : Computation (WSeq α)
c1 c2 : Computation (Option (α × WSeq α))
h : c1 = c2 ∨ ∃ c, c1 = destruct (flatten c) ∧ c2 = Computation.bind c destruct
c' : Computation (WSeq α)
⊢ destruct (flatten c') = Computation.bind c' destruct ∨
    ∃ c, destruct (flatten c') = destruct (flatten c) ∧ Computation.bind c' destruct = Computation.bind c destruct
Theorem: wbtw_lineMap_iff
File: Mathlib/Analysis/Convex/Between.lean

tactic: by_cases hxy : x = y
state_before: R : Type u_1
V : Type u_2
V' : Type ?u.236526
P : Type u_3
P' : Type ?u.236532
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
⊢ Wbtw R x (↑(lineMap x y) r) y ↔ x = y ∨ r ∈ Set.Icc 0 1

tactic: rw [or_iff_right hxy, Wbtw, affineSegment, (lineMap_injective R hxy).mem_set_image]
state_before: case neg
R : Type u_1
V : Type u_2
V' : Type ?u.236526
P : Type u_3
P' : Type ?u.236532
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
hxy : ¬x = y
⊢ Wbtw R x (↑(lineMap x y) r) y ↔ x = y ∨ r ∈ Set.Icc 0 1

tactic: rw [hxy, lineMap_same_apply]
state_before: case pos
R : Type u_1
V : Type u_2
V' : Type ?u.236526
P : Type u_3
P' : Type ?u.236532
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
hxy : x = y
⊢ Wbtw R x (↑(lineMap x y) r) y ↔ x = y ∨ r ∈ Set.Icc 0 1

tactic: simp
state_before: case pos
R : Type u_1
V : Type u_2
V' : Type ?u.236526
P : Type u_3
P' : Type ?u.236532
inst✝⁷ : OrderedRing R
inst✝⁶ : AddCommGroup V
inst✝⁵ : Module R V
inst✝⁴ : AddTorsor V P
inst✝³ : AddCommGroup V'
inst✝² : Module R V'
inst✝¹ : AddTorsor V' P'
inst✝ : NoZeroSMulDivisors R V
x y : P
r : R
hxy : x = y
⊢ Wbtw R y y y ↔ y = y ∨ r ∈ Set.Icc 0 1
Theorem: Ideal.factors_decreasing
File: Mathlib/RingTheory/Ideal/Basic.lean

tactic: rwa [mul_one, ← Ideal.span_singleton_le_span_singleton]
state_before: α : Type u
β : Type v
a b : α
inst✝² : CommSemiring α
I : Ideal α
inst✝¹ : CommRing β
inst✝ : IsDomain β
b₁ b₂ : β
h₁ : b₁ ≠ 0
h₂ : ¬IsUnit b₂
h : span {b₁} ≤ span {b₁ * b₂}
⊢ b₁ * b₂ ∣ b₁ * 1
Theorem: Real.sqrt_one
File: Mathlib/Data/Real/Sqrt.lean

tactic: simp [sqrt]
state_before: x y : ℝ
⊢ sqrt 1 = 1
Theorem: PiNat.dist_eq_of_ne
File: Mathlib/Topology/MetricSpace/PiNat.lean

tactic: simp [dist, h]
state_before: E : ℕ → Type u_1
x y : (n : ℕ) → E n
h : x ≠ y
⊢ dist x y = (1 / 2) ^ firstDiff x y
Theorem: Quaternion.summable_coe
File: Mathlib/Analysis/Quaternion.lean

tactic: simpa only using
  Summable.map_iff_of_leftInverse (algebraMap ℝ ℍ) (show ℍ →ₗ[ℝ] ℝ from QuaternionAlgebra.reₗ _ _)
    (continuous_algebraMap _ _) continuous_re coe_re
state_before: α : Type u_1
f : α → ℝ
⊢ (Summable fun a => ↑(f a)) ↔ Summable f
Theorem: FreeGroup.reduce.min
File: Mathlib/GroupTheory/FreeGroup.lean

tactic: induction' H with L1 L' L2 H1 H2 ih
state_before: α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
H : Red (reduce L₁) L₂
⊢ reduce L₁ = L₂

tactic: rfl
state_before: case refl
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
⊢ reduce L₁ = reduce L₁

tactic: cases' H1 with L4 L5 x b
state_before: case tail
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
L1 L' : List (α × Bool)
L2 : ReflTransGen Red.Step (reduce L₁) L1
H1 : Red.Step L1 L'
H2 : reduce L₁ = L1
⊢ reduce L₁ = L'

tactic: exact reduce.not H2
state_before: case tail.not
α : Type u
L L₁ L₂ L₃ L₄ : List (α × Bool)
inst✝ : DecidableEq α
L4 L5 : List (α × Bool)
x : α
b : Bool
L2 : ReflTransGen Red.Step (reduce L₁) (L4 ++ (x, b) :: (x, !b) :: L5)
H2 : reduce L₁ = L4 ++ (x, b) :: (x, !b) :: L5
⊢ reduce L₁ = L4 ++ L5
Theorem: Cardinal.isSuccLimit_aleph0
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rcases lt_aleph0.1 ha with ⟨n, rfl⟩
state_before: α β : Type u
a : Cardinal
ha : a < ℵ₀
⊢ succ a < ℵ₀

tactic: rw [← nat_succ]
state_before: case intro
α β : Type u
n : ℕ
ha : ↑n < ℵ₀
⊢ succ ↑n < ℵ₀

tactic: apply nat_lt_aleph0
state_before: case intro
α β : Type u
n : ℕ
ha : ↑n < ℵ₀
⊢ ↑(Nat.succ n) < ℵ₀
Theorem: IsOpen.exists_subset_affineIndependent_span_eq_top
File: Mathlib/Analysis/NormedSpace/AddTorsorBases.lean

tactic: rcases hne with ⟨x, hx⟩
state_before: V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
u : Set P
hu : IsOpen u
hne : Set.Nonempty u
⊢ ∃ s x, AffineIndependent ℝ Subtype.val ∧ affineSpan ℝ s = ⊤

tactic: rcases hu.exists_between_affineIndependent_span_eq_top (singleton_subset_iff.mpr hx)
  (singleton_nonempty _) (affineIndependent_of_subsingleton _ _) with ⟨s, -, hsu, hs⟩
state_before: case intro
V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
u : Set P
hu : IsOpen u
x : P
hx : x ∈ u
⊢ ∃ s x, AffineIndependent ℝ Subtype.val ∧ affineSpan ℝ s = ⊤

tactic: exact ⟨s, hsu, hs⟩
state_before: case intro.intro.intro.intro
V : Type u_2
P : Type u_1
inst✝³ : NormedAddCommGroup V
inst✝² : NormedSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
u : Set P
hu : IsOpen u
x : P
hx : x ∈ u
s : Set P
hsu : s ⊆ u
hs : AffineIndependent ℝ Subtype.val ∧ affineSpan ℝ s = ⊤
⊢ ∃ s x, AffineIndependent ℝ Subtype.val ∧ affineSpan ℝ s = ⊤
Theorem: comap_coe_nhdsWithin_Ioi_of_Ioo_subset
File: Mathlib/Topology/Order/Basic.lean

tactic: simpa only [OrderDual.exists, dual_Ioo] using hs h
state_before: α : Type u
β : Type v
γ : Type w
inst✝³ : TopologicalSpace α
inst✝² : LinearOrder α
inst✝¹ : OrderTopology α
inst✝ : DenselyOrdered α
a b : α
s : Set α
ha : s ⊆ Ioi a
hs : Set.Nonempty s → ∃ b, b > a ∧ Ioo a b ⊆ s
h : Set.Nonempty (↑ofDual ⁻¹' s)
⊢ ∃ a_1, a_1 < ↑toDual a ∧ Ioo a_1 (↑toDual a) ⊆ ↑ofDual ⁻¹' s
Theorem: div_eq_inv_mul
File: Mathlib/Algebra/Group/Basic.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.30968
G : Type ?u.30971
inst✝ : DivisionCommMonoid α
a b c d : α
⊢ a / b = b⁻¹ * a
Theorem: Polynomial.coeff_contract
File: Mathlib/Data/Polynomial/Expand.lean

tactic: simp only [contract, coeff_monomial, sum_ite_eq', finset_sum_coeff, mem_range, not_lt,
  ite_eq_left_iff]
state_before: R : Type u
inst✝¹ : CommSemiring R
S : Type v
inst✝ : CommSemiring S
p✝ q p : ℕ
hp : p ≠ 0
f : R[X]
n : ℕ
⊢ coeff (contract p f) n = coeff f (n * p)

tactic: intro hn
state_before: R : Type u
inst✝¹ : CommSemiring R
S : Type v
inst✝ : CommSemiring S
p✝ q p : ℕ
hp : p ≠ 0
f : R[X]
n : ℕ
⊢ natDegree f + 1 ≤ n → 0 = coeff f (n * p)

tactic: apply (coeff_eq_zero_of_natDegree_lt _).symm
state_before: R : Type u
inst✝¹ : CommSemiring R
S : Type v
inst✝ : CommSemiring S
p✝ q p : ℕ
hp : p ≠ 0
f : R[X]
n : ℕ
hn : natDegree f + 1 ≤ n
⊢ 0 = coeff f (n * p)

tactic: calc
  f.natDegree < f.natDegree + 1 := Nat.lt_succ_self _
  _ ≤ n * 1 := by simpa only [mul_one] using hn
  _ ≤ n * p := mul_le_mul_of_nonneg_left (show 1 ≤ p from hp.bot_lt) (zero_le n)
state_before: R : Type u
inst✝¹ : CommSemiring R
S : Type v
inst✝ : CommSemiring S
p✝ q p : ℕ
hp : p ≠ 0
f : R[X]
n : ℕ
hn : natDegree f + 1 ≤ n
⊢ natDegree f < n * p

tactic: simpa only [mul_one] using hn
state_before: R : Type u
inst✝¹ : CommSemiring R
S : Type v
inst✝ : CommSemiring S
p✝ q p : ℕ
hp : p ≠ 0
f : R[X]
n : ℕ
hn : natDegree f + 1 ≤ n
⊢ natDegree f + 1 ≤ n * 1
Theorem: affinity_unitClosedBall
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

tactic: rw [smul_closedUnitBall, Real.norm_of_nonneg hr, vadd_closedBall_zero]
state_before: 𝕜 : Type ?u.1782138
E : Type u_1
inst✝³ : NormedField 𝕜
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : NormedSpace ℝ E
r : ℝ
hr : 0 ≤ r
x : E
⊢ x +ᵥ r • closedBall 0 1 = closedBall x r
Theorem: Matrix.mulVec_add
File: Mathlib/Data/Matrix/Basic.lean

tactic: ext
state_before: l : Type ?u.856313
m : Type u_2
n : Type u_1
o : Type ?u.856322
m' : o → Type ?u.856327
n' : o → Type ?u.856332
R : Type ?u.856335
S : Type ?u.856338
α : Type v
β : Type w
γ : Type ?u.856345
inst✝¹ : NonUnitalNonAssocSemiring α
inst✝ : Fintype n
A : Matrix m n α
x y : n → α
⊢ mulVec A (x + y) = mulVec A x + mulVec A y

tactic: apply dotProduct_add
state_before: case h
l : Type ?u.856313
m : Type u_2
n : Type u_1
o : Type ?u.856322
m' : o → Type ?u.856327
n' : o → Type ?u.856332
R : Type ?u.856335
S : Type ?u.856338
α : Type v
β : Type w
γ : Type ?u.856345
inst✝¹ : NonUnitalNonAssocSemiring α
inst✝ : Fintype n
A : Matrix m n α
x y : n → α
x✝ : m
⊢ mulVec A (x + y) x✝ = (mulVec A x + mulVec A y) x✝
Theorem: Matrix.eta_fin_three
File: Mathlib/Data/Matrix/Notation.lean

tactic: ext (i j)
state_before: α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
A : Matrix (Fin 3) (Fin 3) α
⊢ A = ↑of ![![A 0 0, A 0 1, A 0 2], ![A 1 0, A 1 1, A 1 2], ![A 2 0, A 2 1, A 2 2]]

tactic: fin_cases i <;> fin_cases j <;> rfl
state_before: case a.h
α : Type u
o n m : ℕ
m' : Type uₘ
n' : Type uₙ
o' : Type uₒ
a b : ℕ
A : Matrix (Fin 3) (Fin 3) α
i j : Fin 3
⊢ A i j = ↑of ![![A 0 0, A 0 1, A 0 2], ![A 1 0, A 1 1, A 1 2], ![A 2 0, A 2 1, A 2 2]] i j
Theorem: affineSegment_same
File: Mathlib/Analysis/Convex/Between.lean

tactic: rw [affineSegment]
state_before: R : Type u_2
V : Type u_3
V' : Type ?u.18554
P : Type u_1
P' : Type ?u.18560
inst✝⁶ : OrderedRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
x : P
⊢ affineSegment R x x = {x}

tactic: simp_rw [lineMap_same, AffineMap.coe_const _ _, Function.const,
  (Set.nonempty_Icc.mpr zero_le_one).image_const]
state_before: R : Type u_2
V : Type u_3
V' : Type ?u.18554
P : Type u_1
P' : Type ?u.18560
inst✝⁶ : OrderedRing R
inst✝⁵ : AddCommGroup V
inst✝⁴ : Module R V
inst✝³ : AddTorsor V P
inst✝² : AddCommGroup V'
inst✝¹ : Module R V'
inst✝ : AddTorsor V' P'
x : P
⊢ ↑(lineMap x x) '' Set.Icc 0 1 = {x}
Theorem: isPreirreducible_iff_closure
File: Mathlib/Topology/SubsetProperties.lean

tactic: iterate 3 rw [closure_inter_open_nonempty_iff]
state_before: α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ Set.Nonempty (closure s ∩ u) → Set.Nonempty (closure s ∩ v) → Set.Nonempty (closure s ∩ (u ∩ v)) ↔
    Set.Nonempty (s ∩ u) → Set.Nonempty (s ∩ v) → Set.Nonempty (s ∩ (u ∩ v))

tactic: exacts [hu.inter hv, hv, hu]
state_before: α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ IsOpen (u ∩ v)

α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ IsOpen v

α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ IsOpen u

tactic: rw [closure_inter_open_nonempty_iff]
state_before: α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ Set.Nonempty (s ∩ u) → Set.Nonempty (s ∩ v) → Set.Nonempty (closure s ∩ (u ∩ v)) ↔
    Set.Nonempty (s ∩ u) → Set.Nonempty (s ∩ v) → Set.Nonempty (s ∩ (u ∩ v))

α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ IsOpen v

α : Type u
β : Type v
ι : Type ?u.181256
π : ι → Type ?u.181261
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s✝ t s u v : Set α
hu : IsOpen u
hv : IsOpen v
⊢ IsOpen u
Theorem: MeasureTheory.ae_iff_measure_eq
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [← ae_eq_univ_iff_measure_eq hp, eventuallyEq_univ, eventually_iff]
state_before: α : Type u_1
β : Type ?u.647088
γ : Type ?u.647091
δ : Type ?u.647094
ι : Type ?u.647097
R : Type ?u.647100
R' : Type ?u.647103
m0 : MeasurableSpace α
inst✝² : MeasurableSpace β
inst✝¹ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
inst✝ : IsFiniteMeasure μ
p : α → Prop
hp : NullMeasurableSet {a | p a}
⊢ (∀ᵐ (a : α) ∂μ, p a) ↔ ↑↑μ {a | p a} = ↑↑μ univ