tasksource/leandojo huggingface dataset:
Theorem: Ordinal.typein_lt_typein
File: Mathlib/SetTheory/Ordinal/Basic.lean

tactic: have : f.top.1 = a := by
  let f' := PrincipalSeg.ofElement r a
  let g' := f.trans (PrincipalSeg.ofElement r b)
  have : g'.top = f'.top := by rw [Subsingleton.elim f' g']
  exact this
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
⊢ r a b

tactic: rw [← this]
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
this : ↑f.top = a
⊢ r a b

tactic: exact f.top.2
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
this : ↑f.top = a
⊢ r (↑f.top) b

tactic: let f' := PrincipalSeg.ofElement r a
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
⊢ ↑f.top = a

tactic: let g' := f.trans (PrincipalSeg.ofElement r b)
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
f' : Subrel r {b | r b a} ≺i r := PrincipalSeg.ofElement r a
⊢ ↑f.top = a

tactic: have : g'.top = f'.top := by rw [Subsingleton.elim f' g']
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
f' : Subrel r {b | r b a} ≺i r := PrincipalSeg.ofElement r a
g' : Subrel r {b | r b a} ≺i r := PrincipalSeg.trans f (PrincipalSeg.ofElement r b)
⊢ ↑f.top = a

tactic: exact this
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
f' : Subrel r {b | r b a} ≺i r := PrincipalSeg.ofElement r a
g' : Subrel r {b | r b a} ≺i r := PrincipalSeg.trans f (PrincipalSeg.ofElement r b)
this : g'.top = f'.top
⊢ ↑f.top = a

tactic: rw [Subsingleton.elim f' g']
state_before: α : Type u_1
β : Type ?u.83243
γ : Type ?u.83246
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
a b : α
x✝ : typein r a < typein r b
f : Subrel r {b | r b a} ≺i Subrel r {b_1 | r b_1 b}
f' : Subrel r {b | r b a} ≺i r := PrincipalSeg.ofElement r a
g' : Subrel r {b | r b a} ≺i r := PrincipalSeg.trans f (PrincipalSeg.ofElement r b)
⊢ g'.top = f'.top
Theorem: Finset.Icc_subset_Icc_iff
File: Mathlib/Data/Finset/LocallyFinite.lean

tactic: rw [← coe_subset, coe_Icc, coe_Icc, Set.Icc_subset_Icc_iff h₁]
state_before: ι : Type ?u.25559
α : Type u_1
inst✝¹ : Preorder α
inst✝ : LocallyFiniteOrder α
a a₁ a₂ b b₁ b₂ c x : α
h₁ : a₁ ≤ b₁
⊢ Icc a₁ b₁ ⊆ Icc a₂ b₂ ↔ a₂ ≤ a₁ ∧ b₁ ≤ b₂
Theorem: Set.ne_univ_iff_exists_not_mem
File: Mathlib/Data/Set/Basic.lean

tactic: rw [← not_forall, ← eq_univ_iff_forall]
state_before: α✝ : Type u
β : Type v
γ : Type w
ι : Sort x
a b : α✝
s✝ s₁ s₂ t t₁ t₂ u : Set α✝
α : Type u_1
s : Set α
⊢ s ≠ univ ↔ ∃ a, ¬a ∈ s
Theorem: catalan_succ
File: Mathlib/Combinatorics/Catalan.lean

tactic: rw [catalan]
state_before: n : ℕ
⊢ catalan (n + 1) = ∑ i : Fin (Nat.succ n), catalan ↑i * catalan (n - ↑i)
Theorem: MeasurableSpace.DynkinSystem.generateHas_compl
File: Mathlib/MeasureTheory/PiSystem.lean

tactic: refine' ⟨_, GenerateHas.compl⟩
state_before: α : Type u_1
d : DynkinSystem α
C : Set (Set α)
s : Set α
⊢ GenerateHas C (sᶜ) ↔ GenerateHas C s

tactic: intro h
state_before: α : Type u_1
d : DynkinSystem α
C : Set (Set α)
s : Set α
⊢ GenerateHas C (sᶜ) → GenerateHas C s

tactic: convert GenerateHas.compl h
state_before: α : Type u_1
d : DynkinSystem α
C : Set (Set α)
s : Set α
h : GenerateHas C (sᶜ)
⊢ GenerateHas C s

tactic: simp
state_before: case h.e'_3
α : Type u_1
d : DynkinSystem α
C : Set (Set α)
s : Set α
h : GenerateHas C (sᶜ)
⊢ s = sᶜᶜ
Theorem: ENNReal.div_rpow_of_nonneg
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: rw [div_eq_mul_inv, mul_rpow_of_nonneg _ _ hz, inv_rpow, div_eq_mul_inv]
state_before: x y : ℝ≥0∞
z : ℝ
hz : 0 ≤ z
⊢ (x / y) ^ z = x ^ z / y ^ z
Theorem: MvQPF.id_map
File: Mathlib/Data/QPF/Multivariate/Basic.lean

tactic: rw [← abs_repr x]
state_before: n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α : TypeVec n
x : F α
⊢ TypeVec.id <$$> x = x

tactic: cases' repr x with a f
state_before: n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α : TypeVec n
x : F α
⊢ TypeVec.id <$$> abs (repr x) = abs (repr x)

tactic: rw [← abs_map]
state_before: case mk
n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α : TypeVec n
x : F α
a : (P F).A
f : MvPFunctor.B (P F) a ⟹ α
⊢ TypeVec.id <$$> abs { fst := a, snd := f } = abs { fst := a, snd := f }

tactic: rfl
state_before: case mk
n : ℕ
F : TypeVec n → Type u_1
inst✝ : MvFunctor F
q : MvQPF F
α : TypeVec n
x : F α
a : (P F).A
f : MvPFunctor.B (P F) a ⟹ α
⊢ abs (TypeVec.id <$$> { fst := a, snd := f }) = abs { fst := a, snd := f }
Theorem: intervalIntegral.measure_integral_sub_linear_isLittleO_of_tendsto_ae_of_le'
File: Mathlib/MeasureTheory/Integral/FundThmCalculus.lean

tactic: simp [integral_const', hx]
state_before: ι : Type u_2
𝕜 : Type ?u.377817
E : Type u_1
F : Type ?u.377823
A : Type ?u.377826
inst✝⁴ : NormedAddCommGroup E
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
f : ℝ → E
a b : ℝ
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
μ : MeasureTheory.Measure ℝ
u v ua va ub vb : ι → ℝ
inst✝¹ : IsMeasurablyGenerated l'
inst✝ : TendstoIxxClass Ioc l l'
hfm : StronglyMeasurableAtFilter f l'
hf : Tendsto f (l' ⊓ Measure.ae μ) (𝓝 c)
hl : Measure.FiniteAtFilter μ l'
hu : Tendsto u lt l
hv : Tendsto v lt l
huv : u ≤ᶠ[lt] v
x : ι
hx : u x ≤ v x
⊢ (fun t => (∫ (x : ℝ) in u t..v t, f x ∂μ) - ∫ (x : ℝ) in u t..v t, c ∂μ) x =
    (fun t => (∫ (x : ℝ) in u t..v t, f x ∂μ) - ENNReal.toReal (↑↑μ (Ioc (u t) (v t))) • c) x

tactic: simp [integral_const', hx]
state_before: ι : Type u_2
𝕜 : Type ?u.377817
E : Type u_1
F : Type ?u.377823
A : Type ?u.377826
inst✝⁴ : NormedAddCommGroup E
inst✝³ : CompleteSpace E
inst✝² : NormedSpace ℝ E
f : ℝ → E
a b : ℝ
c ca cb : E
l l' la la' lb lb' : Filter ℝ
lt : Filter ι
μ : MeasureTheory.Measure ℝ
u v ua va ub vb : ι → ℝ
inst✝¹ : IsMeasurablyGenerated l'
inst✝ : TendstoIxxClass Ioc l l'
hfm : StronglyMeasurableAtFilter f l'
hf : Tendsto f (l' ⊓ Measure.ae μ) (𝓝 c)
hl : Measure.FiniteAtFilter μ l'
hu : Tendsto u lt l
hv : Tendsto v lt l
huv : u ≤ᶠ[lt] v
x : ι
hx : u x ≤ v x
⊢ (fun t => ∫ (x : ℝ) in u t..v t, 1 ∂μ) x = (fun t => ENNReal.toReal (↑↑μ (Ioc (u t) (v t)))) x
Theorem: HasDerivWithinAt.clm_apply
File: Mathlib/Analysis/Calculus/Deriv/Mul.lean

tactic: have := (hc.hasFDerivWithinAt.clm_apply hu.hasFDerivWithinAt).hasDerivWithinAt
state_before: 𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
c : 𝕜 → F →L[𝕜] G
c' : F →L[𝕜] G
d : 𝕜 → E →L[𝕜] F
d' : E →L[𝕜] F
u : 𝕜 → F
u' : F
hc : HasDerivWithinAt c c' s x
hu : HasDerivWithinAt u u' s x
⊢ HasDerivWithinAt (fun y => ↑(c y) (u y)) (↑c' (u x) + ↑(c x) u') s x

tactic: rwa [add_apply, comp_apply, flip_apply, smulRight_apply, smulRight_apply, one_apply, one_smul,
  one_smul, add_comm] at this
state_before: 𝕜 : Type u
inst✝⁶ : NontriviallyNormedField 𝕜
F : Type v
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
E : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L L₁ L₂ : Filter 𝕜
G : Type u_1
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
c : 𝕜 → F →L[𝕜] G
c' : F →L[𝕜] G
d : 𝕜 → E →L[𝕜] F
d' : E →L[𝕜] F
u : 𝕜 → F
u' : F
hc : HasDerivWithinAt c c' s x
hu : HasDerivWithinAt u u' s x
this :
  HasDerivWithinAt (fun y => ↑(c y) (u y))
    (↑(comp (c x) (smulRight 1 u') + ↑(ContinuousLinearMap.flip (smulRight 1 c')) (u x)) 1) s x
⊢ HasDerivWithinAt (fun y => ↑(c y) (u y)) (↑c' (u x) + ↑(c x) u') s x
Theorem: IsLocalization.to_map_eq_zero_iff
File: Mathlib/RingTheory/Localization/Basic.lean

tactic: rw [← (algebraMap R S).map_zero]
state_before: R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.3008288
inst✝¹ : CommRing P
K : Type ?u.3008294
inst✝ : IsLocalization M S
x : R
hM : M ≤ nonZeroDivisors R
⊢ ↑(algebraMap R S) x = 0 ↔ x = 0

tactic: constructor <;> intro h
state_before: R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.3008288
inst✝¹ : CommRing P
K : Type ?u.3008294
inst✝ : IsLocalization M S
x : R
hM : M ≤ nonZeroDivisors R
⊢ ↑(algebraMap R S) x = ↑(algebraMap R S) 0 ↔ x = 0

tactic: cases' (eq_iff_exists M S).mp h with c hc
state_before: case mp
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.3008288
inst✝¹ : CommRing P
K : Type ?u.3008294
inst✝ : IsLocalization M S
x : R
hM : M ≤ nonZeroDivisors R
h : ↑(algebraMap R S) x = ↑(algebraMap R S) 0
⊢ x = 0

tactic: rw [mul_zero, mul_comm] at hc
state_before: case mp.intro
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.3008288
inst✝¹ : CommRing P
K : Type ?u.3008294
inst✝ : IsLocalization M S
x : R
hM : M ≤ nonZeroDivisors R
h : ↑(algebraMap R S) x = ↑(algebraMap R S) 0
c : { x // x ∈ M }
hc : ↑c * x = ↑c * 0
⊢ x = 0

tactic: exact hM c.2 x hc
state_before: case mp.intro
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.3008288
inst✝¹ : CommRing P
K : Type ?u.3008294
inst✝ : IsLocalization M S
x : R
hM : M ≤ nonZeroDivisors R
h : ↑(algebraMap R S) x = ↑(algebraMap R S) 0
c : { x // x ∈ M }
hc : x * ↑c = 0
⊢ x = 0

tactic: rw [h]
state_before: case mpr
R : Type u_1
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_2
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.3008288
inst✝¹ : CommRing P
K : Type ?u.3008294
inst✝ : IsLocalization M S
x : R
hM : M ≤ nonZeroDivisors R
h : x = 0
⊢ ↑(algebraMap R S) x = ↑(algebraMap R S) 0
Theorem: ContDiffWithinAt.contDiffOn'
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: rcases h m hm with ⟨t, ht, p, hp⟩
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m✝ n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
m : ℕ
hm : ↑m ≤ n
h : ContDiffWithinAt 𝕜 n f s x
⊢ ∃ u, IsOpen u ∧ x ∈ u ∧ ContDiffOn 𝕜 (↑m) f (insert x s ∩ u)

tactic: rcases mem_nhdsWithin.1 ht with ⟨u, huo, hxu, hut⟩
state_before: case intro.intro.intro
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t✝ u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m✝ n : ℕ∞
p✝ : E → FormalMultilinearSeries 𝕜 E F
m : ℕ
hm : ↑m ≤ n
h : ContDiffWithinAt 𝕜 n f s x
t : Set E
ht : t ∈ 𝓝[insert x s] x
p : E → FormalMultilinearSeries 𝕜 E F
hp : HasFTaylorSeriesUpToOn (↑m) f p t
⊢ ∃ u, IsOpen u ∧ x ∈ u ∧ ContDiffOn 𝕜 (↑m) f (insert x s ∩ u)

tactic: rw [inter_comm] at hut
state_before: case intro.intro.intro.intro.intro.intro
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t✝ u✝ : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m✝ n : ℕ∞
p✝ : E → FormalMultilinearSeries 𝕜 E F
m : ℕ
hm : ↑m ≤ n
h : ContDiffWithinAt 𝕜 n f s x
t : Set E
ht : t ∈ 𝓝[insert x s] x
p : E → FormalMultilinearSeries 𝕜 E F
hp : HasFTaylorSeriesUpToOn (↑m) f p t
u : Set E
huo : IsOpen u
hxu : x ∈ u
hut : u ∩ insert x s ⊆ t
⊢ ∃ u, IsOpen u ∧ x ∈ u ∧ ContDiffOn 𝕜 (↑m) f (insert x s ∩ u)

tactic: exact ⟨u, huo, hxu, (hp.mono hut).contDiffOn⟩
state_before: case intro.intro.intro.intro.intro.intro
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t✝ u✝ : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m✝ n : ℕ∞
p✝ : E → FormalMultilinearSeries 𝕜 E F
m : ℕ
hm : ↑m ≤ n
h : ContDiffWithinAt 𝕜 n f s x
t : Set E
ht : t ∈ 𝓝[insert x s] x
p : E → FormalMultilinearSeries 𝕜 E F
hp : HasFTaylorSeriesUpToOn (↑m) f p t
u : Set E
huo : IsOpen u
hxu : x ∈ u
hut : insert x s ∩ u ⊆ t
⊢ ∃ u, IsOpen u ∧ x ∈ u ∧ ContDiffOn 𝕜 (↑m) f (insert x s ∩ u)
Theorem: NNReal.inner_le_Lp_mul_Lp_of_norm_le_one
File: Mathlib/Analysis/MeanInequalities.lean

tactic: have hp_ne_zero : Real.toNNReal p ≠ 0 := (zero_lt_one.trans hpq.one_lt_nnreal).ne.symm
state_before: ι : Type u
s : Finset ι
f g : ι → ℝ≥0
p q : ℝ
hpq : Real.IsConjugateExponent p q
hf : ∑ i in s, f i ^ p ≤ 1
hg : ∑ i in s, g i ^ q ≤ 1
⊢ ∑ i in s, f i * g i ≤ 1

tactic: have hq_ne_zero : Real.toNNReal q ≠ 0 := (zero_lt_one.trans hpq.symm.one_lt_nnreal).ne.symm
state_before: ι : Type u
s : Finset ι
f g : ι → ℝ≥0
p q : ℝ
hpq : Real.IsConjugateExponent p q
hf : ∑ i in s, f i ^ p ≤ 1
hg : ∑ i in s, g i ^ q ≤ 1
hp_ne_zero : Real.toNNReal p ≠ 0
⊢ ∑ i in s, f i * g i ≤ 1

tactic: rw [sum_add_distrib, sum_div, sum_div]
state_before: ι : Type u
s : Finset ι
f g : ι → ℝ≥0
p q : ℝ
hpq : Real.IsConjugateExponent p q
hf : ∑ i in s, f i ^ p ≤ 1
hg : ∑ i in s, g i ^ q ≤ 1
hp_ne_zero : Real.toNNReal p ≠ 0
hq_ne_zero : Real.toNNReal q ≠ 0
⊢ ∑ i in s, (f i ^ p / Real.toNNReal p + g i ^ q / Real.toNNReal q) =
    (∑ i in s, f i ^ p) / Real.toNNReal p + (∑ i in s, g i ^ q) / Real.toNNReal q

tactic: refine' add_le_add _ _
state_before: ι : Type u
s : Finset ι
f g : ι → ℝ≥0
p q : ℝ
hpq : Real.IsConjugateExponent p q
hf : ∑ i in s, f i ^ p ≤ 1
hg : ∑ i in s, g i ^ q ≤ 1
hp_ne_zero : Real.toNNReal p ≠ 0
hq_ne_zero : Real.toNNReal q ≠ 0
⊢ (∑ i in s, f i ^ p) / Real.toNNReal p + (∑ i in s, g i ^ q) / Real.toNNReal q ≤
    1 / Real.toNNReal p + 1 / Real.toNNReal q

tactic: rwa [div_le_iff hp_ne_zero, div_mul_cancel _ hp_ne_zero]
state_before: case refine'_1
ι : Type u
s : Finset ι
f g : ι → ℝ≥0
p q : ℝ
hpq : Real.IsConjugateExponent p q
hf : ∑ i in s, f i ^ p ≤ 1
hg : ∑ i in s, g i ^ q ≤ 1
hp_ne_zero : Real.toNNReal p ≠ 0
hq_ne_zero : Real.toNNReal q ≠ 0
⊢ (∑ i in s, f i ^ p) / Real.toNNReal p ≤ 1 / Real.toNNReal p

tactic: rwa [div_le_iff hq_ne_zero, div_mul_cancel _ hq_ne_zero]
state_before: case refine'_2
ι : Type u
s : Finset ι
f g : ι → ℝ≥0
p q : ℝ
hpq : Real.IsConjugateExponent p q
hf : ∑ i in s, f i ^ p ≤ 1
hg : ∑ i in s, g i ^ q ≤ 1
hp_ne_zero : Real.toNNReal p ≠ 0
hq_ne_zero : Real.toNNReal q ≠ 0
⊢ (∑ i in s, g i ^ q) / Real.toNNReal q ≤ 1 / Real.toNNReal q
Theorem: OrderIso.map_inf
File: Mathlib/Order/Hom/Basic.lean

tactic: refine' (f.toOrderEmbedding.map_inf_le x y).antisymm _
state_before: F : Type ?u.108900
α : Type u_1
β : Type u_2
γ : Type ?u.108909
δ : Type ?u.108912
inst✝¹ : SemilatticeInf α
inst✝ : SemilatticeInf β
f : α ≃o β
x y : α
⊢ ↑f (x ⊓ y) = ↑f x ⊓ ↑f y

tactic: apply f.symm.le_iff_le.1
state_before: F : Type ?u.108900
α : Type u_1
β : Type u_2
γ : Type ?u.108909
δ : Type ?u.108912
inst✝¹ : SemilatticeInf α
inst✝ : SemilatticeInf β
f : α ≃o β
x y : α
⊢ ↑(toOrderEmbedding f) x ⊓ ↑(toOrderEmbedding f) y ≤ ↑(toOrderEmbedding f) (x ⊓ y)

tactic: simpa using f.symm.toOrderEmbedding.map_inf_le (f x) (f y)
state_before: F : Type ?u.108900
α : Type u_1
β : Type u_2
γ : Type ?u.108909
δ : Type ?u.108912
inst✝¹ : SemilatticeInf α
inst✝ : SemilatticeInf β
f : α ≃o β
x y : α
⊢ ↑(symm f) (↑(toOrderEmbedding f) x ⊓ ↑(toOrderEmbedding f) y) ≤ ↑(symm f) (↑(toOrderEmbedding f) (x ⊓ y))
Theorem: EReal.sub_lt_sub_of_lt_of_le
File: Mathlib/Data/Real/EReal.lean

tactic: simp [ht]
state_before: x y z t : EReal
h : x < y
h' : z ≤ t
hz : z ≠ ⊥
ht : t ≠ ⊤
⊢ -t ≠ ⊥

tactic: simp [hz]
state_before: x y z t : EReal
h : x < y
h' : z ≤ t
hz : z ≠ ⊥
ht : t ≠ ⊤
⊢ -z ≠ ⊤
Theorem: Prod.snd_eq_iff
File: Mathlib/Data/Prod/Basic.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.5507
δ : Type ?u.5510
a : α
b x : β
⊢ (a, b).snd = x ↔ (a, b) = ((a, b).fst, x)
Theorem: Int.sq_of_gcd_eq_one
File: Mathlib/RingTheory/Int/Basic.lean

tactic: have h' : IsUnit (GCDMonoid.gcd a b) := by
  rw [← coe_gcd, h, Int.ofNat_one]
  exact isUnit_one
state_before: a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
⊢ ∃ a0, a = a0 ^ 2 ∨ a = -a0 ^ 2

tactic: obtain ⟨d, ⟨u, hu⟩⟩ := exists_associated_pow_of_mul_eq_pow h' heq
state_before: a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
h' : IsUnit (GCDMonoid.gcd a b)
⊢ ∃ a0, a = a0 ^ 2 ∨ a = -a0 ^ 2

tactic: use d
state_before: case intro.intro
a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
h' : IsUnit (GCDMonoid.gcd a b)
d : ℤ
u : ℤˣ
hu : d ^ 2 * ↑u = a
⊢ ∃ a0, a = a0 ^ 2 ∨ a = -a0 ^ 2

tactic: rw [← hu]
state_before: case intro.intro
a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
h' : IsUnit (GCDMonoid.gcd a b)
d : ℤ
u : ℤˣ
hu : d ^ 2 * ↑u = a
⊢ a = d ^ 2 ∨ a = -d ^ 2

tactic: rw [← coe_gcd, h, Int.ofNat_one]
state_before: a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
⊢ IsUnit (GCDMonoid.gcd a b)

tactic: exact isUnit_one
state_before: a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
⊢ IsUnit 1

tactic: rw [hu']
state_before: case intro.intro.inr
a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
h' : IsUnit (GCDMonoid.gcd a b)
d : ℤ
u : ℤˣ
hu : d ^ 2 * ↑u = a
hu' : u = -1
⊢ d ^ 2 * ↑u = d ^ 2 ∨ d ^ 2 * ↑u = -d ^ 2

tactic: simp
state_before: case intro.intro.inr
a b c : ℤ
h : gcd a b = 1
heq : a * b = c ^ 2
h' : IsUnit (GCDMonoid.gcd a b)
d : ℤ
u : ℤˣ
hu : d ^ 2 * ↑u = a
hu' : u = -1
⊢ d ^ 2 * ↑(-1) = d ^ 2 ∨ d ^ 2 * ↑(-1) = -d ^ 2
Theorem: Turing.Tape.map_fst
File: Mathlib/Computability/TuringMachine.lean

tactic: rintro ⟨⟩
state_before: Γ : Type u_1
Γ' : Type u_2
inst✝¹ : Inhabited Γ
inst✝ : Inhabited Γ'
f : PointedMap Γ Γ'
⊢ ∀ (T : Tape Γ), (map f T).head = PointedMap.f f T.head

tactic: rfl
state_before: case mk
Γ : Type u_1
Γ' : Type u_2
inst✝¹ : Inhabited Γ
inst✝ : Inhabited Γ'
f : PointedMap Γ Γ'
head✝ : Γ
left✝ right✝ : ListBlank Γ
⊢ (map f { head := head✝, left := left✝, right := right✝ }).head =
    PointedMap.f f { head := head✝, left := left✝, right := right✝ }.head
Theorem: spectrum.singleton_add_eq
File: Mathlib/Algebra/Algebra/Spectrum.lean

tactic: rw [singleton_add, image_add_left, mem_preimage]
state_before: R : Type u
A : Type v
inst✝² : CommRing R
inst✝¹ : Ring A
inst✝ : Algebra R A
a : A
r x : R
⊢ x ∈ {r} + σ a ↔ x ∈ σ (↑↑ₐ r + a)

tactic: simp only
state_before: R : Type u
A : Type v
inst✝² : CommRing R
inst✝¹ : Ring A
inst✝ : Algebra R A
a : A
r x : R
⊢ (fun x x_1 => x + x_1) (-r) x ∈ σ a ↔ x ∈ σ (↑↑ₐ r + a)

tactic: rw [add_comm, add_mem_iff, map_neg, neg_neg]
state_before: R : Type u
A : Type v
inst✝² : CommRing R
inst✝¹ : Ring A
inst✝ : Algebra R A
a : A
r x : R
⊢ -r + x ∈ σ a ↔ x ∈ σ (↑↑ₐ r + a)
Theorem: Asymptotics.IsTheta.isBoundedUnder_le_iff
File: Mathlib/Analysis/Asymptotics/Theta.lean

tactic: simp only [← isBigO_const_of_ne (one_ne_zero' ℝ), h.isBigO_congr_left]
state_before: α : Type u_1
β : Type ?u.36725
E : Type ?u.36728
F : Type ?u.36731
G : Type ?u.36734
E' : Type u_2
F' : Type u_3
G' : Type ?u.36743
E'' : Type ?u.36746
F'' : Type ?u.36749
G'' : Type ?u.36752
R : Type ?u.36755
R' : Type ?u.36758
𝕜 : Type ?u.36761
𝕜' : Type ?u.36764
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''
l l' : Filter α
h : f' =Θ[l] g'
⊢ IsBoundedUnder (fun x x_1 => x ≤ x_1) l (norm ∘ f') ↔ IsBoundedUnder (fun x x_1 => x ≤ x_1) l (norm ∘ g')
Theorem: OrthonormalBasis.coe_toBasis_repr_apply
File: Mathlib/Analysis/InnerProductSpace/PiL2.lean

tactic: rw [← Basis.equivFun_apply, OrthonormalBasis.coe_toBasis_repr,
  LinearIsometryEquiv.coe_toLinearEquiv]
state_before: ι : Type u_1
ι' : Type ?u.796257
𝕜 : Type u_2
inst✝⁹ : IsROrC 𝕜
E : Type u_3
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : InnerProductSpace 𝕜 E
E' : Type ?u.796286
inst✝⁶ : NormedAddCommGroup E'
inst✝⁵ : InnerProductSpace 𝕜 E'
F : Type ?u.796304
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
F' : Type ?u.796324
inst✝² : NormedAddCommGroup F'
inst✝¹ : InnerProductSpace ℝ F'
inst✝ : Fintype ι
b : OrthonormalBasis ι 𝕜 E
x : E
i : ι
⊢ ↑(↑(OrthonormalBasis.toBasis b).repr x) i = ↑b.repr x i
Theorem: Multiset.map_surjective_of_surjective
File: Mathlib/Data/Multiset/Basic.lean

tactic: intro s
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.129073
f : α → β
hf : Surjective f
⊢ Surjective (map f)

tactic: induction' s using Multiset.induction_on with x s ih
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.129073
f : α → β
hf : Surjective f
s : Multiset β
⊢ ∃ a, map f a = s

tactic: exact ⟨0, map_zero _⟩
state_before: case empty
α : Type u_1
β : Type u_2
γ : Type ?u.129073
f : α → β
hf : Surjective f
⊢ ∃ a, map f a = 0

tactic: obtain ⟨y, rfl⟩ := hf x
state_before: case cons
α : Type u_1
β : Type u_2
γ : Type ?u.129073
f : α → β
hf : Surjective f
x : β
s : Multiset β
ih : ∃ a, map f a = s
⊢ ∃ a, map f a = x ::ₘ s

tactic: obtain ⟨t, rfl⟩ := ih
state_before: case cons.intro
α : Type u_1
β : Type u_2
γ : Type ?u.129073
f : α → β
hf : Surjective f
s : Multiset β
ih : ∃ a, map f a = s
y : α
⊢ ∃ a, map f a = f y ::ₘ s

tactic: exact ⟨y ::ₘ t, map_cons _ _ _⟩
state_before: case cons.intro.intro
α : Type u_1
β : Type u_2
γ : Type ?u.129073
f : α → β
hf : Surjective f
y : α
t : Multiset α
⊢ ∃ a, map f a = f y ::ₘ map f t
Theorem: Convex.translate_preimage_left
File: Mathlib/Analysis/Convex/Basic.lean

tactic: simpa only [add_comm] using hs.translate_preimage_right z
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.60058
β : Type ?u.60061
inst✝⁴ : OrderedSemiring 𝕜
inst✝³ : AddCommMonoid E
inst✝² : AddCommMonoid F
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
s : Set E
x : E
hs : Convex 𝕜 s
z : E
⊢ Convex 𝕜 ((fun x => x + z) ⁻¹' s)
Theorem: QuadraticForm.polar_add
File: Mathlib/LinearAlgebra/QuadraticForm/Basic.lean

tactic: simp only [polar, Pi.add_apply]
state_before: S : Type ?u.1072
R : Type u_1
R₁ : Type ?u.1078
M : Type u_2
inst✝² : Ring R
inst✝¹ : CommRing R₁
inst✝ : AddCommGroup M
f g : M → R
x y : M
⊢ polar (f + g) x y = polar f x y + polar g x y

tactic: abel
state_before: S : Type ?u.1072
R : Type u_1
R₁ : Type ?u.1078
M : Type u_2
inst✝² : Ring R
inst✝¹ : CommRing R₁
inst✝ : AddCommGroup M
f g : M → R
x y : M
⊢ f (x + y) + g (x + y) - (f x + g x) - (f y + g y) = f (x + y) - f x - f y + (g (x + y) - g x - g y)
Theorem: Int.gcd_eq_right
File: Mathlib/Data/Int/GCD.lean

tactic: rw [gcd_comm, gcd_eq_left H]
state_before: i j : ℤ
H : j ∣ i
⊢ gcd i j = natAbs j