1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: ENNReal.lt_iff_exists_rat_btwn
File: Mathlib/Data/ENNReal/Basic.lean

tactic: rcases lt_iff_exists_coe.1 h with ⟨p, rfl, _⟩
state_before: α : Type u_1
a b c d : ℝ≥0∞
r p q : ℝ≥0
h : a < b
⊢ ∃ q, 0 ≤ q ∧ a < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b
state_after: case intro.intro
α : Type u_1
b c d : ℝ≥0∞
r p✝ q p : ℝ≥0
right✝ h : ↑p < b
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b

tactic: rcases exists_between h with ⟨c, pc, cb⟩
state_before: case intro.intro
α : Type u_1
b c d : ℝ≥0∞
r p✝ q p : ℝ≥0
right✝ h : ↑p < b
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b
state_after: case intro.intro.intro.intro
α : Type u_1
b c✝ d : ℝ≥0∞
r p✝ q p : ℝ≥0
right✝ h : ↑p < b
c : ℝ≥0∞
pc : ↑p < c
cb : c < b
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b

tactic: rcases lt_iff_exists_coe.1 cb with ⟨r, rfl, _⟩
state_before: case intro.intro.intro.intro
α : Type u_1
b c✝ d : ℝ≥0∞
r p✝ q p : ℝ≥0
right✝ h : ↑p < b
c : ℝ≥0∞
pc : ↑p < c
cb : c < b
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b
state_after: case intro.intro.intro.intro.intro.intro
α : Type u_1
b c d : ℝ≥0∞
r✝ p✝ q p : ℝ≥0
right✝¹ h : ↑p < b
r : ℝ≥0
right✝ : ↑r < b
pc : ↑p < ↑r
cb : ↑r < b
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b

tactic: rcases (NNReal.lt_iff_exists_rat_btwn _ _).1 (coe_lt_coe.1 pc) with ⟨q, hq0, pq, qr⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
b c d : ℝ≥0∞
r✝ p✝ q p : ℝ≥0
right✝¹ h : ↑p < b
r : ℝ≥0
right✝ : ↑r < b
pc : ↑p < ↑r
cb : ↑r < b
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b
state_after: case intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
b c d : ℝ≥0∞
r✝ p✝ q✝ p : ℝ≥0
right✝¹ h : ↑p < b
r : ℝ≥0
right✝ : ↑r < b
pc : ↑p < ↑r
cb : ↑r < b
q : ℚ
hq0 : 0 ≤ q
pq : p < (↑q).toNNReal
qr : (↑q).toNNReal < r
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b

tactic: exact ⟨q, hq0, coe_lt_coe.2 pq, lt_trans (coe_lt_coe.2 qr) cb⟩
state_before: case intro.intro.intro.intro.intro.intro.intro.intro.intro
α : Type u_1
b c d : ℝ≥0∞
r✝ p✝ q✝ p : ℝ≥0
right✝¹ h : ↑p < b
r : ℝ≥0
right✝ : ↑r < b
pc : ↑p < ↑r
cb : ↑r < b
q : ℚ
hq0 : 0 ≤ q
pq : p < (↑q).toNNReal
qr : (↑q).toNNReal < r
⊢ ∃ q, 0 ≤ q ∧ ↑p < ↑(↑q).toNNReal ∧ ↑(↑q).toNNReal < b
state_after: no goals
Theorem: SimpleGraph.TripartiteFromTriangles.Graph.in₁₀_iff'
File: Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean

tactic: rintro ⟨⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
⊢ (graph t).Adj (in₁ b) (in₀ a) → ∃ x ∈ t, x.2.1 = b ∧ x.1 = a
state_after: case in₁₀
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
c✝ : γ
a✝ : (a, b, c✝) ∈ t
⊢ ∃ x ∈ t, x.2.1 = b ∧ x.1 = a

tactic: exact ⟨_, ‹_›, by simp⟩
state_before: case in₁₀
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
c✝ : γ
a✝ : (a, b, c✝) ∈ t
⊢ ∃ x ∈ t, x.2.1 = b ∧ x.1 = a
state_after: no goals

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
c✝ : γ
a✝ : (a, b, c✝) ∈ t
⊢ (a, b, c✝).2.1 = b ∧ (a, b, c✝).1 = a
state_after: no goals

tactic: rintro ⟨⟨a, b, c⟩, h, rfl, rfl⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
⊢ (∃ x ∈ t, x.2.1 = b ∧ x.1 = a) → (graph t).Adj (in₁ b) (in₀ a)
state_after: case intro.mk.mk.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a' : α
b' : β
c✝ c' : γ
x : α × β × γ
ε : 𝕜
a : α
b : β
c : γ
h : (a, b, c) ∈ t
⊢ (graph t).Adj (in₁ (a, b, c).2.1) (in₀ (a, b, c).1)

tactic: constructor
state_before: case intro.mk.mk.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a' : α
b' : β
c✝ c' : γ
x : α × β × γ
ε : 𝕜
a : α
b : β
c : γ
h : (a, b, c) ∈ t
⊢ (graph t).Adj (in₁ (a, b, c).2.1) (in₀ (a, b, c).1)
state_after: case intro.mk.mk.intro.intro.a
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a' : α
b' : β
c✝ c' : γ
x : α × β × γ
ε : 𝕜
a : α
b : β
c : γ
h : (a, b, c) ∈ t
⊢ ((a, b, c).1, (a, b, c).2.1, ?intro.mk.mk.intro.intro.c) ∈ t

case intro.mk.mk.intro.intro.c
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a' : α
b' : β
c✝ c' : γ
x : α × β × γ
ε : 𝕜
a : α
b : β
c : γ
h : (a, b, c) ∈ t
⊢ γ

tactic: assumption
state_before: case intro.mk.mk.intro.intro.a
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a' : α
b' : β
c✝ c' : γ
x : α × β × γ
ε : 𝕜
a : α
b : β
c : γ
h : (a, b, c) ∈ t
⊢ ((a, b, c).1, (a, b, c).2.1, ?intro.mk.mk.intro.intro.c) ∈ t

case intro.mk.mk.intro.intro.c
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a' : α
b' : β
c✝ c' : γ
x : α × β × γ
ε : 𝕜
a : α
b : β
c : γ
h : (a, b, c) ∈ t
⊢ γ
state_after: no goals
Theorem: IsPrimitiveRoot.map_of_injective
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: rw [← map_pow, h.pow_eq_one, _root_.map_one]
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
⊢ f ζ ^ k = 1
state_after: no goals

tactic: rw [h.eq_orderOf]
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
⊢ ∀ (l : ℕ), f ζ ^ l = 1 → k ∣ l
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
⊢ ∀ (l : ℕ), f ζ ^ l = 1 → orderOf ζ ∣ l

tactic: intro l hl
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
⊢ ∀ (l : ℕ), f ζ ^ l = 1 → orderOf ζ ∣ l
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l✝ : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
l : ℕ
hl : f ζ ^ l = 1
⊢ orderOf ζ ∣ l

tactic: rw [← map_pow, ← map_one f] at hl
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l✝ : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
l : ℕ
hl : f ζ ^ l = 1
⊢ orderOf ζ ∣ l
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l✝ : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
l : ℕ
hl : f (ζ ^ l) = f 1
⊢ orderOf ζ ∣ l

tactic: exact orderOf_dvd_of_pow_eq_one (hf hl)
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝⁴ : CommMonoid M
inst✝³ : CommMonoid N
inst✝² : DivisionCommMonoid G
k l✝ : ℕ
ζ : M
f : F
h✝ : IsPrimitiveRoot ζ k
inst✝¹ : FunLike F M N
inst✝ : MonoidHomClass F M N
h : IsPrimitiveRoot ζ k
hf : Injective ⇑f
l : ℕ
hl : f (ζ ^ l) = f 1
⊢ orderOf ζ ∣ l
state_after: no goals
Theorem: finprod_mem_of_eqOn_one
File: Mathlib/Algebra/BigOperators/Finprod.lean

tactic: rw [← finprod_mem_one s]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f g : α → M
a b : α
s t : Set α
hf : EqOn f 1 s
⊢ ∏ᶠ (i : α) (_ : i ∈ s), f i = 1
state_after: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f g : α → M
a b : α
s t : Set α
hf : EqOn f 1 s
⊢ ∏ᶠ (i : α) (_ : i ∈ s), f i = ∏ᶠ (i : α) (_ : i ∈ s), 1

tactic: exact finprod_mem_congr rfl hf
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f g : α → M
a b : α
s t : Set α
hf : EqOn f 1 s
⊢ ∏ᶠ (i : α) (_ : i ∈ s), f i = ∏ᶠ (i : α) (_ : i ∈ s), 1
state_after: no goals
Theorem: Polynomial.Chebyshev.T_add_one
File: Mathlib/RingTheory/Polynomial/Chebyshev.lean

tactic: linear_combination (norm := ring_nf) T_add_two R (n - 1)
state_before: R : Type u_1
S : Type u_2
inst✝¹ : CommRing R
inst✝ : CommRing S
n : ℤ
⊢ T R (n + 1) = 2 * X * T R n - T R (n - 1)
state_after: no goals
Theorem: Matrix.coe_units_zpow
File: Mathlib/LinearAlgebra/Matrix/ZPow.lean

tactic: rw [zpow_natCast, zpow_natCast, Units.val_pow_eq_pow_val]
state_before: n' : Type u_1
inst✝² : DecidableEq n'
inst✝¹ : Fintype n'
R : Type u_2
inst✝ : CommRing R
u : Mˣ
n : ℕ
⊢ ↑(u ^ ↑n) = ↑u ^ ↑n
state_after: no goals

tactic: rw [zpow_negSucc, zpow_negSucc, ← inv_pow, u⁻¹.val_pow_eq_pow_val, ← inv_pow', coe_units_inv]
state_before: n' : Type u_1
inst✝² : DecidableEq n'
inst✝¹ : Fintype n'
R : Type u_2
inst✝ : CommRing R
u : Mˣ
k : ℕ
⊢ ↑(u ^ -[k+1]) = ↑u ^ -[k+1]
state_after: no goals
Theorem: iInf_le_iff
File: Mathlib/Order/CompleteLattice.lean

tactic: simp [iInf, sInf_le_iff, lowerBounds]
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : CompleteSemilatticeInf α
s✝ t : Set α
a b : α
s : ι → α
⊢ iInf s ≤ a ↔ ∀ (b : α), (∀ (i : ι), b ≤ s i) → b ≤ a
state_after: no goals
Theorem: ContDiffBump.neg
File: Mathlib/Analysis/Calculus/BumpFunction/Basic.lean

tactic: simp_rw [← zero_sub, f.sub, zero_add]
state_before: E : Type u_1
X : Type u_2
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace ℝ E
inst✝² : NormedAddCommGroup X
inst✝¹ : NormedSpace ℝ X
inst✝ : HasContDiffBump E
c : E
f✝ : ContDiffBump c
x✝ : E
n : ℕ∞
f : ContDiffBump 0
x : E
⊢ ↑f (-x) = ↑f x
state_after: no goals
Theorem: ArithmeticFunction.log_mul_moebius_eq_vonMangoldt
File: Mathlib/NumberTheory/VonMangoldt.lean

tactic: rw [← vonMangoldt_mul_zeta, mul_assoc, coe_zeta_mul_coe_moebius, mul_one]
state_before: ⊢ log * ↑μ = Λ
state_after: no goals
Theorem: List.chain_range_succ
File: Mathlib/Data/List/Range.lean

tactic: rw [range_succ_eq_map, chain_cons, and_congr_right_iff, ← chain'_range_succ, range_succ_eq_map]
state_before: α : Type u
r : ℕ → ℕ → Prop
n a : ℕ
⊢ Chain r a (range n.succ) ↔ r a 0 ∧ ∀ m < n, r m m.succ
state_after: α : Type u
r : ℕ → ℕ → Prop
n a : ℕ
⊢ r a 0 → (Chain r 0 (map succ (range n)) ↔ Chain' r (0 :: map succ (range n)))

tactic: exact fun _ => Iff.rfl
state_before: α : Type u
r : ℕ → ℕ → Prop
n a : ℕ
⊢ r a 0 → (Chain r 0 (map succ (range n)) ↔ Chain' r (0 :: map succ (range n)))
state_after: no goals
Theorem: Orientation.oangle_neg_right
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean

tactic: simp only [oangle, map_neg]
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
hx : x ≠ 0
hy : y ≠ 0
⊢ o.oangle x (-y) = o.oangle x y + ↑π
state_after: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
hx : x ≠ 0
hy : y ≠ 0
⊢ ↑(-(o.kahler x) y).arg = ↑((o.kahler x) y).arg + ↑π

tactic: convert Complex.arg_neg_coe_angle _
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
hx : x ≠ 0
hy : y ≠ 0
⊢ ↑(-(o.kahler x) y).arg = ↑((o.kahler x) y).arg + ↑π
state_after: case convert_2
V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
hx : x ≠ 0
hy : y ≠ 0
⊢ (o.kahler x) y ≠ 0

tactic: exact o.kahler_ne_zero hx hy
state_before: case convert_2
V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
hx : x ≠ 0
hy : y ≠ 0
⊢ (o.kahler x) y ≠ 0
state_after: no goals
Theorem: Real.tendsto_cos_neg_pi_div_two
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: apply tendsto_nhdsWithin_of_tendsto_nhds_of_eventually_within
state_before: ⊢ Tendsto cos (𝓝[>] (-(π / 2))) (𝓝[>] 0)
state_after: case h1

⊢ Tendsto cos (𝓝[>] (-(π / 2))) (𝓝 0)

case h2

⊢ ∀ᶠ (x : ℝ) in 𝓝[>] (-(π / 2)), cos x ∈ Ioi 0

tactic: convert continuous_cos.continuousWithinAt.tendsto
state_before: case h1

⊢ Tendsto cos (𝓝[>] (-(π / 2))) (𝓝 0)
state_after: case h.e'_5.h.e'_3

⊢ 0 = cos (-(π / 2))

tactic: simp
state_before: case h.e'_5.h.e'_3

⊢ 0 = cos (-(π / 2))
state_after: no goals

tactic: filter_upwards [Ioo_mem_nhdsWithin_Ioi
    (left_mem_Ico.mpr (neg_lt_self pi_div_two_pos))] with x hx using cos_pos_of_mem_Ioo hx
state_before: case h2

⊢ ∀ᶠ (x : ℝ) in 𝓝[>] (-(π / 2)), cos x ∈ Ioi 0
state_after: no goals
Theorem: cthickening_closedBall
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

tactic: rw [← cthickening_singleton _ hδ, cthickening_cthickening hε hδ,
    cthickening_singleton _ (add_nonneg hε hδ)]
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : NormedSpace ℝ E
x✝ y z : E
δ ε : ℝ
hε : 0 ≤ ε
hδ : 0 ≤ δ
x : E
⊢ cthickening ε (Metric.closedBall x δ) = Metric.closedBall x (ε + δ)
state_after: no goals
Theorem: DirectSum.coe_decompose_mul_of_right_mem_of_le
File: Mathlib/RingTheory/GradedAlgebra/Basic.lean

tactic: lift b to 𝒜 i using b_mem
state_before: ι : Type u_1
R : Type u_2
A : Type u_3
σ : Type u_4
inst✝⁸ : Semiring A
inst✝⁷ : DecidableEq ι
inst✝⁶ : CanonicallyOrderedAddCommMonoid ι
inst✝⁵ : SetLike σ A
inst✝⁴ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝³ : GradedRing 𝒜
a b : A
n i : ι
inst✝² : Sub ι
inst✝¹ : OrderedSub ι
inst✝ : ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
b_mem : b ∈ 𝒜 i
h : i ≤ n
⊢ ↑(((decompose 𝒜) (a * b)) n) = ↑(((decompose 𝒜) a) (n - i)) * b
state_after: case intro
ι : Type u_1
R : Type u_2
A : Type u_3
σ : Type u_4
inst✝⁸ : Semiring A
inst✝⁷ : DecidableEq ι
inst✝⁶ : CanonicallyOrderedAddCommMonoid ι
inst✝⁵ : SetLike σ A
inst✝⁴ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝³ : GradedRing 𝒜
a : A
n i : ι
inst✝² : Sub ι
inst✝¹ : OrderedSub ι
inst✝ : ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
h : i ≤ n
b : ↥(𝒜 i)
⊢ ↑(((decompose 𝒜) (a * ↑b)) n) = ↑(((decompose 𝒜) a) (n - i)) * ↑b

tactic: rwa [decompose_mul, decompose_coe, coe_mul_of_apply_of_le]
state_before: case intro
ι : Type u_1
R : Type u_2
A : Type u_3
σ : Type u_4
inst✝⁸ : Semiring A
inst✝⁷ : DecidableEq ι
inst✝⁶ : CanonicallyOrderedAddCommMonoid ι
inst✝⁵ : SetLike σ A
inst✝⁴ : AddSubmonoidClass σ A
𝒜 : ι → σ
inst✝³ : GradedRing 𝒜
a : A
n i : ι
inst✝² : Sub ι
inst✝¹ : OrderedSub ι
inst✝ : ContravariantClass ι ι (fun x x_1 => x + x_1) fun x x_1 => x ≤ x_1
h : i ≤ n
b : ↥(𝒜 i)
⊢ ↑(((decompose 𝒜) (a * ↑b)) n) = ↑(((decompose 𝒜) a) (n - i)) * ↑b
state_after: no goals
Theorem: HurwitzZeta.hasSum_int_sinZeta
File: Mathlib/NumberTheory/LSeries/HurwitzZetaOdd.lean

tactic: rw [sinZeta]
state_before: a : ℝ
s : ℂ
hs : 1 < s.re
⊢ HasSum (fun n => -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2) (sinZeta (↑a) s)
state_after: a : ℝ
s : ℂ
hs : 1 < s.re
⊢ HasSum (fun n => -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2) (completedSinZeta (↑a) s / (s + 1).Gammaℝ)

tactic: refine ((hasSum_int_completedSinZeta a hs).div_const (Gammaℝ (s + 1))).congr_fun fun n ↦ ?_
state_before: a : ℝ
s : ℂ
hs : 1 < s.re
⊢ HasSum (fun n => -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2) (completedSinZeta (↑a) s / (s + 1).Gammaℝ)
state_after: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
⊢ -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 =
    (s + 1).Gammaℝ * -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 / (s + 1).Gammaℝ

tactic: have : 0 < re (s + 1) := by rw [add_re, one_re]; positivity
state_before: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
⊢ -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 =
    (s + 1).Gammaℝ * -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 / (s + 1).Gammaℝ
state_after: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
this : 0 < (s + 1).re
⊢ -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 =
    (s + 1).Gammaℝ * -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 / (s + 1).Gammaℝ

tactic: simp only [mul_assoc, div_right_comm _ _ (Gammaℝ _),
  mul_div_cancel_left₀ _ (Gammaℝ_ne_zero_of_re_pos this)]
state_before: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
this : 0 < (s + 1).re
⊢ -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 =
    (s + 1).Gammaℝ * -I * ↑n.sign * cexp (2 * ↑π * I * ↑a * ↑n) / ↑|n| ^ s / 2 / (s + 1).Gammaℝ
state_after: no goals

tactic: rw [add_re, one_re]
state_before: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
⊢ 0 < (s + 1).re
state_after: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
⊢ 0 < s.re + 1

tactic: positivity
state_before: a : ℝ
s : ℂ
hs : 1 < s.re
n : ℤ
⊢ 0 < s.re + 1
state_after: no goals
Theorem: CategoryTheory.Limits.cospanExt_hom_app_left
File: Mathlib/CategoryTheory/Limits/Shapes/Pullbacks.lean

tactic: dsimp [cospanExt]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
D : Type u₂
inst✝ : Category.{v₂, u₂} D
X Y Z X' Y' Z' : C
iX : X ≅ X'
iY : Y ≅ Y'
iZ : Z ≅ Z'
f : X ⟶ Z
g : Y ⟶ Z
f' : X' ⟶ Z'
g' : Y' ⟶ Z'
wf : iX.hom ≫ f' = f ≫ iZ.hom
wg : iY.hom ≫ g' = g ≫ iZ.hom
⊢ (cospanExt iX iY iZ wf wg).hom.app WalkingCospan.left = iX.hom
state_after: no goals
Theorem: Real.sin_pi_div_thirty_two
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: trans sin (π / 2 ^ 5)
state_before: x : ℝ
⊢ sin (π / 32) = √(2 - √(2 + √(2 + √2))) / 2
state_after: x : ℝ
⊢ sin (π / 32) = sin (π / 2 ^ 5)

x : ℝ
⊢ sin (π / 2 ^ 5) = √(2 - √(2 + √(2 + √2))) / 2

tactic: congr
state_before: x : ℝ
⊢ sin (π / 32) = sin (π / 2 ^ 5)
state_after: case e_x.e_a
x : ℝ
⊢ 32 = 2 ^ 5

tactic: norm_num
state_before: case e_x.e_a
x : ℝ
⊢ 32 = 2 ^ 5
state_after: no goals

tactic: simp
state_before: x : ℝ
⊢ sin (π / 2 ^ 5) = √(2 - √(2 + √(2 + √2))) / 2
state_after: no goals
Theorem: List.toFinsupp_cons_eq_single_add_embDomain
File: Mathlib/Data/List/ToFinsupp.lean

tactic: convert toFinsupp_append [x] xs using 3
state_before: M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
⊢ (x :: xs).toFinsupp =
    Finsupp.single 0 x + Finsupp.embDomain { toFun := Nat.succ, inj' := Nat.succ_injective } xs.toFinsupp
state_after: case h.e'_3.h.e'_5
M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
⊢ Finsupp.single 0 x = [x].toFinsupp

case h.e'_3.h.e'_6.h.e'_5
M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
⊢ { toFun := Nat.succ, inj' := Nat.succ_injective } = addLeftEmbedding [x].length

tactic: exact (toFinsupp_singleton x).symm
state_before: case h.e'_3.h.e'_5
M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
⊢ Finsupp.single 0 x = [x].toFinsupp
state_after: no goals

tactic: ext n
state_before: case h.e'_3.h.e'_6.h.e'_5
M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
⊢ { toFun := Nat.succ, inj' := Nat.succ_injective } = addLeftEmbedding [x].length
state_after: case h.e'_3.h.e'_6.h.e'_5.h
M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n✝ : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
n : ℕ
⊢ { toFun := Nat.succ, inj' := Nat.succ_injective } n = (addLeftEmbedding [x].length) n

tactic: exact add_comm n 1
state_before: case h.e'_3.h.e'_6.h.e'_5.h
M : Type u_1
inst✝⁴ : Zero M
l : List M
inst✝³ : DecidablePred fun x => l.getD x 0 ≠ 0
n✝ : ℕ
R : Type u_2
inst✝² : AddZeroClass R
x : R
xs : List R
inst✝¹ : DecidablePred fun x_1 => (x :: xs).getD x_1 0 ≠ 0
inst✝ : DecidablePred fun x => xs.getD x 0 ≠ 0
n : ℕ
⊢ { toFun := Nat.succ, inj' := Nat.succ_injective } n = (addLeftEmbedding [x].length) n
state_after: no goals
Theorem: Inducing.continuous_iff
File: Mathlib/Topology/Maps.lean

tactic: simp_rw [continuous_iff_continuousAt, hg.continuousAt_iff]
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
ι : Type u_4
f : X → Y
g : Y → Z
inst✝² : TopologicalSpace X
inst✝¹ : TopologicalSpace Y
inst✝ : TopologicalSpace Z
hg : Inducing g
⊢ Continuous f ↔ Continuous (g ∘ f)
state_after: no goals
Theorem: Set.Finite.toFinset_insert
File: Mathlib/Data/Set/Finite.lean

tactic: simp
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
inst✝ : DecidableEq α
s : Set α
a : α
hs : (insert a s).Finite
⊢ ∀ (a_1 : α), a_1 ∈ hs.toFinset ↔ a_1 ∈ insert a ⋯.toFinset
state_after: no goals
Theorem: Nat.floorRoot_one_right
File: Mathlib/Data/Nat/Factorization/Root.lean

tactic: simp [floorRoot, hn]
state_before: a b n : ℕ
hn : n ≠ 0
⊢ n.floorRoot 1 = 1
state_after: no goals
Theorem: EMetric.mem_iff_infEdist_zero_of_closed
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: rw [← mem_closure_iff_infEdist_zero, h.closure_eq]
state_before: ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoEMetricSpace α
inst✝ : PseudoEMetricSpace β
x y : α
s t : Set α
Φ : α → β
h : IsClosed s
⊢ x ∈ s ↔ infEdist x s = 0
state_after: no goals
Theorem: CategoryTheory.Limits.Concrete.productEquiv_symm_apply_π
File: Mathlib/CategoryTheory/Limits/Shapes/ConcreteCategory.lean

tactic: rw [← productEquiv_apply_apply, Equiv.apply_symm_apply]
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : ConcreteCategory C
J : Type w
F : J → C
inst✝¹ : HasProduct F
inst✝ : PreservesLimit (Discrete.functor F) (forget C)
x : (j : J) → (forget C).obj (F j)
j : J
⊢ (Pi.π F j) ((productEquiv F).symm x) = x j
state_after: no goals