1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: continuousOn_integral_of_compact_support
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: simpa using continuousOn_integral_bilinear_of_locally_integrable_of_compact_support (lsmul ℝ ℝ)
  hk hf hfs (integrableOn_const.2 (Or.inr hk.measure_lt_top)) (μ := μ) (g := fun _ ↦ 1)
state_before: X : Type u_1
Y : Type u_2
E : Type u_3
F : Type u_4
inst✝¹² : MeasurableSpace X
G : Type u_5
𝕜 : Type u_6
inst✝¹¹ : TopologicalSpace X
inst✝¹⁰ : TopologicalSpace Y
inst✝⁹ : MeasurableSpace Y
inst✝⁸ : OpensMeasurableSpace Y
μ : Measure Y
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace 𝕜 F
inst✝² : NormedAddCommGroup G
inst✝¹ : NormedSpace 𝕜 G
f : X → Y → E
s : Set X
k : Set Y
inst✝ : IsFiniteMeasureOnCompacts μ
hk : IsCompact k
hf : ContinuousOn (uncurry f) (s ×ˢ univ)
hfs : ∀ (p : X) (x : Y), p ∈ s → x ∉ k → f p x = 0
⊢ ContinuousOn (fun x => ∫ (y : Y), f x y ∂μ) s
state_after: no goals
Theorem: MvPolynomial.degrees_prod
File: Mathlib/Algebra/MvPolynomial/Degrees.lean

tactic: classical exact supDegree_prod_le (map_zero _) (map_add _)
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
ι : Type u_3
s : Finset ι
f : ι → MvPolynomial σ R
⊢ (∏ i ∈ s, f i).degrees ≤ ∑ i ∈ s, (f i).degrees
state_after: no goals

tactic: exact supDegree_prod_le (map_zero _) (map_add _)
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s✝ : σ →₀ ℕ
inst✝ : CommSemiring R
p q : MvPolynomial σ R
ι : Type u_3
s : Finset ι
f : ι → MvPolynomial σ R
⊢ (∏ i ∈ s, f i).degrees ≤ ∑ i ∈ s, (f i).degrees
state_after: no goals
Theorem: MeasureTheory.Memℒp.norm
File: Mathlib/MeasureTheory/Function/LpSeminorm/Basic.lean

tactic: simp
state_before: α : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
m m0 : MeasurableSpace α
p : ℝ≥0∞
q : ℝ
μ ν : Measure α
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedAddCommGroup G
f : α → E
h : Memℒp f p μ
x : α
⊢ ‖‖f x‖‖ ≤ ‖f x‖
state_after: no goals
Theorem: PMF.support_pure
File: Mathlib/Probability/ProbabilityMassFunction/Monad.lean

tactic: simp [mem_support_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
a a'✝ a' : α
⊢ a' ∈ (pure a).support ↔ a' ∈ {a}
state_after: no goals
Theorem: Polynomial.scaleRoots_aeval_eq_zero
File: Mathlib/RingTheory/Polynomial/ScaleRoots.lean

tactic: rw [aeval_def, scaleRoots_eval₂_mul_of_commute, ← aeval_def, ha, mul_zero]
state_before: R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
⊢ (aeval ((algebraMap R A) r * a)) (p.scaleRoots r) = 0
state_after: case hsa
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
⊢ Commute ((algebraMap R A) r) a

case hf
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
⊢ ∀ (s₁ s₂ : R), Commute ((algebraMap R A) s₁) ((algebraMap R A) s₂)

tactic: apply Algebra.commutes
state_before: case hsa
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
⊢ Commute ((algebraMap R A) r) a
state_after: no goals

tactic: intros
state_before: case hf
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
⊢ ∀ (s₁ s₂ : R), Commute ((algebraMap R A) s₁) ((algebraMap R A) s₂)
state_after: case hf
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
s₁✝ s₂✝ : R
⊢ Commute ((algebraMap R A) s₁✝) ((algebraMap R A) s₂✝)

tactic: rw [Commute, SemiconjBy, ← map_mul, ← map_mul, mul_comm]
state_before: case hf
R : Type u_1
S : Type u_2
A : Type u_3
K : Type u_4
inst✝⁴ : Semiring S
inst✝³ : CommSemiring R
inst✝² : Semiring A
inst✝¹ : Field K
inst✝ : Algebra R A
p : R[X]
a : A
r : R
ha : (aeval a) p = 0
s₁✝ s₂✝ : R
⊢ Commute ((algebraMap R A) s₁✝) ((algebraMap R A) s₂✝)
state_after: no goals
Theorem: HurwitzKernelBounds.exp_lt_aux
File: Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean

tactic: simpa only [exp_lt_one_iff, neg_mul, neg_lt_zero] using mul_pos pi_pos ht
state_before: t : ℝ
ht : 0 < t
⊢ rexp (-π * t) < 1
state_after: no goals
Theorem: hasFDerivWithinAt_univ
File: Mathlib/Analysis/Calculus/FDeriv/Basic.lean

tactic: simp only [HasFDerivWithinAt, nhdsWithin_univ]
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
⊢ HasFDerivWithinAt f f' univ x ↔ HasFDerivAt f f' x
state_after: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
⊢ HasFDerivAtFilter f f' x (𝓝 x) ↔ HasFDerivAt f f' x

tactic: rfl
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
⊢ HasFDerivAtFilter f f' x (𝓝 x) ↔ HasFDerivAt f f' x
state_after: no goals
Theorem: Set.strictMonoOn_projIci
File: Mathlib/Order/Interval/Set/ProjIcc.lean

tactic: simpa only [projIci_of_mem, hx, hy]
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrder α
a b : α
h : a ≤ b
x✝ x : α
hx : x ∈ Ici a
y : α
hy : y ∈ Ici a
hxy : x < y
⊢ projIci a x < projIci a y
state_after: no goals
Theorem: HasFDerivAtFilter.add
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: simp only [LinearMap.sub_apply, LinearMap.add_apply, map_sub, map_add, add_apply]
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hf : HasFDerivAtFilter f f' x L
hg : HasFDerivAtFilter g g' x L
x✝ : E
⊢ f x✝ - f x - f' (x✝ - x) + (g x✝ - g x - g' (x✝ - x)) = f x✝ + g x✝ - (f x + g x) - (f' + g') (x✝ - x)
state_after: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hf : HasFDerivAtFilter f f' x L
hg : HasFDerivAtFilter g g' x L
x✝ : E
⊢ f x✝ - f x - (f' x✝ - f' x) + (g x✝ - g x - (g' x✝ - g' x)) =
    f x✝ + g x✝ - (f x + g x) - (f' x✝ + g' x✝ - (f' x + g' x))

tactic: abel
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
hf : HasFDerivAtFilter f f' x L
hg : HasFDerivAtFilter g g' x L
x✝ : E
⊢ f x✝ - f x - (f' x✝ - f' x) + (g x✝ - g x - (g' x✝ - g' x)) =
    f x✝ + g x✝ - (f x + g x) - (f' x✝ + g' x✝ - (f' x + g' x))
state_after: no goals
Theorem: inner_im_symm
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← inner_conj_symm, conj_im]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ im ⟪x, y⟫_𝕜 = -im ⟪y, x⟫_𝕜
state_after: no goals
Theorem: Int.natAbs_sub_pos_iff
File: Mathlib/Algebra/Order/Group/Int.lean

tactic: rw [natAbs_pos, ne_eq, sub_eq_zero]
state_before: i j : ℤ
⊢ 0 < (i - j).natAbs ↔ i ≠ j
state_after: no goals
Theorem: Real.log_pow
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: induction' n with n ih
state_before: x✝ y x : ℝ
n : ℕ
⊢ log (x ^ n) = ↑n * log x
state_after: case zero
x✝ y x : ℝ
⊢ log (x ^ 0) = ↑0 * log x

case succ
x✝ y x : ℝ
n : ℕ
ih : log (x ^ n) = ↑n * log x
⊢ log (x ^ (n + 1)) = ↑(n + 1) * log x

tactic: rcases eq_or_ne x 0 with (rfl | hx)
state_before: case succ
x✝ y x : ℝ
n : ℕ
ih : log (x ^ n) = ↑n * log x
⊢ log (x ^ (n + 1)) = ↑(n + 1) * log x
state_after: case succ.inl
x y : ℝ
n : ℕ
ih : log (0 ^ n) = ↑n * log 0
⊢ log (0 ^ (n + 1)) = ↑(n + 1) * log 0

case succ.inr
x✝ y x : ℝ
n : ℕ
ih : log (x ^ n) = ↑n * log x
hx : x ≠ 0
⊢ log (x ^ (n + 1)) = ↑(n + 1) * log x

tactic: rw [pow_succ, log_mul (pow_ne_zero _ hx) hx, ih, Nat.cast_succ, add_mul, one_mul]
state_before: case succ.inr
x✝ y x : ℝ
n : ℕ
ih : log (x ^ n) = ↑n * log x
hx : x ≠ 0
⊢ log (x ^ (n + 1)) = ↑(n + 1) * log x
state_after: no goals

tactic: simp
state_before: case zero
x✝ y x : ℝ
⊢ log (x ^ 0) = ↑0 * log x
state_after: no goals

tactic: simp
state_before: case succ.inl
x y : ℝ
n : ℕ
ih : log (0 ^ n) = ↑n * log 0
⊢ log (0 ^ (n + 1)) = ↑(n + 1) * log 0
state_after: no goals
Theorem: CochainComplex.mappingConeCompHomotopyEquiv_comm₁
File: Mathlib/Algebra/Homology/HomotopyCategory/Triangulated.lean

tactic: rw [id_comp]
state_before: C : Type u_1
inst✝³ : Category.{?u.255825, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
X₁ X₂ X₃ : CochainComplex C ℤ
f : X₁ ⟶ X₂
g : X₂ ⟶ X₃
⊢ f ≫ g = 𝟙 X₁ ≫ f ≫ g
state_after: no goals

tactic: simp [map, mappingConeCompHomotopyEquiv, MappingConeCompHomotopyEquiv.inv]
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
inst✝¹ : HasZeroObject C
inst✝ : HasBinaryBiproducts C
X₁ X₂ X₃ : CochainComplex C ℤ
f : X₁ ⟶ X₂
g : X₂ ⟶ X₃
⊢ inr (map f (f ≫ g) (𝟙 X₁) g ⋯) ≫ (mappingConeCompHomotopyEquiv f g).inv = (mappingConeCompTriangle f g).mor₂
state_after: no goals
Theorem: map_inv_intCast_smul
File: Mathlib/Algebra/Module/Basic.lean

tactic: obtain ⟨n, rfl | rfl⟩ := z.eq_nat_or_neg
state_before: α : Type u_1
R✝ : Type u_2
M : Type u_3
M₂ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M₂
F : Type u_5
inst✝⁵ : FunLike F M M₂
inst✝⁴ : AddMonoidHomClass F M M₂
f : F
R : Type u_6
S : Type u_7
inst✝³ : DivisionRing R
inst✝² : DivisionRing S
inst✝¹ : Module R M
inst✝ : Module S M₂
z : ℤ
x : M
⊢ f ((↑z)⁻¹ • x) = (↑z)⁻¹ • f x
state_after: case intro.inl
α : Type u_1
R✝ : Type u_2
M : Type u_3
M₂ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M₂
F : Type u_5
inst✝⁵ : FunLike F M M₂
inst✝⁴ : AddMonoidHomClass F M M₂
f : F
R : Type u_6
S : Type u_7
inst✝³ : DivisionRing R
inst✝² : DivisionRing S
inst✝¹ : Module R M
inst✝ : Module S M₂
x : M
n : ℕ
⊢ f ((↑↑n)⁻¹ • x) = (↑↑n)⁻¹ • f x

case intro.inr
α : Type u_1
R✝ : Type u_2
M : Type u_3
M₂ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M₂
F : Type u_5
inst✝⁵ : FunLike F M M₂
inst✝⁴ : AddMonoidHomClass F M M₂
f : F
R : Type u_6
S : Type u_7
inst✝³ : DivisionRing R
inst✝² : DivisionRing S
inst✝¹ : Module R M
inst✝ : Module S M₂
x : M
n : ℕ
⊢ f ((↑(-↑n))⁻¹ • x) = (↑(-↑n))⁻¹ • f x

tactic: rw [Int.cast_natCast, Int.cast_natCast, map_inv_natCast_smul _ R S]
state_before: case intro.inl
α : Type u_1
R✝ : Type u_2
M : Type u_3
M₂ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M₂
F : Type u_5
inst✝⁵ : FunLike F M M₂
inst✝⁴ : AddMonoidHomClass F M M₂
f : F
R : Type u_6
S : Type u_7
inst✝³ : DivisionRing R
inst✝² : DivisionRing S
inst✝¹ : Module R M
inst✝ : Module S M₂
x : M
n : ℕ
⊢ f ((↑↑n)⁻¹ • x) = (↑↑n)⁻¹ • f x
state_after: no goals

tactic: simp_rw [Int.cast_neg, Int.cast_natCast, inv_neg, neg_smul, map_neg,
  map_inv_natCast_smul _ R S]
state_before: case intro.inr
α : Type u_1
R✝ : Type u_2
M : Type u_3
M₂ : Type u_4
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M₂
F : Type u_5
inst✝⁵ : FunLike F M M₂
inst✝⁴ : AddMonoidHomClass F M M₂
f : F
R : Type u_6
S : Type u_7
inst✝³ : DivisionRing R
inst✝² : DivisionRing S
inst✝¹ : Module R M
inst✝ : Module S M₂
x : M
n : ℕ
⊢ f ((↑(-↑n))⁻¹ • x) = (↑(-↑n))⁻¹ • f x
state_after: no goals
Theorem: SimpleGraph.map_monotone
File: Mathlib/Combinatorics/SimpleGraph/Maps.lean

tactic: rintro G G' h _ _ ⟨u, v, ha, rfl, rfl⟩
state_before: V : Type u_1
W : Type u_2
X : Type u_3
G : SimpleGraph V
G' : SimpleGraph W
u v : V
f : V ↪ W
⊢ Monotone (SimpleGraph.map f)
state_after: case intro.intro.intro.intro
V : Type u_1
W : Type u_2
X : Type u_3
G✝ : SimpleGraph V
G'✝ : SimpleGraph W
u✝ v✝ : V
f : V ↪ W
G G' : SimpleGraph V
h : G ≤ G'
u v : V
ha : G.Adj u v
⊢ (SimpleGraph.map f G').Adj (f u) (f v)

tactic: exact ⟨_, _, h ha, rfl, rfl⟩
state_before: case intro.intro.intro.intro
V : Type u_1
W : Type u_2
X : Type u_3
G✝ : SimpleGraph V
G'✝ : SimpleGraph W
u✝ v✝ : V
f : V ↪ W
G G' : SimpleGraph V
h : G ≤ G'
u v : V
ha : G.Adj u v
⊢ (SimpleGraph.map f G').Adj (f u) (f v)
state_after: no goals
Theorem: smul_nonpos_iff_pos_imp_nonpos
File: Mathlib/Algebra/Order/Module/Defs.lean

tactic: rw [← neg_nonneg, ← smul_neg, smul_nonneg_iff_pos_imp_nonneg]
state_before: α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b✝ b₁ b₂ : β
inst✝³ : LinearOrderedRing α
inst✝² : LinearOrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulStrictMono α β
a : α
b : β
⊢ a • b ≤ 0 ↔ (0 < a → b ≤ 0) ∧ (b < 0 → 0 ≤ a)
state_after: α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b✝ b₁ b₂ : β
inst✝³ : LinearOrderedRing α
inst✝² : LinearOrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulStrictMono α β
a : α
b : β
⊢ (0 < a → 0 ≤ -b) ∧ (0 < -b → 0 ≤ a) ↔ (0 < a → b ≤ 0) ∧ (b < 0 → 0 ≤ a)

tactic: simp only [neg_pos, neg_nonneg]
state_before: α : Type u_1
β : Type u_2
a✝ a₁ a₂ : α
b✝ b₁ b₂ : β
inst✝³ : LinearOrderedRing α
inst✝² : LinearOrderedAddCommGroup β
inst✝¹ : Module α β
inst✝ : PosSMulStrictMono α β
a : α
b : β
⊢ (0 < a → 0 ≤ -b) ∧ (0 < -b → 0 ≤ a) ↔ (0 < a → b ≤ 0) ∧ (b < 0 → 0 ≤ a)
state_after: no goals
Theorem: Filter.isTopologicalBasis_Iic_principal
File: Mathlib/Topology/Filter.lean

tactic: rintro _ ⟨s, rfl⟩ _ ⟨t, rfl⟩ l hl
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
⊢ ∀ t₁ ∈ range (Iic ∘ 𝓟), ∀ t₂ ∈ range (Iic ∘ 𝓟), ∀ x ∈ t₁ ∩ t₂, ∃ t₃ ∈ range (Iic ∘ 𝓟), x ∈ t₃ ∧ t₃ ⊆ t₁ ∩ t₂
state_after: case intro.intro
ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
s t : Set α
l : Filter α
hl : l ∈ (Iic ∘ 𝓟) s ∩ (Iic ∘ 𝓟) t
⊢ ∃ t₃ ∈ range (Iic ∘ 𝓟), l ∈ t₃ ∧ t₃ ⊆ (Iic ∘ 𝓟) s ∩ (Iic ∘ 𝓟) t

tactic: exact ⟨Iic (𝓟 s) ∩ Iic (𝓟 t), ⟨s ∩ t, by simp⟩, hl, Subset.rfl⟩
state_before: case intro.intro
ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
s t : Set α
l : Filter α
hl : l ∈ (Iic ∘ 𝓟) s ∩ (Iic ∘ 𝓟) t
⊢ ∃ t₃ ∈ range (Iic ∘ 𝓟), l ∈ t₃ ∧ t₃ ⊆ (Iic ∘ 𝓟) s ∩ (Iic ∘ 𝓟) t
state_after: no goals

tactic: simp
state_before: ι : Sort u_1
α : Type u_2
β : Type u_3
X : Type u_4
Y : Type u_5
s t : Set α
l : Filter α
hl : l ∈ (Iic ∘ 𝓟) s ∩ (Iic ∘ 𝓟) t
⊢ (Iic ∘ 𝓟) (s ∩ t) = Iic (𝓟 s) ∩ Iic (𝓟 t)
state_after: no goals
Theorem: Real.zero_rpow_le_one
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: by_cases h : x = 0 <;> simp [h, zero_le_one]
state_before: x✝ y z x : ℝ
⊢ 0 ^ x ≤ 1
state_after: no goals
Theorem: Nat.recDiagAux_zero_left
File: .lake/packages/batteries/Batteries/Data/Nat/Lemmas.lean

tactic: cases n <;> rfl
state_before: motive : Nat → Nat → Sort u_1
zero_left : (n : Nat) → motive 0 n
zero_right : (m : Nat) → motive m 0
succ_succ : (m n : Nat) → motive m n → motive (m + 1) (n + 1)
n : Nat
⊢ Nat.recDiagAux zero_left zero_right succ_succ 0 n = zero_left n
state_after: no goals
Theorem: Nat.add_eq_right
File: Mathlib/Data/Nat/Defs.lean

tactic: omega
state_before: a b c d m n k : ℕ
p q : ℕ → Prop
⊢ a + b = b ↔ a = 0
state_after: no goals
Theorem: Function.LeftInverse.prodMap
File: Mathlib/Data/Prod/Basic.lean

tactic: rw [Prod.map_map, hf.comp_eq_id, hg.comp_eq_id, map_id, id]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
f : α → γ
g : β → δ
f₁ : α → β
g₁ : γ → δ
f₂ : β → α
g₂ : δ → γ
hf : LeftInverse f₁ f₂
hg : LeftInverse g₁ g₂
a : β × δ
⊢ map f₁ g₁ (map f₂ g₂ a) = a
state_after: no goals
Theorem: HomogeneousLocalization.val_natCast
File: Mathlib/RingTheory/GradedAlgebra/HomogeneousLocalization.lean

tactic: induction n <;> simp [Nat.unaryCast, *]
state_before: ι : Type u_1
R : Type u_2
A : Type u_3
inst✝⁵ : AddCommMonoid ι
inst✝⁴ : DecidableEq ι
inst✝³ : CommRing R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ι → Submodule R A
inst✝ : GradedAlgebra 𝒜
x : Submonoid A
n : ℕ
⊢ n.unaryCast.val = ↑n
state_after: no goals
Theorem: Stream'.Seq.ofList_append
File: Mathlib/Data/Seq/Seq.lean

tactic: induction l <;> simp [*]
state_before: α : Type u
β : Type v
γ : Type w
l l' : List α
⊢ ↑(l ++ l') = (↑l).append ↑l'
state_after: no goals
Theorem: norm_iteratedFDeriv_clm_apply
File: Mathlib/Analysis/Calculus/ContDiff/Bounds.lean

tactic: simp only [← iteratedFDerivWithin_univ]
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁷ : NormedAddCommGroup D
inst✝⁶ : NormedSpace 𝕜 D
E : Type uE
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type uF
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type uG
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
s s₁ t u : Set E
f : E → F →L[𝕜] G
g : E → F
N : ℕ∞
n : ℕ
hf : ContDiff 𝕜 N f
hg : ContDiff 𝕜 N g
x : E
hn : ↑n ≤ N
⊢ ‖iteratedFDeriv 𝕜 n (fun y => (f y) (g y)) x‖ ≤
    ∑ i ∈ Finset.range (n + 1), ↑(n.choose i) * ‖iteratedFDeriv 𝕜 i f x‖ * ‖iteratedFDeriv 𝕜 (n - i) g x‖
state_after: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁷ : NormedAddCommGroup D
inst✝⁶ : NormedSpace 𝕜 D
E : Type uE
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type uF
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type uG
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
s s₁ t u : Set E
f : E → F →L[𝕜] G
g : E → F
N : ℕ∞
n : ℕ
hf : ContDiff 𝕜 N f
hg : ContDiff 𝕜 N g
x : E
hn : ↑n ≤ N
⊢ ‖iteratedFDerivWithin 𝕜 n (fun y => (f y) (g y)) univ x‖ ≤
    ∑ x_1 ∈ Finset.range (n + 1),
      ↑(n.choose x_1) * ‖iteratedFDerivWithin 𝕜 x_1 f univ x‖ * ‖iteratedFDerivWithin 𝕜 (n - x_1) g univ x‖

tactic: exact norm_iteratedFDerivWithin_clm_apply hf.contDiffOn hg.contDiffOn uniqueDiffOn_univ
  (Set.mem_univ x) hn
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁷ : NormedAddCommGroup D
inst✝⁶ : NormedSpace 𝕜 D
E : Type uE
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
F : Type uF
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
G : Type uG
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
s s₁ t u : Set E
f : E → F →L[𝕜] G
g : E → F
N : ℕ∞
n : ℕ
hf : ContDiff 𝕜 N f
hg : ContDiff 𝕜 N g
x : E
hn : ↑n ≤ N
⊢ ‖iteratedFDerivWithin 𝕜 n (fun y => (f y) (g y)) univ x‖ ≤
    ∑ x_1 ∈ Finset.range (n + 1),
      ↑(n.choose x_1) * ‖iteratedFDerivWithin 𝕜 x_1 f univ x‖ * ‖iteratedFDerivWithin 𝕜 (n - x_1) g univ x‖
state_after: no goals
Theorem: Associates.le_of_mul_le_mul_left
File: Mathlib/Algebra/Associated.lean

tactic: rwa [← mul_assoc]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝ : CancelCommMonoidWithZero α
a b c : Associates α
ha : a ≠ 0
d : Associates α
hd : a * c = a * b * d
⊢ a * c = a * (b * d)
state_after: no goals
Theorem: Matrix.cons_zero_zero
File: Mathlib/Data/Fin/VecNotation.lean

tactic: ext i
state_before: α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
⊢ vecCons 0 0 = 0
state_after: case h
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
i : Fin n.succ
⊢ vecCons 0 0 i = 0 i

tactic: refine Fin.cases ?_ ?_ i
state_before: case h
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
i : Fin n.succ
⊢ vecCons 0 0 i = 0 i
state_after: case h.refine_1
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
i : Fin n.succ
⊢ vecCons 0 0 0 = 0 0

case h.refine_2
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
i : Fin n.succ
⊢ ∀ (i : Fin n), vecCons 0 0 i.succ = 0 i.succ

tactic: simp
state_before: case h.refine_2
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
i : Fin n.succ
⊢ ∀ (i : Fin n), vecCons 0 0 i.succ = 0 i.succ
state_after: no goals

tactic: rfl
state_before: case h.refine_1
α : Type u
m n o : ℕ
m' : Type u_1
n' : Type u_2
o' : Type u_3
inst✝ : Zero α
i : Fin n.succ
⊢ vecCons 0 0 0 = 0 0
state_after: no goals
Theorem: not_mem_closure_iff_nhdsWithin_eq_bot
File: Mathlib/Topology/Basic.lean

tactic: rw [mem_closure_iff_nhdsWithin_neBot, not_neBot]
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
⊢ x ∉ closure s ↔ 𝓝[s] x = ⊥
state_after: no goals
Theorem: AdicCompletion.induction_on
File: Mathlib/RingTheory/AdicCompletion/Basic.lean

tactic: obtain ⟨f, rfl⟩ := mk_surjective I M x
state_before: R : Type u_1
inst✝⁴ : CommRing R
I : Ideal R
M : Type u_2
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type u_3
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : AdicCompletion I M → Prop
x : AdicCompletion I M
h : ∀ (f : AdicCauchySequence I M), p ((mk I M) f)
⊢ p x
state_after: case intro
R : Type u_1
inst✝⁴ : CommRing R
I : Ideal R
M : Type u_2
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type u_3
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : AdicCompletion I M → Prop
h : ∀ (f : AdicCauchySequence I M), p ((mk I M) f)
f : AdicCauchySequence I M
⊢ p ((mk I M) f)

tactic: exact h f
state_before: case intro
R : Type u_1
inst✝⁴ : CommRing R
I : Ideal R
M : Type u_2
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type u_3
inst✝¹ : AddCommGroup N
inst✝ : Module R N
p : AdicCompletion I M → Prop
h : ∀ (f : AdicCauchySequence I M), p ((mk I M) f)
f : AdicCauchySequence I M
⊢ p ((mk I M) f)
state_after: no goals