tasksource/leandojo huggingface dataset:
Theorem: fderivWithin_add_const
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: rw [fderivWithin_zero_of_not_differentiableWithinAt hf,
  fderivWithin_zero_of_not_differentiableWithinAt]
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.226279
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.226374
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
hxs : UniqueDiffWithinAt 𝕜 s x
c : F
hf : ¬DifferentiableWithinAt 𝕜 f s x
⊢ fderivWithin 𝕜 (fun y => f y + c) s x = fderivWithin 𝕜 f s x

tactic: simpa
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.226279
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.226374
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
hxs : UniqueDiffWithinAt 𝕜 s x
c : F
hf : ¬DifferentiableWithinAt 𝕜 f s x
⊢ ¬DifferentiableWithinAt 𝕜 (fun y => f y + c) s x
Theorem: Cardinal.mk_preimage_of_injective_lift
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rw [lift_mk_le.{u, v, 0}]
state_before: α✝ β✝ α : Type u
β : Type v
f : α → β
s : Set β
h : Injective f
⊢ lift (#↑(f ⁻¹' s)) ≤ lift (#↑s)

tactic: use Subtype.coind (fun x => f x.1) fun x => mem_preimage.mp x.2
state_before: α✝ β✝ α : Type u
β : Type v
f : α → β
s : Set β
h : Injective f
⊢ Nonempty (↑(f ⁻¹' s) ↪ ↑s)

tactic: apply Subtype.coind_injective
state_before: α✝ β✝ α : Type u
β : Type v
f : α → β
s : Set β
h : Injective f
⊢ Injective (Subtype.coind (fun x => f ↑x) (_ : ∀ (x : ↑(f ⁻¹' s)), f ↑x ∈ s))

tactic: exact h.comp Subtype.val_injective
state_before: case hf
α✝ β✝ α : Type u
β : Type v
f : α → β
s : Set β
h : Injective f
⊢ Injective fun x => f ↑x
Theorem: LinearIndependent.restrict_scalars_algebras
File: Mathlib/LinearAlgebra/FreeModule/PID.lean

tactic: rwa [Algebra.algebraMap_eq_smul_one'] at hinj
state_before: R : Type u_1
S : Type u_2
M : Type u_3
ι : Type u_4
inst✝⁶ : CommSemiring R
inst✝⁵ : Semiring S
inst✝⁴ : AddCommMonoid M
inst✝³ : Algebra R S
inst✝² : Module R M
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
hinj : Function.Injective ↑(algebraMap R S)
v : ι → M
li : LinearIndependent S v
⊢ Function.Injective fun r => r • 1
Theorem: Asymptotics.IsBigOWith.const_smul_left
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: simpa only [norm_smul, _root_.norm_norm] using h.norm_left.const_mul_left ‖c'‖
state_before: α : Type u_1
β : Type ?u.538090
E : Type ?u.538093
F : Type u_3
G : Type ?u.538099
E' : Type u_2
F' : Type ?u.538105
G' : Type ?u.538108
E'' : Type ?u.538111
F'' : Type ?u.538114
G'' : Type ?u.538117
R : Type ?u.538120
R' : Type ?u.538123
𝕜 : Type u_4
𝕜' : Type ?u.538129
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedRing R'
inst✝² : NormedField 𝕜
inst✝¹ : NormedField 𝕜'
c c'✝ c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
inst✝ : NormedSpace 𝕜 E'
h : IsBigOWith c l f' g
c' : 𝕜
⊢ IsBigOWith (‖c'‖ * c) l (fun x => ‖c' • f' x‖) g
Theorem: MeasureTheory.SimpleFunc.norm_setToSimpleFunc_le_sum_op_norm
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: refine' Finset.sum_le_sum fun b _ => _
state_before: α : Type u_1
E : Type ?u.392348
F : Type u_3
F' : Type u_2
G : Type ?u.392357
𝕜 : Type ?u.392360
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
m : MeasurableSpace α
T : Set α → F' →L[ℝ] F
f : α →ₛ F'
⊢ ∑ x in SimpleFunc.range f, ‖↑(T (↑f ⁻¹' {x})) x‖ ≤ ∑ x in SimpleFunc.range f, ‖T (↑f ⁻¹' {x})‖ * ‖x‖

tactic: simp_rw [ContinuousLinearMap.le_op_norm]
state_before: α : Type u_1
E : Type ?u.392348
F : Type u_3
F' : Type u_2
G : Type ?u.392357
𝕜 : Type ?u.392360
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
m : MeasurableSpace α
T : Set α → F' →L[ℝ] F
f : α →ₛ F'
b : F'
x✝ : b ∈ SimpleFunc.range f
⊢ ‖↑(T (↑f ⁻¹' {b})) b‖ ≤ ‖T (↑f ⁻¹' {b})‖ * ‖b‖
Theorem: InnerProductGeometry.cos_angle_add_of_inner_eq_zero
File: Mathlib/Geometry/Euclidean/Angle/Unoriented/RightAngle.lean

tactic: rw [angle_add_eq_arccos_of_inner_eq_zero h,
  Real.cos_arccos (le_trans (by norm_num) (div_nonneg (norm_nonneg _) (norm_nonneg _)))
    (div_le_one_of_le _ (norm_nonneg _))]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : inner x y = 0
⊢ Real.cos (angle x (x + y)) = ‖x‖ / ‖x + y‖

tactic: rw [mul_self_le_mul_self_iff (norm_nonneg _) (norm_nonneg _),
  norm_add_sq_eq_norm_sq_add_norm_sq_real h]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : inner x y = 0
⊢ ‖x‖ ≤ ‖x + y‖

tactic: exact le_add_of_nonneg_right (mul_self_nonneg _)
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : inner x y = 0
⊢ ‖x‖ * ‖x‖ ≤ ‖x‖ * ‖x‖ + ‖y‖ * ‖y‖

tactic: norm_num
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
x y : V
h : inner x y = 0
⊢ -1 ≤ 0
Theorem: List.exists_mem_ne_one_of_prod_ne_one
File: Mathlib/Data/List/BigOperators/Basic.lean

tactic: simpa only [not_forall, exists_prop] using mt prod_eq_one h
state_before: ι : Type ?u.145057
α : Type ?u.145060
M : Type u_1
N : Type ?u.145066
P : Type ?u.145069
M₀ : Type ?u.145072
G : Type ?u.145075
R : Type ?u.145078
inst✝ : Monoid M
l : List M
h : prod l ≠ 1
⊢ ∃ x, x ∈ l ∧ x ≠ 1
Theorem: Num.cast_le
File: Mathlib/Data/Num/Lemmas.lean

tactic: rw [← not_lt]
state_before: α : Type u_1
inst✝ : LinearOrderedSemiring α
m n : Num
⊢ ↑m ≤ ↑n ↔ m ≤ n

tactic: exact not_congr cast_lt
state_before: α : Type u_1
inst✝ : LinearOrderedSemiring α
m n : Num
⊢ ¬↑n < ↑m ↔ m ≤ n
Theorem: IsROrC.summable_ofReal
File: Mathlib/Analysis/Complex/Basic.lean

tactic: simpa only [IsROrC.reClm_apply, IsROrC.ofReal_re] using reClm.summable h
state_before: α : Type u_2
𝕜 : Type u_1
inst✝ : IsROrC 𝕜
f : α → ℝ
h : Summable fun x => ↑(f x)
⊢ Summable f
Theorem: measurable_pi_iff
File: Mathlib/MeasureTheory/MeasurableSpace.lean

tactic: simp_rw [measurable_iff_comap_le, MeasurableSpace.pi, MeasurableSpace.comap_iSup,
  MeasurableSpace.comap_comp, Function.comp, iSup_le_iff]
state_before: α : Type u_1
β : Type ?u.101571
γ : Type ?u.101574
δ : Type u_2
δ' : Type ?u.101580
ι : Sort uι
s t u : Set α
π : δ → Type u_3
inst✝² : MeasurableSpace α
inst✝¹ : (a : δ) → MeasurableSpace (π a)
inst✝ : MeasurableSpace γ
g : α → (a : δ) → π a
⊢ Measurable g ↔ ∀ (a : δ), Measurable fun x => g x a
Theorem: antilipschitzWith_lineMap
File: Mathlib/Analysis/NormedSpace/AddTorsor.lean

tactic: rw [dist_lineMap_lineMap, NNReal.coe_inv, ← dist_nndist, mul_left_comm,
  inv_mul_cancel (dist_ne_zero.2 h), mul_one]
state_before: α : Type ?u.81137
V : Type ?u.81140
P : Type ?u.81143
W : Type u_3
Q : Type u_1
inst✝⁸ : SeminormedAddCommGroup V
inst✝⁷ : PseudoMetricSpace P
inst✝⁶ : NormedAddTorsor V P
inst✝⁵ : NormedAddCommGroup W
inst✝⁴ : MetricSpace Q
inst✝³ : NormedAddTorsor W Q
𝕜 : Type u_2
inst✝² : NormedField 𝕜
inst✝¹ : NormedSpace 𝕜 V
inst✝ : NormedSpace 𝕜 W
p₁ p₂ : Q
h : p₁ ≠ p₂
c₁ c₂ : 𝕜
⊢ dist c₁ c₂ ≤ ↑(nndist p₁ p₂)⁻¹ * dist (↑(lineMap p₁ p₂) c₁) (↑(lineMap p₁ p₂) c₂)
Theorem: MeasureTheory.SimpleFunc.integral_eq_sum
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: rw [← f.integral_eq_integral hfi, SimpleFunc.integral, ← SimpleFunc.integral_eq]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1250929
𝕜 : Type ?u.1250932
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1253623
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f : α →ₛ E
hfi : Integrable ↑f
⊢ (∫ (x : α), ↑f x ∂μ) = ∑ x in SimpleFunc.range f, ENNReal.toReal (↑↑μ (↑f ⁻¹' {x})) • x

tactic: rfl
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1250929
𝕜 : Type ?u.1250932
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1253623
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
f : α →ₛ E
hfi : Integrable ↑f
⊢ setToSimpleFunc (weightedSMul μ) f = integral μ f
Theorem: MeasureTheory.set_integral_congr_set_ae
File: Mathlib/MeasureTheory/Integral/SetIntegral.lean

tactic: rw [Measure.restrict_congr_set hst]
state_before: α : Type u_1
β : Type ?u.3053
E : Type u_2
F : Type ?u.3059
inst✝³ : MeasurableSpace α
inst✝² : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l l' : Filter α
inst✝¹ : CompleteSpace E
inst✝ : NormedSpace ℝ E
hst : s =ᵐ[μ] t
⊢ (∫ (x : α) in s, f x ∂μ) = ∫ (x : α) in t, f x ∂μ
Theorem: Filter.map_iInf_eq
File: Mathlib/Order/Filter/Basic.lean

tactic: simp only [le_principal_iff, mem_map]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.279682
ι : Sort x
f : ι → Filter α
m : α → β
hf : Directed (fun x x_1 => x ≥ x_1) f
inst✝ : Nonempty ι
s : Set β
hs : m ⁻¹' s ∈ iInf f
i : ι
hi : m ⁻¹' s ∈ f i
⊢ map m (f i) ≤ 𝓟 s

tactic: assumption
state_before: α : Type u
β : Type v
γ : Type w
δ : Type ?u.279682
ι : Sort x
f : ι → Filter α
m : α → β
hf : Directed (fun x x_1 => x ≥ x_1) f
inst✝ : Nonempty ι
s : Set β
hs : m ⁻¹' s ∈ iInf f
i : ι
hi : m ⁻¹' s ∈ f i
⊢ m ⁻¹' s ∈ f i
Theorem: Real.le_arcsin_iff_sin_le'
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Inverse.lean

tactic: rw [← neg_le_neg_iff, ← arcsin_neg, arcsin_le_iff_le_sin' ⟨neg_le_neg hx.2, neg_lt.2 hx.1⟩,
  sin_neg, neg_le_neg_iff]
state_before: x y : ℝ
hx : x ∈ Ioc (-(π / 2)) (π / 2)
⊢ x ≤ arcsin y ↔ sin x ≤ y
Theorem: Matrix.fromBlocks_neg
File: Mathlib/Data/Matrix/Block.lean

tactic: ext i j
state_before: l : Type u_3
m : Type u_4
n : Type u_2
o : Type u_5
p : Type ?u.30648
q : Type ?u.30651
m' : o → Type ?u.30656
n' : o → Type ?u.30661
p' : o → Type ?u.30666
R : Type u_1
S : Type ?u.30672
α : Type ?u.30675
β : Type ?u.30678
inst✝ : Neg R
A : Matrix n l R
B : Matrix n m R
C : Matrix o l R
D : Matrix o m R
⊢ -fromBlocks A B C D = fromBlocks (-A) (-B) (-C) (-D)

tactic: cases i <;> cases j <;> simp [fromBlocks]
state_before: case a.h
l : Type u_3
m : Type u_4
n : Type u_2
o : Type u_5
p : Type ?u.30648
q : Type ?u.30651
m' : o → Type ?u.30656
n' : o → Type ?u.30661
p' : o → Type ?u.30666
R : Type u_1
S : Type ?u.30672
α : Type ?u.30675
β : Type ?u.30678
inst✝ : Neg R
A : Matrix n l R
B : Matrix n m R
C : Matrix o l R
D : Matrix o m R
i : n ⊕ o
j : l ⊕ m
⊢ (-fromBlocks A B C D) i j = fromBlocks (-A) (-B) (-C) (-D) i j
Theorem: MvPolynomial.constantCoeff_C
File: Mathlib/Data/MvPolynomial/Basic.lean

tactic: classical simp [constantCoeff_eq]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
r : R
⊢ ↑constantCoeff (↑C r) = r

tactic: simp [constantCoeff_eq]
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
inst✝ : CommSemiring S₁
p q : MvPolynomial σ R
r : R
⊢ ↑constantCoeff (↑C r) = r
Theorem: Sum.naturality
File: Mathlib/Control/Traversable/Instances.lean

tactic: cases x <;> simp! [Sum.traverse, functor_norm, ApplicativeTransformation.preserves_map,
  ApplicativeTransformation.preserves_seq, ApplicativeTransformation.preserves_pure]
state_before: σ : Type u
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
η : ApplicativeTransformation F G
α : Type u_1
β : Type u
f : α → F β
x : σ ⊕ α
⊢ (fun {α} => ApplicativeTransformation.app η α) (Sum.traverse f x) =
    Sum.traverse ((fun {α} => ApplicativeTransformation.app η α) ∘ f) x
Theorem: IsLocalization.eq_zero_of_fst_eq_zero
File: Mathlib/RingTheory/Localization/Basic.lean

tactic: rw [hx, (algebraMap R S).map_zero] at h
state_before: R : Type u_1
inst✝⁴ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
P : Type ?u.370358
inst✝¹ : CommSemiring P
inst✝ : IsLocalization M S
z : S
x : R
y : { x // x ∈ M }
h : z * ↑(algebraMap R S) ↑y = ↑(algebraMap R S) x
hx : x = 0
⊢ z = 0

tactic: exact (IsUnit.mul_left_eq_zero (IsLocalization.map_units S y)).1 h
state_before: R : Type u_1
inst✝⁴ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝³ : CommSemiring S
inst✝² : Algebra R S
P : Type ?u.370358
inst✝¹ : CommSemiring P
inst✝ : IsLocalization M S
z : S
x : R
y : { x // x ∈ M }
h : z * ↑(algebraMap R S) ↑y = 0
hx : x = 0
⊢ z = 0
Theorem: Order.PFilter.sInf_gc
File: Mathlib/Order/PFilter.lean

tactic: simp
state_before: P : Type u_1
inst✝ : CompleteSemilatticeInf P
F✝ : PFilter P
x : P
F : (PFilter P)ᵒᵈ
⊢ (fun x => ↑toDual (principal x)) x ≤ F ↔ x ≤ (fun F => sInf ↑(↑ofDual F)) F

tactic: rfl
state_before: P : Type u_1
inst✝ : CompleteSemilatticeInf P
F✝ : PFilter P
x : P
F : (PFilter P)ᵒᵈ
⊢ ↑toDual (principal x) ≤ F ↔ ∀ (b : P), b ∈ ↑ofDual F → x ≤ b
Theorem: Set.left_mem_Ioc
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: simp [lt_irrefl]
state_before: α : Type u_1
β : Type ?u.4365
inst✝ : Preorder α
a a₁ a₂ b b₁ b₂ c x : α
⊢ a ∈ Ioc a b ↔ False
Theorem: List.range_eq_nil
File: Std/Data/List/Lemmas.lean

tactic: rw [← length_eq_zero, length_range]
state_before: n : Nat
⊢ range n = [] ↔ n = 0
Theorem: Set.mulIndicator_mul_eq_right
File: Mathlib/Algebra/IndicatorFunction.lean

tactic: refine' (mulIndicator_congr fun x hx => _).trans mulIndicator_mulSupport
state_before: α : Type u_1
β : Type ?u.68899
ι : Type ?u.68902
M : Type u_2
N : Type ?u.68908
inst✝ : MulOneClass M
s t : Set α
f✝ g✝ : α → M
a : α
f g : α → M
h : Disjoint (mulSupport f) (mulSupport g)
⊢ mulIndicator (mulSupport g) (f * g) = g

tactic: have : f x = 1 := nmem_mulSupport.1 (disjoint_right.1 h hx)
state_before: α : Type u_1
β : Type ?u.68899
ι : Type ?u.68902
M : Type u_2
N : Type ?u.68908
inst✝ : MulOneClass M
s t : Set α
f✝ g✝ : α → M
a : α
f g : α → M
h : Disjoint (mulSupport f) (mulSupport g)
x : α
hx : x ∈ mulSupport g
⊢ (f * g) x = g x

tactic: rw [Pi.mul_apply, this, one_mul]
state_before: α : Type u_1
β : Type ?u.68899
ι : Type ?u.68902
M : Type u_2
N : Type ?u.68908
inst✝ : MulOneClass M
s t : Set α
f✝ g✝ : α → M
a : α
f g : α → M
h : Disjoint (mulSupport f) (mulSupport g)
x : α
hx : x ∈ mulSupport g
this : f x = 1
⊢ (f * g) x = g x
Theorem: ENNReal.zpow_pos
File: Mathlib/Data/Real/ENNReal.lean

tactic: cases n
state_before: α : Type ?u.409403
β : Type ?u.409406
a b c d : ℝ≥0∞
r p q : ℝ≥0
ha : a ≠ 0
h'a : a ≠ ⊤
n : ℤ
⊢ 0 < a ^ n

tactic: exact ENNReal.pow_pos ha.bot_lt _
state_before: case ofNat
α : Type ?u.409403
β : Type ?u.409406
a b c d : ℝ≥0∞
r p q : ℝ≥0
ha : a ≠ 0
h'a : a ≠ ⊤
a✝ : ℕ
⊢ 0 < a ^ Int.ofNat a✝

tactic: simp only [h'a, pow_eq_top_iff, zpow_negSucc, Ne.def, not_false, ENNReal.inv_pos, false_and]
state_before: case negSucc
α : Type ?u.409403
β : Type ?u.409406
a b c d : ℝ≥0∞
r p q : ℝ≥0
ha : a ≠ 0
h'a : a ≠ ⊤
a✝ : ℕ
⊢ 0 < a ^ Int.negSucc a✝
Theorem: Orthonormal.equiv_symm
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simp only [LinearIsometryEquiv.apply_symm_apply, Orthonormal.equiv_apply, e.apply_symm_apply]
state_before: 𝕜 : Type u_2
E : Type u_3
F : Type ?u.3085209
inst✝⁸ : IsROrC 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : InnerProductSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : InnerProductSpace ℝ F
dec_E : DecidableEq E
ι : Type u_1
ι' : Type u_4
ι'' : Type ?u.3085264
E' : Type u_5
inst✝³ : NormedAddCommGroup E'
inst✝² : InnerProductSpace 𝕜 E'
E'' : Type ?u.3085285
inst✝¹ : NormedAddCommGroup E''
inst✝ : InnerProductSpace 𝕜 E''
v : Basis ι 𝕜 E
hv : Orthonormal 𝕜 ↑v
v' : Basis ι' 𝕜 E'
hv' : Orthonormal 𝕜 ↑v'
e : ι ≃ ι'
i : ι'
⊢ ↑(equiv hv hv' e) (↑(LinearIsometryEquiv.symm (equiv hv hv' e)) (↑v' i)) =
    ↑(equiv hv hv' e) (↑(equiv hv' hv e.symm) (↑v' i))
Theorem: nhds_eq_iInf_abs_sub
File: Mathlib/Topology/Order/Basic.lean

tactic: simp only [nhds_eq_order, abs_lt, setOf_and, ← inf_principal, iInf_inf_eq]
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : OrderTopology α
l : Filter β
f g : β → α
a : α
⊢ 𝓝 a = ⨅ (r : α) (_ : r > 0), 𝓟 {b | abs (a - b) < r}

tactic: refine (congr_arg₂ _ ?_ ?_).trans inf_comm
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : OrderTopology α
l : Filter β
f g : β → α
a : α
⊢ ((⨅ (b : α) (_ : b ∈ Iio a), 𝓟 (Ioi b)) ⊓ ⨅ (b : α) (_ : b ∈ Ioi a), 𝓟 (Iio b)) =
    (⨅ (x : α) (_ : x > 0), 𝓟 {a_1 | -x < a - a_1}) ⊓ ⨅ (x : α) (_ : x > 0), 𝓟 {a_1 | a - a_1 < x}

tactic: refine (Equiv.subLeft a).iInf_congr fun x => ?_
state_before: case refine_1
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : OrderTopology α
l : Filter β
f g : β → α
a : α
⊢ (⨅ (b : α) (_ : b ∈ Iio a), 𝓟 (Ioi b)) = ⨅ (x : α) (_ : x > 0), 𝓟 {a_1 | a - a_1 < x}

tactic: simp [Ioi]
state_before: case refine_1
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : OrderTopology α
l : Filter β
f g : β → α
a x : α
⊢ (⨅ (_ : ↑(Equiv.subLeft a) x > 0), 𝓟 {a_1 | a - a_1 < ↑(Equiv.subLeft a) x}) = ⨅ (_ : x ∈ Iio a), 𝓟 (Ioi x)

tactic: refine (Equiv.subRight a).iInf_congr fun x => ?_
state_before: case refine_2
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : OrderTopology α
l : Filter β
f g : β → α
a : α
⊢ (⨅ (b : α) (_ : b ∈ Ioi a), 𝓟 (Iio b)) = ⨅ (x : α) (_ : x > 0), 𝓟 {a_1 | -x < a - a_1}

tactic: simp [Iio]
state_before: case refine_2
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrderedAddCommGroup α
inst✝ : OrderTopology α
l : Filter β
f g : β → α
a x : α
⊢ (⨅ (_ : ↑(Equiv.subRight a) x > 0), 𝓟 {a_1 | -↑(Equiv.subRight a) x < a - a_1}) = ⨅ (_ : x ∈ Ioi a), 𝓟 (Iio x)
Theorem: ENNReal.zero_rpow_of_pos
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: rw [← ENNReal.coe_zero, ← ENNReal.some_eq_coe]
state_before: y : ℝ
h : 0 < y
⊢ 0 ^ y = 0

tactic: simp [h, asymm h, ne_of_gt h]
state_before: y : ℝ
h : 0 < y
⊢ (if 0 = 0 ∧ y < 0 then ⊤ else ↑(NNReal.rpow 0 y)) = Option.some 0
Theorem: MvPolynomial.finSuccEquiv_X_succ
File: Mathlib/Data/MvPolynomial/Equiv.lean

tactic: simp
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type ?u.994751
a a' a₁ a₂ : R
e : ℕ
s : σ →₀ ℕ
inst✝ : CommSemiring R
n : ℕ
j : Fin n
⊢ ↑(finSuccEquiv R n) (X (Fin.succ j)) = ↑Polynomial.C (X j)
Theorem: tendsto_order
File: Mathlib/Topology/Order/Basic.lean

tactic: simp only [nhds_eq_order a, tendsto_inf, tendsto_iInf, tendsto_principal]
state_before: α : Type u
β : Type v
γ : Type w
inst✝¹ : TopologicalSpace α
inst✝ : Preorder α
t : OrderTopology α
f : β → α
a : α
x : Filter β
⊢ Tendsto f x (𝓝 a) ↔ (∀ (a' : α), a' < a → ∀ᶠ (b : β) in x, a' < f b) ∧ ∀ (a' : α), a' > a → ∀ᶠ (b : β) in x, f b < a'

tactic: rfl
state_before: α : Type u
β : Type v
γ : Type w
inst✝¹ : TopologicalSpace α
inst✝ : Preorder α
t : OrderTopology α
f : β → α
a : α
x : Filter β
⊢ ((∀ (i : α), i ∈ Iio a → ∀ᶠ (a : β) in x, f a ∈ Ioi i) ∧ ∀ (i : α), i ∈ Ioi a → ∀ᶠ (a : β) in x, f a ∈ Iio i) ↔
    (∀ (a' : α), a' < a → ∀ᶠ (b : β) in x, a' < f b) ∧ ∀ (a' : α), a' > a → ∀ᶠ (b : β) in x, f b < a'
Theorem: Language.mul_self_kstar_comm
File: Mathlib/Computability/Language.lean

tactic: simp only [kstar_eq_iSup_pow, mul_iSup, iSup_mul, ← pow_succ, ← pow_succ']
state_before: α : Type u_1
β : Type ?u.121636
γ : Type ?u.121639
l✝ m : Language α
a b x : List α
l : Language α
⊢ l∗ * l = l * l∗
Theorem: Doset.union_quotToDoset
File: Mathlib/GroupTheory/DoubleCoset.lean

tactic: ext x
state_before: G : Type u_1
inst✝¹ : Group G
α : Type ?u.56988
inst✝ : Mul α
J : Subgroup G
g : G
H K : Subgroup G
⊢ (⋃ (q : Quotient ↑H ↑K), quotToDoset H K q) = Set.univ

tactic: simp only [Set.mem_iUnion, quotToDoset, mem_doset, SetLike.mem_coe, exists_prop, Set.mem_univ,
  iff_true_iff]
state_before: case h
G : Type u_1
inst✝¹ : Group G
α : Type ?u.56988
inst✝ : Mul α
J : Subgroup G
g : G
H K : Subgroup G
x : G
⊢ (x ∈ ⋃ (q : Quotient ↑H ↑K), quotToDoset H K q) ↔ x ∈ Set.univ

tactic: use mk H K x
state_before: case h
G : Type u_1
inst✝¹ : Group G
α : Type ?u.56988
inst✝ : Mul α
J : Subgroup G
g : G
H K : Subgroup G
x : G
⊢ ∃ i x_1, x_1 ∈ H ∧ ∃ y, y ∈ K ∧ x = x_1 * Quotient.out' i * y

tactic: obtain ⟨h, k, h3, h4, h5⟩ := mk_out'_eq_mul H K x
state_before: case h
G : Type u_1
inst✝¹ : Group G
α : Type ?u.56988
inst✝ : Mul α
J : Subgroup G
g : G
H K : Subgroup G
x : G
⊢ ∃ x_1, x_1 ∈ H ∧ ∃ y, y ∈ K ∧ x = x_1 * Quotient.out' (mk H K x) * y

tactic: refine' ⟨h⁻¹, H.inv_mem h3, k⁻¹, K.inv_mem h4, _⟩
state_before: case h.intro.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
α : Type ?u.56988
inst✝ : Mul α
J : Subgroup G
g : G
H K : Subgroup G
x h k : G
h3 : h ∈ H
h4 : k ∈ K
h5 : Quotient.out' (mk H K x) = h * x * k
⊢ ∃ x_1, x_1 ∈ H ∧ ∃ y, y ∈ K ∧ x = x_1 * Quotient.out' (mk H K x) * y

tactic: simp only [h5, Subgroup.coe_mk, ← mul_assoc, one_mul, mul_left_inv, mul_inv_cancel_right]
state_before: case h.intro.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
α : Type ?u.56988
inst✝ : Mul α
J : Subgroup G
g : G
H K : Subgroup G
x h k : G
h3 : h ∈ H
h4 : k ∈ K
h5 : Quotient.out' (mk H K x) = h * x * k
⊢ x = h⁻¹ * Quotient.out' (mk H K x) * k⁻¹