tasksource/leandojo huggingface dataset:
Theorem: Ordnode.Valid'.dual
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: simp [size_dual, add_comm]
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
ol : Bounded l o₁ ↑x
Or : Bounded r (↑x) o₂
sl : Sized l
sr : Sized r
b : BalancedSz (size l) (size r)
bl : Balanced l
br : Balanced r
ol' : Bounded (Ordnode.dual l) (↑x) o₁
sl' : Sized (Ordnode.dual l)
bl' : Balanced (Ordnode.dual l)
or' : Bounded (Ordnode.dual r) o₂ ↑x
sr' : Sized (Ordnode.dual r)
br' : Balanced (Ordnode.dual r)
⊢ size l + size r + 1 = size (Ordnode.dual r) + size (Ordnode.dual l) + 1

tactic: rw [size_dual, size_dual]
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
ol : Bounded l o₁ ↑x
Or : Bounded r (↑x) o₂
sl : Sized l
sr : Sized r
b : BalancedSz (size l) (size r)
bl : Balanced l
br : Balanced r
ol' : Bounded (Ordnode.dual l) (↑x) o₁
sl' : Sized (Ordnode.dual l)
bl' : Balanced (Ordnode.dual l)
or' : Bounded (Ordnode.dual r) o₂ ↑x
sr' : Sized (Ordnode.dual r)
br' : Balanced (Ordnode.dual r)
⊢ BalancedSz (size (Ordnode.dual r)) (size (Ordnode.dual l))

tactic: exact b.symm
state_before: α : Type u_1
inst✝ : Preorder α
l : Ordnode α
x : α
r : Ordnode α
o₁ : WithBot α
o₂ : WithTop α
ol : Bounded l o₁ ↑x
Or : Bounded r (↑x) o₂
sl : Sized l
sr : Sized r
b : BalancedSz (size l) (size r)
bl : Balanced l
br : Balanced r
ol' : Bounded (Ordnode.dual l) (↑x) o₁
sl' : Sized (Ordnode.dual l)
bl' : Balanced (Ordnode.dual l)
or' : Bounded (Ordnode.dual r) o₂ ↑x
sr' : Sized (Ordnode.dual r)
br' : Balanced (Ordnode.dual r)
⊢ BalancedSz (size r) (size l)
Theorem: Char.utf8Size_pos
File: Mathlib/Data/Char.lean

tactic: simp only [utf8Size]
state_before: c : Char
⊢ 0 < utf8Size c

tactic: repeat (split; decide)
state_before: c : Char
⊢ 0 <
    if c.val ≤ UInt32.ofNatCore 127 utf8Size.proof_1 then UInt32.ofNatCore 1 utf8Size.proof_2
    else
      if c.val ≤ UInt32.ofNatCore 2047 utf8Size.proof_3 then UInt32.ofNatCore 2 utf8Size.proof_4
      else
        if c.val ≤ UInt32.ofNatCore 65535 utf8Size.proof_5 then UInt32.ofNatCore 3 utf8Size.proof_6
        else UInt32.ofNatCore 4 utf8Size.proof_7

tactic: decide
state_before: case inr.inr.inr
c : Char
h✝² : ¬c.val ≤ UInt32.ofNatCore 127 utf8Size.proof_1
h✝¹ : ¬c.val ≤ UInt32.ofNatCore 2047 utf8Size.proof_3
h✝ : ¬c.val ≤ UInt32.ofNatCore 65535 utf8Size.proof_5
⊢ 0 < UInt32.ofNatCore 4 utf8Size.proof_7

tactic: (split; decide)
state_before: case inr.inr.inr
c : Char
h✝² : ¬c.val ≤ UInt32.ofNatCore 127 utf8Size.proof_1
h✝¹ : ¬c.val ≤ UInt32.ofNatCore 2047 utf8Size.proof_3
h✝ : ¬c.val ≤ UInt32.ofNatCore 65535 utf8Size.proof_5
⊢ 0 < UInt32.ofNatCore 4 utf8Size.proof_7

tactic: split
state_before: case inr.inr.inr
c : Char
h✝² : ¬c.val ≤ UInt32.ofNatCore 127 utf8Size.proof_1
h✝¹ : ¬c.val ≤ UInt32.ofNatCore 2047 utf8Size.proof_3
h✝ : ¬c.val ≤ UInt32.ofNatCore 65535 utf8Size.proof_5
⊢ 0 < UInt32.ofNatCore 4 utf8Size.proof_7

tactic: decide
state_before: case inr.inr.inl
c : Char
h✝² : ¬c.val ≤ UInt32.ofNatCore 127 utf8Size.proof_1
h✝¹ : ¬c.val ≤ UInt32.ofNatCore 2047 utf8Size.proof_3
h✝ : c.val ≤ UInt32.ofNatCore 65535 utf8Size.proof_5
⊢ 0 < UInt32.ofNatCore 3 utf8Size.proof_6

case inr.inr.inr
c : Char
h✝² : ¬c.val ≤ UInt32.ofNatCore 127 utf8Size.proof_1
h✝¹ : ¬c.val ≤ UInt32.ofNatCore 2047 utf8Size.proof_3
h✝ : ¬c.val ≤ UInt32.ofNatCore 65535 utf8Size.proof_5
⊢ 0 < UInt32.ofNatCore 4 utf8Size.proof_7
Theorem: mul_lt_iff_lt_one_right
File: Mathlib/Algebra/Order/Ring/Lemmas.lean

tactic: rw [mul_one]
state_before: α : Type u_1
a b c d : α
inst✝⁴ : MulOneClass α
inst✝³ : Zero α
inst✝² : Preorder α
inst✝¹ : PosMulStrictMono α
inst✝ : PosMulReflectLT α
a0 : 0 < a
⊢ a * b < a ↔ a * b < a * 1
Theorem: Finset.noncommProd_singleton
File: Mathlib/Data/Finset/NoncommProd.lean

tactic: norm_cast
state_before: F : Type ?u.159067
ι : Type ?u.159070
α : Type ?u.159073
β : Type ?u.159076
γ : Type ?u.159079
f✝ : α → β → β
op : α → α → α
inst✝¹ : Monoid β
inst✝ : Monoid γ
a : α
f : α → β
⊢ Set.Pairwise ↑{a} fun a b => Commute (f a) (f b)

tactic: exact Set.pairwise_singleton _ _
state_before: F : Type ?u.159067
ι : Type ?u.159070
α : Type ?u.159073
β : Type ?u.159076
γ : Type ?u.159079
f✝ : α → β → β
op : α → α → α
inst✝¹ : Monoid β
inst✝ : Monoid γ
a : α
f : α → β
⊢ Set.Pairwise {a} fun a b => Commute (f a) (f b)
Theorem: EReal.nhds_top_basis
File: Mathlib/Topology/Instances/EReal.lean

tactic: refine nhds_top_basis.to_hasBasis (fun x hx => ?_) fun _ _ ↦ ⟨_, coe_lt_top _, Subset.rfl⟩
state_before: α : Type ?u.10195
inst✝ : TopologicalSpace α
⊢ HasBasis (𝓝 ⊤) (fun x => True) fun x => Ioi ↑x

tactic: rcases exists_rat_btwn_of_lt hx with ⟨y, hxy, -⟩
state_before: α : Type ?u.10195
inst✝ : TopologicalSpace α
x : EReal
hx : x < ⊤
⊢ ∃ i', True ∧ Ioi ↑i' ⊆ Ioi x

tactic: exact ⟨_, trivial, Ioi_subset_Ioi hxy.le⟩
state_before: case intro.intro
α : Type ?u.10195
inst✝ : TopologicalSpace α
x : EReal
hx : x < ⊤
y : ℚ
hxy : x < ↑↑y
⊢ ∃ i', True ∧ Ioi ↑i' ⊆ Ioi x
Theorem: Real.abs_cos_eq_sqrt_one_sub_sin_sq
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [← cos_sq', sqrt_sq_eq_abs]
state_before: x✝ y x : ℝ
⊢ abs' (cos x) = sqrt (1 - sin x ^ 2)
Theorem: isClosed_setOf_map_inv
File: Mathlib/Topology/Algebra/Group/Basic.lean

tactic: simp only [setOf_forall]
state_before: α : Type u
β : Type v
G : Type w
H : Type x
inst✝⁸ : TopologicalSpace G
inst✝⁷ : Inv G
inst✝⁶ : ContinuousInv G
inst✝⁵ : TopologicalSpace α
f : α → G
s : Set α
x : α
ι : Type ?u.28517
G₁ : Type u_1
G₂ : Type u_2
inst✝⁴ : TopologicalSpace G₂
inst✝³ : T2Space G₂
inst✝² : Inv G₁
inst✝¹ : Inv G₂
inst✝ : ContinuousInv G₂
⊢ IsClosed {f | ∀ (x : G₁), f x⁻¹ = (f x)⁻¹}

tactic: refine' isClosed_iInter fun i => isClosed_eq (continuous_apply _) (continuous_apply _).inv
state_before: α : Type u
β : Type v
G : Type w
H : Type x
inst✝⁸ : TopologicalSpace G
inst✝⁷ : Inv G
inst✝⁶ : ContinuousInv G
inst✝⁵ : TopologicalSpace α
f : α → G
s : Set α
x : α
ι : Type ?u.28517
G₁ : Type u_1
G₂ : Type u_2
inst✝⁴ : TopologicalSpace G₂
inst✝³ : T2Space G₂
inst✝² : Inv G₁
inst✝¹ : Inv G₂
inst✝ : ContinuousInv G₂
⊢ IsClosed (⋂ (i : G₁), {x | x i⁻¹ = (x i)⁻¹})
Theorem: Int.Prime.dvd_pow
File: Mathlib/RingTheory/Int/Basic.lean

tactic: rw [Int.coe_nat_dvd_left, Int.natAbs_pow] at h
state_before: n : ℤ
k p : ℕ
hp : Nat.Prime p
h : ↑p ∣ n ^ k
⊢ p ∣ natAbs n

tactic: exact hp.dvd_of_dvd_pow h
state_before: n : ℤ
k p : ℕ
hp : Nat.Prime p
h : p ∣ natAbs n ^ k
⊢ p ∣ natAbs n
Theorem: sigmaFinsuppEquivDfinsupp_smul
File: Mathlib/Data/Finsupp/ToDfinsupp.lean

tactic: ext
state_before: ι : Type u_4
R✝ : Type ?u.89337
M : Type ?u.89340
η : ι → Type u_3
N : Type u_2
inst✝³ : Semiring R✝
R : Type u_1
inst✝² : Monoid R
inst✝¹ : AddMonoid N
inst✝ : DistribMulAction R N
r : R
f : (i : ι) × η i →₀ N
⊢ ↑sigmaFinsuppEquivDfinsupp (r • f) = SMul.smul r (↑sigmaFinsuppEquivDfinsupp f)

tactic: rfl
state_before: case h.h
ι : Type u_4
R✝ : Type ?u.89337
M : Type ?u.89340
η : ι → Type u_3
N : Type u_2
inst✝³ : Semiring R✝
R : Type u_1
inst✝² : Monoid R
inst✝¹ : AddMonoid N
inst✝ : DistribMulAction R N
r : R
f : (i : ι) × η i →₀ N
i✝ : ι
a✝ : η i✝
⊢ ↑(↑(↑sigmaFinsuppEquivDfinsupp (r • f)) i✝) a✝ = ↑(↑(SMul.smul r (↑sigmaFinsuppEquivDfinsupp f)) i✝) a✝
Theorem: CircleDeg1Lift.map_int_of_map_zero
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: rw [← f.map_add_int, zero_add]
state_before: f g : CircleDeg1Lift
n : ℤ
⊢ ↑f ↑n = ↑f 0 + ↑n
Theorem: integral_cos_pow
File: Mathlib/Analysis/SpecialFunctions/Integrals.lean

tactic: have : n + 2 ≠ 0 := by linarith
state_before: a b : ℝ
n : ℕ
⊢ (∫ (x : ℝ) in a..b, cos x ^ (n + 2)) =
    (cos b ^ (n + 1) * sin b - cos a ^ (n + 1) * sin a) / (↑n + 2) + (↑n + 1) / (↑n + 2) * ∫ (x : ℝ) in a..b, cos x ^ n

tactic: have : (n : ℝ) + 2 ≠ 0 := by norm_cast
state_before: a b : ℝ
n : ℕ
this : n + 2 ≠ 0
⊢ (∫ (x : ℝ) in a..b, cos x ^ (n + 2)) =
    (cos b ^ (n + 1) * sin b - cos a ^ (n + 1) * sin a) / (↑n + 2) + (↑n + 1) / (↑n + 2) * ∫ (x : ℝ) in a..b, cos x ^ n

tactic: field_simp
state_before: a b : ℝ
n : ℕ
this✝ : n + 2 ≠ 0
this : ↑n + 2 ≠ 0
⊢ (∫ (x : ℝ) in a..b, cos x ^ (n + 2)) =
    (cos b ^ (n + 1) * sin b - cos a ^ (n + 1) * sin a) / (↑n + 2) + (↑n + 1) / (↑n + 2) * ∫ (x : ℝ) in a..b, cos x ^ n

tactic: convert eq_sub_iff_add_eq.mp (integral_cos_pow_aux n) using 1
state_before: a b : ℝ
n : ℕ
this✝ : n + 2 ≠ 0
this : ↑n + 2 ≠ 0
⊢ (∫ (x : ℝ) in a..b, cos x ^ (n + 2)) * (↑n + 2) =
    cos b ^ (n + 1) * sin b - cos a ^ (n + 1) * sin a + (↑n + 1) * ∫ (x : ℝ) in a..b, cos x ^ n

tactic: ring
state_before: case h.e'_2
a b : ℝ
n : ℕ
this✝ : n + 2 ≠ 0
this : ↑n + 2 ≠ 0
⊢ (∫ (x : ℝ) in a..b, cos x ^ (n + 2)) * (↑n + 2) =
    (∫ (x : ℝ) in a..b, cos x ^ (n + 2)) + (↑n + 1) * ∫ (x : ℝ) in a..b, cos x ^ (n + 2)

tactic: linarith
state_before: a b : ℝ
n : ℕ
⊢ n + 2 ≠ 0

tactic: norm_cast
state_before: a b : ℝ
n : ℕ
this : n + 2 ≠ 0
⊢ ↑n + 2 ≠ 0
Theorem: IsLocalization.algHom_subsingleton
File: Mathlib/RingTheory/Localization/Basic.lean

tactic: rw [f.comp_algebraMap, g.comp_algebraMap]
state_before: R : Type u_1
inst✝⁵ : CommSemiring R
M : Submonoid R
S : Type u_3
inst✝⁴ : CommSemiring S
inst✝³ : Algebra R S
P : Type u_2
inst✝² : CommSemiring P
inst✝¹ : IsLocalization M S
g✝ : R →+* P
hg : ∀ (y : { x // x ∈ M }), IsUnit (↑g✝ ↑y)
inst✝ : Algebra R P
f g : S →ₐ[R] P
⊢ RingHom.comp (↑f) (algebraMap R S) = RingHom.comp (↑g) (algebraMap R S)
Theorem: nhdsContainBoxes_of_singleton
File: Mathlib/Topology/SubsetProperties.lean

tactic: simp
state_before: α : Type u
β : Type v
ι : Type ?u.56931
π : ι → Type ?u.56936
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
x : α
y : β
n : Set (α × β)
hn : IsOpen n
hp : {x} ×ˢ {y} ⊆ n
⊢ (x, y) ∈ {x} ×ˢ {y}

tactic: simpa
state_before: α : Type u
β : Type v
ι : Type ?u.56931
π : ι → Type ?u.56936
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
x : α
y : β
n : Set (α × β)
hn : IsOpen n
hp : {x} ×ˢ {y} ⊆ n
u : Set α
v : Set β
uo : IsOpen u
vo : IsOpen v
xu : x ∈ u
yv : y ∈ v
hp' : u ×ˢ v ⊆ n
⊢ {x} ⊆ u

tactic: simpa
state_before: α : Type u
β : Type v
ι : Type ?u.56931
π : ι → Type ?u.56936
inst✝¹ : TopologicalSpace α
inst✝ : TopologicalSpace β
s t : Set α
x : α
y : β
n : Set (α × β)
hn : IsOpen n
hp : {x} ×ˢ {y} ⊆ n
u : Set α
v : Set β
uo : IsOpen u
vo : IsOpen v
xu : x ∈ u
yv : y ∈ v
hp' : u ×ˢ v ⊆ n
⊢ {y} ⊆ v
Theorem: Set.toFinset_image2
File: Mathlib/Data/Finset/NAry.lean

tactic: simp
state_before: α : Type u_1
α' : Type ?u.106504
β : Type u_2
β' : Type ?u.106510
γ : Type u_3
γ' : Type ?u.106516
δ : Type ?u.106519
δ' : Type ?u.106522
ε : Type ?u.106525
ε' : Type ?u.106528
ζ : Type ?u.106531
ζ' : Type ?u.106534
ν : Type ?u.106537
inst✝³ : DecidableEq γ
s✝ : Set α
t✝ : Set β
f : α → β → γ
s : Set α
t : Set β
inst✝² : Fintype ↑s
inst✝¹ : Fintype ↑t
inst✝ : Fintype ↑(image2 f s t)
⊢ ↑(toFinset (image2 f s t)) = ↑(Finset.image₂ f (toFinset s) (toFinset t))
Theorem: Polynomial.natDegree_sum_le
File: Mathlib/Algebra/Polynomial/BigOperators.lean

tactic: simpa using natDegree_multiset_sum_le (s.val.map f)
state_before: R : Type u
ι : Type w
s : Finset ι
S : Type u_1
inst✝ : Semiring S
f : ι → S[X]
⊢ natDegree (∑ i in s, f i) ≤ Finset.fold max 0 (natDegree ∘ f) s
Theorem: Set.image_id
File: Mathlib/Data/Set/Image.lean

tactic: simp
state_before: α : Type u_1
β : Type ?u.39809
γ : Type ?u.39812
ι : Sort ?u.39815
ι' : Sort ?u.39818
f : α → β
s✝ t s : Set α
⊢ id '' s = s
Theorem: MeasureTheory.Measure.ext_of_generateFrom_of_cover_subset
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: refine' ext_of_generateFrom_of_cover h_gen hc h_inter hU htop _ fun t ht => h_eq t (h_sub ht)
state_before: α : Type u_1
β : Type ?u.322475
γ : Type ?u.322478
δ : Type ?u.322481
ι : Type ?u.322484
R : Type ?u.322487
R' : Type ?u.322490
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ (s : Set α), s ∈ T → ↑↑μ s ≠ ⊤
h_eq : ∀ (s : Set α), s ∈ S → ↑↑μ s = ↑↑ν s
⊢ μ = ν

tactic: intro t ht s hs
state_before: α : Type u_1
β : Type ?u.322475
γ : Type ?u.322478
δ : Type ?u.322481
ι : Type ?u.322484
R : Type ?u.322487
R' : Type ?u.322490
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ (s : Set α), s ∈ T → ↑↑μ s ≠ ⊤
h_eq : ∀ (s : Set α), s ∈ S → ↑↑μ s = ↑↑ν s
⊢ ∀ (t : Set α), t ∈ T → ∀ (s : Set α), s ∈ S → ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

tactic: cases' (s ∩ t).eq_empty_or_nonempty with H H
state_before: α : Type u_1
β : Type ?u.322475
γ : Type ?u.322478
δ : Type ?u.322481
ι : Type ?u.322484
R : Type ?u.322487
R' : Type ?u.322490
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ (s : Set α), s ∈ T → ↑↑μ s ≠ ⊤
h_eq : ∀ (s : Set α), s ∈ S → ↑↑μ s = ↑↑ν s
t : Set α
ht : t ∈ T
s : Set α
hs : s ∈ S
⊢ ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

tactic: simp only [H, measure_empty]
state_before: case inl
α : Type u_1
β : Type ?u.322475
γ : Type ?u.322478
δ : Type ?u.322481
ι : Type ?u.322484
R : Type ?u.322487
R' : Type ?u.322490
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ (s : Set α), s ∈ T → ↑↑μ s ≠ ⊤
h_eq : ∀ (s : Set α), s ∈ S → ↑↑μ s = ↑↑ν s
t : Set α
ht : t ∈ T
s : Set α
hs : s ∈ S
H : s ∩ t = ∅
⊢ ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)

tactic: exact h_eq _ (h_inter _ hs _ (h_sub ht) H)
state_before: case inr
α : Type u_1
β : Type ?u.322475
γ : Type ?u.322478
δ : Type ?u.322481
ι : Type ?u.322484
R : Type ?u.322487
R' : Type ?u.322490
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
S T : Set (Set α)
h_gen : m0 = generateFrom S
h_inter : IsPiSystem S
h_sub : T ⊆ S
hc : Set.Countable T
hU : ⋃₀ T = univ
htop : ∀ (s : Set α), s ∈ T → ↑↑μ s ≠ ⊤
h_eq : ∀ (s : Set α), s ∈ S → ↑↑μ s = ↑↑ν s
t : Set α
ht : t ∈ T
s : Set α
hs : s ∈ S
H : Set.Nonempty (s ∩ t)
⊢ ↑↑μ (s ∩ t) = ↑↑ν (s ∩ t)
Theorem: CauSeq.const_equiv
File: Mathlib/Data/Real/CauSeq.lean

tactic: rw [← const_sub, const_limZero, sub_eq_zero]
state_before: α : Type u_2
β : Type u_1
inst✝² : LinearOrderedField α
inst✝¹ : Ring β
abv : β → α
inst✝ : IsAbsoluteValue abv
x y : β
⊢ LimZero (const x - const y) ↔ x = y
Theorem: ENNReal.tendsto_nhds_of_Icc
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: refine Tendsto.mono_right ?_ (biInf_le_nhds _)
state_before: α : Type u_1
β : Type ?u.73089
γ : Type ?u.73092
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f : Filter α
u : α → ℝ≥0∞
a : ℝ≥0∞
h : ∀ (ε : ℝ≥0∞), ε > 0 → ∀ᶠ (x : α) in f, u x ∈ Icc (a - ε) (a + ε)
⊢ Tendsto u f (𝓝 a)

tactic: simpa only [tendsto_iInf, tendsto_principal]
state_before: α : Type u_1
β : Type ?u.73089
γ : Type ?u.73092
a✝ b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
f : Filter α
u : α → ℝ≥0∞
a : ℝ≥0∞
h : ∀ (ε : ℝ≥0∞), ε > 0 → ∀ᶠ (x : α) in f, u x ∈ Icc (a - ε) (a + ε)
⊢ Tendsto u f (⨅ (ε : ℝ≥0∞) (_ : ε > 0), 𝓟 (Icc (a - ε) (a + ε)))
Theorem: MvPolynomial.eval₂_comp_left
File: Mathlib/Data/MvPolynomial/Basic.lean

tactic: apply MvPolynomial.induction_on p <;>
  simp (config := { contextual := true }) [eval₂_add, k.map_add, eval₂_mul, k.map_mul]
state_before: R : Type u
S₁ : Type v
S₂✝ : Type w
S₃ : Type x
σ : Type u_2
a a' a₁ a₂ : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝² : CommSemiring R
inst✝¹ : CommSemiring S₁
p✝ q : MvPolynomial σ R
f✝ : R →+* S₁
g✝ : σ → S₁
S₂ : Type u_1
inst✝ : CommSemiring S₂
k : S₁ →+* S₂
f : R →+* S₁
g : σ → S₁
p : MvPolynomial σ R
⊢ ↑k (eval₂ f g p) = eval₂ (RingHom.comp k f) (↑k ∘ g) p
Theorem: Real.continuousAt_const_rpow
File: Mathlib/Analysis/SpecialFunctions/Pow/Continuity.lean

tactic: have : rpow a = fun x : ℝ => ((a : ℂ) ^ (x : ℂ)).re := by
  ext1 x
  rw [rpow_eq_pow, rpow_def]
state_before: a b : ℝ
h : a ≠ 0
⊢ ContinuousAt (rpow a) b

tactic: rw [this]
state_before: a b : ℝ
h : a ≠ 0
this : rpow a = fun x => (↑a ^ ↑x).re
⊢ ContinuousAt (rpow a) b

tactic: refine' Complex.continuous_re.continuousAt.comp _
state_before: a b : ℝ
h : a ≠ 0
this : rpow a = fun x => (↑a ^ ↑x).re
⊢ ContinuousAt (fun x => (↑a ^ ↑x).re) b

tactic: refine' (continuousAt_const_cpow _).comp Complex.continuous_ofReal.continuousAt
state_before: a b : ℝ
h : a ≠ 0
this : rpow a = fun x => (↑a ^ ↑x).re
⊢ ContinuousAt (fun x => ↑a ^ ↑x) b

tactic: norm_cast
state_before: a b : ℝ
h : a ≠ 0
this : rpow a = fun x => (↑a ^ ↑x).re
⊢ ↑a ≠ 0

tactic: ext1 x
state_before: a b : ℝ
h : a ≠ 0
⊢ rpow a = fun x => (↑a ^ ↑x).re

tactic: rw [rpow_eq_pow, rpow_def]
state_before: case h
a b : ℝ
h : a ≠ 0
x : ℝ
⊢ rpow a x = (↑a ^ ↑x).re
Theorem: div_mul_div_cancel''
File: Mathlib/Algebra/Group/Basic.lean

tactic: rw [mul_comm]
state_before: α : Type ?u.73822
β : Type ?u.73825
G : Type u_1
inst✝ : CommGroup G
a✝ b✝ c✝ d a b c : G
⊢ a / b * (c / a) = c / b

tactic: apply div_mul_div_cancel'
state_before: α : Type ?u.73822
β : Type ?u.73825
G : Type u_1
inst✝ : CommGroup G
a✝ b✝ c✝ d a b c : G
⊢ c / a * (a / b) = c / b
Theorem: Complex.abs_cpow_le
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: rcases ne_or_eq z 0 with (hz | rfl) <;> [exact (abs_cpow_of_ne_zero hz w).le; rw [map_zero]]
state_before: z w : ℂ
⊢ ↑abs (z ^ w) ≤ ↑abs z ^ w.re / Real.exp (arg z * w.im)

tactic: rcases eq_or_ne w 0 with (rfl | hw)
state_before: case inr
w : ℂ
⊢ ↑abs (0 ^ w) ≤ 0 ^ w.re / Real.exp (arg 0 * w.im)

tactic: rw [zero_cpow hw, map_zero]
state_before: case inr.inr
w : ℂ
hw : w ≠ 0
⊢ ↑abs (0 ^ w) ≤ 0 ^ w.re / Real.exp (arg 0 * w.im)

tactic: exact div_nonneg (Real.rpow_nonneg_of_nonneg le_rfl _) (Real.exp_pos _).le
state_before: case inr.inr
w : ℂ
hw : w ≠ 0
⊢ 0 ≤ 0 ^ w.re / Real.exp (arg 0 * w.im)

tactic: simp
state_before: case inr.inl

⊢ ↑abs (0 ^ 0) ≤ 0 ^ 0.re / Real.exp (arg 0 * 0.im)
Theorem: Finset.cons_subset_cons
File: Mathlib/Data/Finset/Basic.lean

tactic: rwa [← coe_subset, coe_cons, coe_cons, Set.insert_subset_insert_iff, coe_subset]
state_before: α : Type u_1
β : Type ?u.39773
γ : Type ?u.39776
s t : Finset α
a b : α
hs : ¬a ∈ s
ht : ¬a ∈ t
⊢ cons a s hs ⊆ cons a t ht ↔ s ⊆ t
Theorem: IsROrC.normSq_conj
File: Mathlib/Data/IsROrC/Basic.lean

tactic: simp only [normSq_apply, neg_mul, mul_neg, neg_neg, isROrC_simps]
state_before: K : Type u_1
E : Type ?u.4535146
inst✝ : IsROrC K
z : K
⊢ ↑normSq (↑(starRingEnd K) z) = ↑normSq z
Theorem: Filter.Tendsto.max_right
File: Mathlib/Topology/Order/Basic.lean

tactic: convert ((continuous_max.comp (@Continuous.Prod.mk α α _ _ a)).tendsto a).comp h
state_before: α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderClosedTopology α
f g : β → α
l : Filter β
a : α
h : Tendsto f l (𝓝 a)
⊢ Tendsto (fun i => max a (f i)) l (𝓝 a)

tactic: simp
state_before: case h.e'_5.h.e'_3
α : Type u
β : Type v
γ : Type w
inst✝² : TopologicalSpace α
inst✝¹ : LinearOrder α
inst✝ : OrderClosedTopology α
f g : β → α
l : Filter β
a : α
h : Tendsto f l (𝓝 a)
⊢ a = ((fun p => max p.fst p.snd) ∘ fun b => (a, b)) a
Theorem: Ideal.Factors.inertiaDeg_ne_zero
File: Mathlib/NumberTheory/RamificationInertia.lean

tactic: rw [inertiaDeg_algebraMap]
state_before: R : Type u
inst✝⁶ : CommRing R
S : Type v
inst✝⁵ : CommRing S
f : R →+* S
p : Ideal R
P✝ : Ideal S
inst✝⁴ : IsDomain S
inst✝³ : IsDedekindDomain S
inst✝² : Algebra R S
inst✝¹ : IsNoetherian R S
inst✝ : IsMaximal p
P : { x // x ∈ Multiset.toFinset (factors (map (algebraMap R S) p)) }
⊢ inertiaDeg (algebraMap R S) p ↑P ≠ 0

tactic: exact (FiniteDimensional.finrank_pos_iff.mpr inferInstance).ne'
state_before: R : Type u
inst✝⁶ : CommRing R
S : Type v
inst✝⁵ : CommRing S
f : R →+* S
p : Ideal R
P✝ : Ideal S
inst✝⁴ : IsDomain S
inst✝³ : IsDedekindDomain S
inst✝² : Algebra R S
inst✝¹ : IsNoetherian R S
inst✝ : IsMaximal p
P : { x // x ∈ Multiset.toFinset (factors (map (algebraMap R S) p)) }
⊢ finrank (R ⧸ p) (S ⧸ ↑P) ≠ 0
Theorem: MeasureTheory.self_mem_ae_restrict
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simp only [ae_restrict_eq hs, exists_prop, mem_principal, mem_inf_iff]
state_before: α : Type u_1
β : Type ?u.588993
γ : Type ?u.588996
δ : Type ?u.588999
ι : Type ?u.589002
R : Type ?u.589005
R' : Type ?u.589008
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t s : Set α
hs : MeasurableSet s
⊢ s ∈ ae (Measure.restrict μ s)

tactic: exact ⟨_, univ_mem, s, Subset.rfl, (univ_inter s).symm⟩
state_before: α : Type u_1
β : Type ?u.588993
γ : Type ?u.588996
δ : Type ?u.588999
ι : Type ?u.589002
R : Type ?u.589005
R' : Type ?u.589008
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t s : Set α
hs : MeasurableSet s
⊢ ∃ t₁, t₁ ∈ ae μ ∧ ∃ t₂, s ⊆ t₂ ∧ s = t₁ ∩ t₂
Theorem: LinearMap.bijective_or_eq_zero
File: Mathlib/RingTheory/SimpleModule.lean

tactic: by_cases h : f = 0
state_before: R : Type u_1
inst✝⁶ : Ring R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
m : Submodule R M
N : Type u_3
inst✝³ : AddCommGroup N
inst✝² : Module R N
inst✝¹ : IsSimpleModule R M
inst✝ : IsSimpleModule R N
f : M →ₗ[R] N
⊢ Function.Bijective ↑f ∨ f = 0

tactic: exact Or.intro_left _ ⟨injective_of_ne_zero h, surjective_of_ne_zero h⟩
state_before: case neg
R : Type u_1
inst✝⁶ : Ring R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
m : Submodule R M
N : Type u_3
inst✝³ : AddCommGroup N
inst✝² : Module R N
inst✝¹ : IsSimpleModule R M
inst✝ : IsSimpleModule R N
f : M →ₗ[R] N
h : ¬f = 0
⊢ Function.Bijective ↑f ∨ f = 0

tactic: right
state_before: case pos
R : Type u_1
inst✝⁶ : Ring R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
m : Submodule R M
N : Type u_3
inst✝³ : AddCommGroup N
inst✝² : Module R N
inst✝¹ : IsSimpleModule R M
inst✝ : IsSimpleModule R N
f : M →ₗ[R] N
h : f = 0
⊢ Function.Bijective ↑f ∨ f = 0

tactic: exact h
state_before: case pos.h
R : Type u_1
inst✝⁶ : Ring R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
m : Submodule R M
N : Type u_3
inst✝³ : AddCommGroup N
inst✝² : Module R N
inst✝¹ : IsSimpleModule R M
inst✝ : IsSimpleModule R N
f : M →ₗ[R] N
h : f = 0
⊢ f = 0
Theorem: Sym2.Rel.trans
File: Mathlib/Data/Sym/Sym2.lean

tactic: aesop (rule_sets [Sym2])
state_before: α : Type u_1
β : Type ?u.533
γ : Type ?u.536
x y z : α × α
a : Rel α x y
b : Rel α y z
⊢ Rel α x z