analysis.special_functions.polynomials
β·
Mathlib.Analysis.SpecialFunctions.Polynomials
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -5,7 +5,7 @@ Authors: Anatole Dedecker, Devon Tuma
-/
import Analysis.Asymptotics.AsymptoticEquivalent
import Analysis.Asymptotics.SpecificAsymptotics
-import Data.Polynomial.RingDivision
+import Algebra.Polynomial.RingDivision
#align_import analysis.special_functions.polynomials from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -78,7 +78,7 @@ theorem tendsto_atTop_iff_leadingCoeff_nonneg :
refine' β¨fun h => _, fun h => tendsto_at_top_of_leading_coeff_nonneg P h.1 h.2β©
have : tendsto (fun x => P.leading_coeff * x ^ P.nat_degree) at_top at_top :=
(is_equivalent_at_top_lead P).tendsto_atTop h
- rw [tendsto_const_mul_pow_at_top_iff, β pos_iff_ne_zero, nat_degree_pos_iff_degree_pos] at this
+ rw [tendsto_const_mul_pow_at_top_iff, β pos_iff_ne_zero, nat_degree_pos_iff_degree_pos] at this
exact β¨this.1, this.2.leβ©
#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg
-/
@@ -137,9 +137,9 @@ theorem tendsto_nhds_iff {c : π} :
refine' β¨fun h => _, fun h => _β©
Β· have := P.is_equivalent_at_top_lead.tendsto_nhds h
by_cases hP : P.leading_coeff = 0
- Β· simp only [hP, MulZeroClass.zero_mul, tendsto_const_nhds_iff] at this
+ Β· simp only [hP, MulZeroClass.zero_mul, tendsto_const_nhds_iff] at this
refine' β¨trans hP this, by simp [leading_coeff_eq_zero.1 hP]β©
- Β· rw [tendsto_const_mul_pow_nhds_iff hP, nat_degree_eq_zero_iff_degree_le_zero] at this
+ Β· rw [tendsto_const_mul_pow_nhds_iff hP, nat_degree_eq_zero_iff_degree_le_zero] at this
exact this.symm
Β· refine' P.is_equivalent_at_top_lead.symm.tendsto_nhds _
have : P.nat_degree = 0 := nat_degree_eq_zero_iff_degree_le_zero.2 h.2
@@ -174,7 +174,7 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
by
by_cases hP : P = 0
Β· simp [hP, tendsto_const_nhds]
- rw [β nat_degree_lt_nat_degree_iff hP] at hdeg
+ rw [β nat_degree_lt_nat_degree_iff hP] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_nhds _
rw [β MulZeroClass.mul_zero]
refine' (tendsto_zpow_atTop_zero _).const_mul _
@@ -188,16 +188,16 @@ theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
by
refine' β¨fun h => _, div_tendsto_zero_of_degree_lt P Qβ©
by_cases hPQ : P.leading_coeff / Q.leading_coeff = 0
- Β· simp only [div_eq_mul_inv, inv_eq_zero, mul_eq_zero] at hPQ
+ Β· simp only [div_eq_mul_inv, inv_eq_zero, mul_eq_zero] at hPQ
cases' hPQ with hP0 hQ0
Β· rw [leading_coeff_eq_zero.1 hP0, degree_zero]
exact bot_lt_iff_ne_bot.2 fun hQ' => hQ (degree_eq_bot.1 hQ')
Β· exact absurd (leading_coeff_eq_zero.1 hQ0) hQ
Β· have := (is_equivalent_at_top_div P Q).tendsto_nhds h
- rw [tendsto_const_mul_zpow_atTop_nhds_iff hPQ] at this
+ rw [tendsto_const_mul_zpow_atTop_nhds_iff hPQ] at this
cases' this with h h
Β· exact absurd h.2 hPQ
- Β· rw [sub_lt_iff_lt_add, zero_add, Int.ofNat_lt] at h
+ Β· rw [sub_lt_iff_lt_add, zero_add, Int.ofNat_lt] at h
exact degree_lt_degree h.1
#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_lt
-/
@@ -217,8 +217,8 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
(hpos : 0 < P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
by
- have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hpos ; linarith
- rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
+ have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hpos; linarith
+ rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atTop _
apply tendsto.const_mul_at_top hpos
apply Filter.tendsto_zpow_atTop_atTop
@@ -243,8 +243,8 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
(hneg : P.leadingCoeff / Q.leadingCoeff < 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
by
- have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hneg ; linarith
- rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
+ have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hneg; linarith
+ rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atBot _
apply tendsto.neg_const_mul_at_top hneg
apply Filter.tendsto_zpow_atTop_atTop
@@ -270,7 +270,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
by
by_cases h : 0 β€ P.leading_coeff / Q.leading_coeff
Β· exact tendsto_abs_at_top_at_top.comp (P.div_tendsto_at_top_of_degree_gt Q hdeg hQ h)
- Β· push_neg at h
+ Β· push_neg at h
exact tendsto_abs_at_bot_at_top.comp (P.div_tendsto_at_bot_of_degree_gt Q hdeg hQ h.le)
#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gt
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3365b20c2ffa7c35e47e5209b89ba9abdddf3ffe
@@ -221,7 +221,7 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atTop _
apply tendsto.const_mul_at_top hpos
- apply tendsto_zpow_atTop_atTop
+ apply Filter.tendsto_zpow_atTop_atTop
linarith
#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'
-/
@@ -247,7 +247,7 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atBot _
apply tendsto.neg_const_mul_at_top hneg
- apply tendsto_zpow_atTop_atTop
+ apply Filter.tendsto_zpow_atTop_atTop
linarith
#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anatole Dedecker, Devon Tuma
-/
-import Mathbin.Analysis.Asymptotics.AsymptoticEquivalent
-import Mathbin.Analysis.Asymptotics.SpecificAsymptotics
-import Mathbin.Data.Polynomial.RingDivision
+import Analysis.Asymptotics.AsymptoticEquivalent
+import Analysis.Asymptotics.SpecificAsymptotics
+import Data.Polynomial.RingDivision
#align_import analysis.special_functions.polynomials from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2020 Anatole Dedecker. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anatole Dedecker, Devon Tuma
-
-! This file was ported from Lean 3 source module analysis.special_functions.polynomials
-! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Analysis.Asymptotics.AsymptoticEquivalent
import Mathbin.Analysis.Asymptotics.SpecificAsymptotics
import Mathbin.Data.Polynomial.RingDivision
+#align_import analysis.special_functions.polynomials from "leanprover-community/mathlib"@"ce38d86c0b2d427ce208c3cee3159cb421d2b3c4"
+
/-!
# Limits related to polynomial and rational functions
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -47,6 +47,7 @@ variable [OrderTopology π]
section PolynomialAtTop
+#print Polynomial.isEquivalent_atTop_lead /-
theorem isEquivalent_atTop_lead :
(fun x => eval x P) ~[atTop] fun x => P.leadingCoeff * x ^ P.natDegree :=
by
@@ -62,14 +63,18 @@ theorem isEquivalent_atTop_lead :
_)
is_equivalent.refl
#align polynomial.is_equivalent_at_top_lead Polynomial.isEquivalent_atTop_lead
+-/
+#print Polynomial.tendsto_atTop_of_leadingCoeff_nonneg /-
theorem tendsto_atTop_of_leadingCoeff_nonneg (hdeg : 0 < P.degree) (hnng : 0 β€ P.leadingCoeff) :
Tendsto (fun x => eval x P) atTop atTop :=
P.isEquivalent_atTop_lead.symm.tendsto_atTop <|
tendsto_const_mul_pow_atTop (natDegree_pos_iff_degree_pos.2 hdeg).ne' <|
hnng.lt_of_ne' <| leadingCoeff_ne_zero.mpr <| ne_zero_of_degree_gt hdeg
#align polynomial.tendsto_at_top_of_leading_coeff_nonneg Polynomial.tendsto_atTop_of_leadingCoeff_nonneg
+-/
+#print Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg /-
theorem tendsto_atTop_iff_leadingCoeff_nonneg :
Tendsto (fun x => eval x P) atTop atTop β 0 < P.degree β§ 0 β€ P.leadingCoeff :=
by
@@ -79,25 +84,33 @@ theorem tendsto_atTop_iff_leadingCoeff_nonneg :
rw [tendsto_const_mul_pow_at_top_iff, β pos_iff_ne_zero, nat_degree_pos_iff_degree_pos] at this
exact β¨this.1, this.2.leβ©
#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg
+-/
+#print Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos /-
theorem tendsto_atBot_iff_leadingCoeff_nonpos :
Tendsto (fun x => eval x P) atTop atBot β 0 < P.degree β§ P.leadingCoeff β€ 0 := by
simp only [β tendsto_neg_at_top_iff, β eval_neg, tendsto_at_top_iff_leading_coeff_nonneg,
degree_neg, leading_coeff_neg, neg_nonneg]
#align polynomial.tendsto_at_bot_iff_leading_coeff_nonpos Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos
+-/
+#print Polynomial.tendsto_atBot_of_leadingCoeff_nonpos /-
theorem tendsto_atBot_of_leadingCoeff_nonpos (hdeg : 0 < P.degree) (hnps : P.leadingCoeff β€ 0) :
Tendsto (fun x => eval x P) atTop atBot :=
P.tendsto_atBot_iff_leadingCoeff_nonpos.2 β¨hdeg, hnpsβ©
#align polynomial.tendsto_at_bot_of_leading_coeff_nonpos Polynomial.tendsto_atBot_of_leadingCoeff_nonpos
+-/
+#print Polynomial.abs_tendsto_atTop /-
theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval x P) atTop atTop :=
by
cases' le_total 0 P.leading_coeff with hP hP
Β· exact tendsto_abs_at_top_at_top.comp (P.tendsto_at_top_of_leading_coeff_nonneg hdeg hP)
Β· exact tendsto_abs_at_bot_at_top.comp (P.tendsto_at_bot_of_leading_coeff_nonpos hdeg hP)
#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTop
+-/
+#print Polynomial.abs_isBoundedUnder_iff /-
theorem abs_isBoundedUnder_iff :
(IsBoundedUnder (Β· β€ Β·) atTop fun x => |eval x P|) β P.degree β€ 0 :=
by
@@ -111,11 +124,14 @@ theorem abs_isBoundedUnder_iff :
contrapose! h
exact not_is_bounded_under_of_tendsto_at_top (abs_tendsto_at_top P h)
#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iff
+-/
+#print Polynomial.abs_tendsto_atTop_iff /-
theorem abs_tendsto_atTop_iff : Tendsto (fun x => abs <| eval x P) atTop atTop β 0 < P.degree :=
β¨fun h => not_le.mp (mt (abs_isBoundedUnder_iff P).mpr (not_isBoundedUnder_of_tendsto_atTop h)),
abs_tendsto_atTop Pβ©
#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iff
+-/
#print Polynomial.tendsto_nhds_iff /-
theorem tendsto_nhds_iff {c : π} :
@@ -139,6 +155,7 @@ end PolynomialAtTop
section PolynomialDivAtTop
+#print Polynomial.isEquivalent_atTop_div /-
theorem isEquivalent_atTop_div :
(fun x => eval x P / eval x Q) ~[atTop] fun x =>
P.leadingCoeff / Q.leadingCoeff * x ^ (P.natDegree - Q.natDegree : β€) :=
@@ -152,7 +169,9 @@ theorem isEquivalent_atTop_div :
(eventually_eq.is_equivalent ((eventually_gt_at_top 0).mono fun x hx => _))
simp [β div_mul_div_comm, hP, hQ, zpow_subβ hx.ne.symm]
#align polynomial.is_equivalent_at_top_div Polynomial.isEquivalent_atTop_div
+-/
+#print Polynomial.div_tendsto_zero_of_degree_lt /-
theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
Tendsto (fun x => eval x P / eval x Q) atTop (π 0) :=
by
@@ -164,7 +183,9 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
refine' (tendsto_zpow_atTop_zero _).const_mul _
linarith
#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_lt
+-/
+#print Polynomial.div_tendsto_zero_iff_degree_lt /-
theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
Tendsto (fun x => eval x P / eval x Q) atTop (π 0) β P.degree < Q.degree :=
by
@@ -182,7 +203,9 @@ theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
Β· rw [sub_lt_iff_lt_add, zero_add, Int.ofNat_lt] at h
exact degree_lt_degree h.1
#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_lt
+-/
+#print Polynomial.div_tendsto_leadingCoeff_div_of_degree_eq /-
theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
Tendsto (fun x => eval x P / eval x Q) atTop (π <| P.leadingCoeff / Q.leadingCoeff) :=
by
@@ -190,7 +213,9 @@ theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
rw [show (P.nat_degree : β€) = Q.nat_degree by simp [hdeg, nat_degree]]
simp [tendsto_const_nhds]
#align polynomial.div_tendsto_leading_coeff_div_of_degree_eq Polynomial.div_tendsto_leadingCoeff_div_of_degree_eq
+-/
+#print Polynomial.div_tendsto_atTop_of_degree_gt' /-
theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
(hpos : 0 < P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
@@ -202,7 +227,9 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
apply tendsto_zpow_atTop_atTop
linarith
#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'
+-/
+#print Polynomial.div_tendsto_atTop_of_degree_gt /-
theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnng : 0 β€ P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
@@ -212,7 +239,9 @@ theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
hQ <| leadingCoeff_eq_zero.mp h).symm
div_tendsto_atTop_of_degree_gt' P Q hdeg ratio_pos
#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gt
+-/
+#print Polynomial.div_tendsto_atBot_of_degree_gt' /-
theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
(hneg : P.leadingCoeff / Q.leadingCoeff < 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
@@ -224,7 +253,9 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
apply tendsto_zpow_atTop_atTop
linarith
#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'
+-/
+#print Polynomial.div_tendsto_atBot_of_degree_gt /-
theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnps : P.leadingCoeff / Q.leadingCoeff β€ 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
@@ -234,7 +265,9 @@ theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
hQ <| leadingCoeff_eq_zero.mp h)
div_tendsto_atBot_of_degree_gt' P Q hdeg ratio_neg
#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gt
+-/
+#print Polynomial.abs_div_tendsto_atTop_of_degree_gt /-
theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0) :
Tendsto (fun x => |eval x P / eval x Q|) atTop atTop :=
by
@@ -243,6 +276,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
Β· push_neg at h
exact tendsto_abs_at_bot_at_top.comp (P.div_tendsto_at_bot_of_degree_gt Q hdeg hQ h.le)
#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gt
+-/
end PolynomialDivAtTop
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -240,7 +240,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
by
by_cases h : 0 β€ P.leading_coeff / Q.leading_coeff
Β· exact tendsto_abs_at_top_at_top.comp (P.div_tendsto_at_top_of_degree_gt Q hdeg hQ h)
- Β· push_neg at h
+ Β· push_neg at h
exact tendsto_abs_at_bot_at_top.comp (P.div_tendsto_at_bot_of_degree_gt Q hdeg hQ h.le)
#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gt
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -76,7 +76,7 @@ theorem tendsto_atTop_iff_leadingCoeff_nonneg :
refine' β¨fun h => _, fun h => tendsto_at_top_of_leading_coeff_nonneg P h.1 h.2β©
have : tendsto (fun x => P.leading_coeff * x ^ P.nat_degree) at_top at_top :=
(is_equivalent_at_top_lead P).tendsto_atTop h
- rw [tendsto_const_mul_pow_at_top_iff, β pos_iff_ne_zero, nat_degree_pos_iff_degree_pos] at this
+ rw [tendsto_const_mul_pow_at_top_iff, β pos_iff_ne_zero, nat_degree_pos_iff_degree_pos] at this
exact β¨this.1, this.2.leβ©
#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg
@@ -124,9 +124,9 @@ theorem tendsto_nhds_iff {c : π} :
refine' β¨fun h => _, fun h => _β©
Β· have := P.is_equivalent_at_top_lead.tendsto_nhds h
by_cases hP : P.leading_coeff = 0
- Β· simp only [hP, MulZeroClass.zero_mul, tendsto_const_nhds_iff] at this
+ Β· simp only [hP, MulZeroClass.zero_mul, tendsto_const_nhds_iff] at this
refine' β¨trans hP this, by simp [leading_coeff_eq_zero.1 hP]β©
- Β· rw [tendsto_const_mul_pow_nhds_iff hP, nat_degree_eq_zero_iff_degree_le_zero] at this
+ Β· rw [tendsto_const_mul_pow_nhds_iff hP, nat_degree_eq_zero_iff_degree_le_zero] at this
exact this.symm
Β· refine' P.is_equivalent_at_top_lead.symm.tendsto_nhds _
have : P.nat_degree = 0 := nat_degree_eq_zero_iff_degree_le_zero.2 h.2
@@ -158,7 +158,7 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
by
by_cases hP : P = 0
Β· simp [hP, tendsto_const_nhds]
- rw [β nat_degree_lt_nat_degree_iff hP] at hdeg
+ rw [β nat_degree_lt_nat_degree_iff hP] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_nhds _
rw [β MulZeroClass.mul_zero]
refine' (tendsto_zpow_atTop_zero _).const_mul _
@@ -170,16 +170,16 @@ theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
by
refine' β¨fun h => _, div_tendsto_zero_of_degree_lt P Qβ©
by_cases hPQ : P.leading_coeff / Q.leading_coeff = 0
- Β· simp only [div_eq_mul_inv, inv_eq_zero, mul_eq_zero] at hPQ
+ Β· simp only [div_eq_mul_inv, inv_eq_zero, mul_eq_zero] at hPQ
cases' hPQ with hP0 hQ0
Β· rw [leading_coeff_eq_zero.1 hP0, degree_zero]
exact bot_lt_iff_ne_bot.2 fun hQ' => hQ (degree_eq_bot.1 hQ')
Β· exact absurd (leading_coeff_eq_zero.1 hQ0) hQ
Β· have := (is_equivalent_at_top_div P Q).tendsto_nhds h
- rw [tendsto_const_mul_zpow_atTop_nhds_iff hPQ] at this
+ rw [tendsto_const_mul_zpow_atTop_nhds_iff hPQ] at this
cases' this with h h
Β· exact absurd h.2 hPQ
- Β· rw [sub_lt_iff_lt_add, zero_add, Int.ofNat_lt] at h
+ Β· rw [sub_lt_iff_lt_add, zero_add, Int.ofNat_lt] at h
exact degree_lt_degree h.1
#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_lt
@@ -195,8 +195,8 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
(hpos : 0 < P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
by
- have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hpos; linarith
- rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
+ have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hpos ; linarith
+ rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atTop _
apply tendsto.const_mul_at_top hpos
apply tendsto_zpow_atTop_atTop
@@ -217,8 +217,8 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
(hneg : P.leadingCoeff / Q.leadingCoeff < 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
by
- have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hneg; linarith
- rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
+ have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hneg ; linarith
+ rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atBot _
apply tendsto.neg_const_mul_at_top hneg
apply tendsto_zpow_atTop_atTop
@@ -240,7 +240,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
by
by_cases h : 0 β€ P.leading_coeff / Q.leading_coeff
Β· exact tendsto_abs_at_top_at_top.comp (P.div_tendsto_at_top_of_degree_gt Q hdeg hQ h)
- Β· push_neg at h
+ Β· push_neg at h
exact tendsto_abs_at_bot_at_top.comp (P.div_tendsto_at_bot_of_degree_gt Q hdeg hQ h.le)
#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gt
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -31,7 +31,7 @@ polynomials.
open Filter Finset Asymptotics
-open Asymptotics Polynomial Topology
+open scoped Asymptotics Polynomial Topology
namespace Polynomial
@@ -117,6 +117,7 @@ theorem abs_tendsto_atTop_iff : Tendsto (fun x => abs <| eval x P) atTop atTop
abs_tendsto_atTop Pβ©
#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iff
+#print Polynomial.tendsto_nhds_iff /-
theorem tendsto_nhds_iff {c : π} :
Tendsto (fun x => eval x P) atTop (π c) β P.leadingCoeff = c β§ P.degree β€ 0 :=
by
@@ -132,6 +133,7 @@ theorem tendsto_nhds_iff {c : π} :
simp only [h.1, this, pow_zero, mul_one]
exact tendsto_const_nhds
#align polynomial.tendsto_nhds_iff Polynomial.tendsto_nhds_iff
+-/
end PolynomialAtTop
@@ -244,6 +246,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
end PolynomialDivAtTop
+#print Polynomial.isBigO_of_degree_le /-
theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
(fun x => eval x P) =O[atTop] fun x => eval x Q :=
by
@@ -256,6 +259,7 @@ theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
Β· exact is_O_of_div_tendsto_nhds hPQ 0 (div_tendsto_zero_of_degree_lt P Q h)
Β· exact is_O_of_div_tendsto_nhds hPQ _ (div_tendsto_leading_coeff_div_of_degree_eq P Q h)
#align polynomial.is_O_of_degree_le Polynomial.isBigO_of_degree_le
+-/
end Polynomial
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,12 +47,6 @@ variable [OrderTopology π]
section PolynomialAtTop
-/- warning: polynomial.is_equivalent_at_top_lead -> Polynomial.isEquivalent_atTop_lead is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (HPow.hPow.{u1, 0, u1} π Nat π (instHPow.{u1, 0} π Nat (Monoid.Pow.{u1} π (Ring.toMonoid.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) x (Polynomial.natDegree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (NonUnitalNonAssocRing.toMul.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (HPow.hPow.{u1, 0, u1} π Nat π (instHPow.{u1, 0} π Nat (Monoid.Pow.{u1} π (MonoidWithZero.toMonoid.{u1} π (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) x (Polynomial.natDegree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)))
-Case conversion may be inaccurate. Consider using '#align polynomial.is_equivalent_at_top_lead Polynomial.isEquivalent_atTop_leadβ'. -/
theorem isEquivalent_atTop_lead :
(fun x => eval x P) ~[atTop] fun x => P.leadingCoeff * x ^ P.natDegree :=
by
@@ -69,12 +63,6 @@ theorem isEquivalent_atTop_lead :
is_equivalent.refl
#align polynomial.is_equivalent_at_top_lead Polynomial.isEquivalent_atTop_lead
-/- warning: polynomial.tendsto_at_top_of_leading_coeff_nonneg -> Polynomial.tendsto_atTop_of_leadingCoeff_nonneg is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_top_of_leading_coeff_nonneg Polynomial.tendsto_atTop_of_leadingCoeff_nonnegβ'. -/
theorem tendsto_atTop_of_leadingCoeff_nonneg (hdeg : 0 < P.degree) (hnng : 0 β€ P.leadingCoeff) :
Tendsto (fun x => eval x P) atTop atTop :=
P.isEquivalent_atTop_lead.symm.tendsto_atTop <|
@@ -82,12 +70,6 @@ theorem tendsto_atTop_of_leadingCoeff_nonneg (hdeg : 0 < P.degree) (hnng : 0 β€
hnng.lt_of_ne' <| leadingCoeff_ne_zero.mpr <| ne_zero_of_degree_gt hdeg
#align polynomial.tendsto_at_top_of_leading_coeff_nonneg Polynomial.tendsto_atTop_of_leadingCoeff_nonneg
-/- warning: polynomial.tendsto_at_top_iff_leading_coeff_nonneg -> Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)))
-Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonnegβ'. -/
theorem tendsto_atTop_iff_leadingCoeff_nonneg :
Tendsto (fun x => eval x P) atTop atTop β 0 < P.degree β§ 0 β€ P.leadingCoeff :=
by
@@ -98,35 +80,17 @@ theorem tendsto_atTop_iff_leadingCoeff_nonneg :
exact β¨this.1, this.2.leβ©
#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg
-/- warning: polynomial.tendsto_at_bot_iff_leading_coeff_nonpos -> Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_bot_iff_leading_coeff_nonpos Polynomial.tendsto_atBot_iff_leadingCoeff_nonposβ'. -/
theorem tendsto_atBot_iff_leadingCoeff_nonpos :
Tendsto (fun x => eval x P) atTop atBot β 0 < P.degree β§ P.leadingCoeff β€ 0 := by
simp only [β tendsto_neg_at_top_iff, β eval_neg, tendsto_at_top_iff_leading_coeff_nonneg,
degree_neg, leading_coeff_neg, neg_nonneg]
#align polynomial.tendsto_at_bot_iff_leading_coeff_nonpos Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos
-/- warning: polynomial.tendsto_at_bot_of_leading_coeff_nonpos -> Polynomial.tendsto_atBot_of_leadingCoeff_nonpos is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_bot_of_leading_coeff_nonpos Polynomial.tendsto_atBot_of_leadingCoeff_nonposβ'. -/
theorem tendsto_atBot_of_leadingCoeff_nonpos (hdeg : 0 < P.degree) (hnps : P.leadingCoeff β€ 0) :
Tendsto (fun x => eval x P) atTop atBot :=
P.tendsto_atBot_iff_leadingCoeff_nonpos.2 β¨hdeg, hnpsβ©
#align polynomial.tendsto_at_bot_of_leading_coeff_nonpos Polynomial.tendsto_atBot_of_leadingCoeff_nonpos
-/- warning: polynomial.abs_tendsto_at_top -> Polynomial.abs_tendsto_atTop is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTopβ'. -/
theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval x P) atTop atTop :=
by
cases' le_total 0 P.leading_coeff with hP hP
@@ -134,12 +98,6 @@ theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval
Β· exact tendsto_abs_at_bot_at_top.comp (P.tendsto_at_bot_of_leading_coeff_nonpos hdeg hP)
#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTop
-/- warning: polynomial.abs_is_bounded_under_iff -> Polynomial.abs_isBoundedUnder_iff is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toHasLe.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (fun (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.587 : π) (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.589 : π) => LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.587 x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.589) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
-Case conversion may be inaccurate. Consider using '#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iffβ'. -/
theorem abs_isBoundedUnder_iff :
(IsBoundedUnder (Β· β€ Β·) atTop fun x => |eval x P|) β P.degree β€ 0 :=
by
@@ -154,23 +112,11 @@ theorem abs_isBoundedUnder_iff :
exact not_is_bounded_under_of_tendsto_at_top (abs_tendsto_at_top P h)
#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iff
-/- warning: polynomial.abs_tendsto_at_top_iff -> Polynomial.abs_tendsto_atTop_iff is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P))
-Case conversion may be inaccurate. Consider using '#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iffβ'. -/
theorem abs_tendsto_atTop_iff : Tendsto (fun x => abs <| eval x P) atTop atTop β 0 < P.degree :=
β¨fun h => not_le.mp (mt (abs_isBoundedUnder_iff P).mpr (not_isBoundedUnder_of_tendsto_atTop h)),
abs_tendsto_atTop Pβ©
#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iff
-/- warning: polynomial.tendsto_nhds_iff -> Polynomial.tendsto_nhds_iff is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))] {c : π}, Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) c)) (And (Eq.{succ u1} π (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) c) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toHasLe.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))] {c : π}, Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) c)) (And (Eq.{succ u1} π (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) c) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_nhds_iff Polynomial.tendsto_nhds_iffβ'. -/
theorem tendsto_nhds_iff {c : π} :
Tendsto (fun x => eval x P) atTop (π c) β P.leadingCoeff = c β§ P.degree β€ 0 :=
by
@@ -191,12 +137,6 @@ end PolynomialAtTop
section PolynomialDivAtTop
-/- warning: polynomial.is_equivalent_at_top_div -> Polynomial.isEquivalent_atTop_div is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (HPow.hPow.{u1, 0, u1} π Int π (instHPow.{u1, 0} π Int (DivInvMonoid.Pow.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) x (HSub.hSub.{0, 0, 0} Int Int Int (instHSub.{0} Int Int.hasSub) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Int (HasLiftT.mk.{1, 1} Nat Int (CoeTCβ.coe.{1, 1} Nat Int (coeBase.{1, 1} Nat Int Int.hasCoe))) (Polynomial.natDegree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Int (HasLiftT.mk.{1, 1} Nat Int (CoeTCβ.coe.{1, 1} Nat Int (coeBase.{1, 1} Nat Int Int.hasCoe))) (Polynomial.natDegree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (NonUnitalNonAssocRing.toMul.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (HPow.hPow.{u1, 0, u1} π Int π (instHPow.{u1, 0} π Int (DivInvMonoid.Pow.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) x (HSub.hSub.{0, 0, 0} Int Int Int (instHSub.{0} Int Int.instSubInt) (Nat.cast.{0} Int instNatCastInt (Polynomial.natDegree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (Nat.cast.{0} Int instNatCastInt (Polynomial.natDegree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)))))
-Case conversion may be inaccurate. Consider using '#align polynomial.is_equivalent_at_top_div Polynomial.isEquivalent_atTop_divβ'. -/
theorem isEquivalent_atTop_div :
(fun x => eval x P / eval x Q) ~[atTop] fun x =>
P.leadingCoeff / Q.leadingCoeff * x ^ (P.natDegree - Q.natDegree : β€) :=
@@ -211,12 +151,6 @@ theorem isEquivalent_atTop_div :
simp [β div_mul_div_comm, hP, hQ, zpow_subβ hx.ne.symm]
#align polynomial.is_equivalent_at_top_div Polynomial.isEquivalent_atTop_div
-/- warning: polynomial.div_tendsto_zero_of_degree_lt -> Polynomial.div_tendsto_zero_of_degree_lt is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_ltβ'. -/
theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
Tendsto (fun x => eval x P / eval x Q) atTop (π 0) :=
by
@@ -229,12 +163,6 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
linarith
#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_lt
-/- warning: polynomial.div_tendsto_zero_iff_degree_lt -> Polynomial.div_tendsto_zero_iff_degree_lt is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)))
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_ltβ'. -/
theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
Tendsto (fun x => eval x P / eval x Q) atTop (π 0) β P.degree < Q.degree :=
by
@@ -253,12 +181,6 @@ theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
exact degree_lt_degree h.1
#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_lt
-/- warning: polynomial.div_tendsto_leading_coeff_div_of_degree_eq -> Polynomial.div_tendsto_leadingCoeff_div_of_degree_eq is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (Eq.{1} (WithBot.{0} Nat) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (Eq.{1} (WithBot.{0} Nat) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))))
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_leading_coeff_div_of_degree_eq Polynomial.div_tendsto_leadingCoeff_div_of_degree_eqβ'. -/
theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
Tendsto (fun x => eval x P / eval x Q) atTop (π <| P.leadingCoeff / Q.leadingCoeff) :=
by
@@ -267,12 +189,6 @@ theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
simp [tendsto_const_nhds]
#align polynomial.div_tendsto_leading_coeff_div_of_degree_eq Polynomial.div_tendsto_leadingCoeff_div_of_degree_eq
-/- warning: polynomial.div_tendsto_at_top_of_degree_gt' -> Polynomial.div_tendsto_atTop_of_degree_gt' is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toHasLt.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'β'. -/
theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
(hpos : 0 < P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
@@ -285,9 +201,6 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
linarith
#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'
-/- warning: polynomial.div_tendsto_at_top_of_degree_gt -> Polynomial.div_tendsto_atTop_of_degree_gt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gtβ'. -/
theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnng : 0 β€ P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
@@ -298,12 +211,6 @@ theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
div_tendsto_atTop_of_degree_gt' P Q hdeg ratio_pos
#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gt
-/- warning: polynomial.div_tendsto_at_bot_of_degree_gt' -> Polynomial.div_tendsto_atBot_of_degree_gt' is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toHasLt.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'β'. -/
theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
(hneg : P.leadingCoeff / Q.leadingCoeff < 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
@@ -316,9 +223,6 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
linarith
#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'
-/- warning: polynomial.div_tendsto_at_bot_of_degree_gt -> Polynomial.div_tendsto_atBot_of_degree_gt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gtβ'. -/
theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnps : P.leadingCoeff / Q.leadingCoeff β€ 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
@@ -329,9 +233,6 @@ theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
div_tendsto_atBot_of_degree_gt' P Q hdeg ratio_neg
#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gt
-/- warning: polynomial.abs_div_tendsto_at_top_of_degree_gt -> Polynomial.abs_div_tendsto_atTop_of_degree_gt is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gtβ'. -/
theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0) :
Tendsto (fun x => |eval x P / eval x Q|) atTop atTop :=
by
@@ -343,12 +244,6 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
end PolynomialDivAtTop
-/- warning: polynomial.is_O_of_degree_le -> Polynomial.isBigO_of_degree_le is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LE.le.{0} (WithBot.{0} Nat) (Preorder.toHasLe.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Asymptotics.IsBigO.{u1, u1, u1} π π π (NormedLinearOrderedField.toHasNorm.{u1} π _inst_1) (NormedLinearOrderedField.toHasNorm.{u1} π _inst_1) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Asymptotics.IsBigO.{u1, u1, u1} π π π (NormedLinearOrderedField.toNorm.{u1} π _inst_1) (NormedLinearOrderedField.toNorm.{u1} π _inst_1) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q))
-Case conversion may be inaccurate. Consider using '#align polynomial.is_O_of_degree_le Polynomial.isBigO_of_degree_leβ'. -/
theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
(fun x => eval x P) =O[atTop] fun x => eval x Q :=
by
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -277,10 +277,7 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
(hpos : 0 < P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
by
- have hQ : Q β 0 := fun h =>
- by
- simp only [h, div_zero, leading_coeff_zero] at hpos
- linarith
+ have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hpos; linarith
rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atTop _
apply tendsto.const_mul_at_top hpos
@@ -311,10 +308,7 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
(hneg : P.leadingCoeff / Q.leadingCoeff < 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
by
- have hQ : Q β 0 := fun h =>
- by
- simp only [h, div_zero, leading_coeff_zero] at hneg
- linarith
+ have hQ : Q β 0 := fun h => by simp only [h, div_zero, leading_coeff_zero] at hneg; linarith
rw [β nat_degree_lt_nat_degree_iff hQ] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_atBot _
apply tendsto.neg_const_mul_at_top hneg
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -289,10 +289,7 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'
/- warning: polynomial.div_tendsto_at_top_of_degree_gt -> Polynomial.div_tendsto_atTop_of_degree_gt is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gtβ'. -/
theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnng : 0 β€ P.leadingCoeff / Q.leadingCoeff) :
@@ -326,10 +323,7 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'
/- warning: polynomial.div_tendsto_at_bot_of_degree_gt -> Polynomial.div_tendsto_atBot_of_degree_gt is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gtβ'. -/
theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnps : P.leadingCoeff / Q.leadingCoeff β€ 0) :
@@ -342,10 +336,7 @@ theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gt
/- warning: polynomial.abs_div_tendsto_at_top_of_degree_gt -> Polynomial.abs_div_tendsto_atTop_of_degree_gt is a dubious translation:
-lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
-but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gtβ'. -/
theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0) :
Tendsto (fun x => |eval x P / eval x Q|) atTop atTop :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -71,7 +71,7 @@ theorem isEquivalent_atTop_lead :
/- warning: polynomial.tendsto_at_top_of_leading_coeff_nonneg -> Polynomial.tendsto_atTop_of_leadingCoeff_nonneg is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_top_of_leading_coeff_nonneg Polynomial.tendsto_atTop_of_leadingCoeff_nonnegβ'. -/
@@ -84,7 +84,7 @@ theorem tendsto_atTop_of_leadingCoeff_nonneg (hdeg : 0 < P.degree) (hnng : 0 β€
/- warning: polynomial.tendsto_at_top_iff_leading_coeff_nonneg -> Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)))
Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonnegβ'. -/
@@ -100,7 +100,7 @@ theorem tendsto_atTop_iff_leadingCoeff_nonneg :
/- warning: polynomial.tendsto_at_bot_iff_leading_coeff_nonpos -> Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_bot_iff_leading_coeff_nonpos Polynomial.tendsto_atBot_iff_leadingCoeff_nonposβ'. -/
@@ -112,7 +112,7 @@ theorem tendsto_atBot_iff_leadingCoeff_nonpos :
/- warning: polynomial.tendsto_at_bot_of_leading_coeff_nonpos -> Polynomial.tendsto_atBot_of_leadingCoeff_nonpos is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_bot_of_leading_coeff_nonpos Polynomial.tendsto_atBot_of_leadingCoeff_nonposβ'. -/
@@ -123,7 +123,7 @@ theorem tendsto_atBot_of_leadingCoeff_nonpos (hdeg : 0 < P.degree) (hnps : P.lea
/- warning: polynomial.abs_tendsto_at_top -> Polynomial.abs_tendsto_atTop is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTopβ'. -/
@@ -136,7 +136,7 @@ theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval
/- warning: polynomial.abs_is_bounded_under_iff -> Polynomial.abs_isBoundedUnder_iff is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toHasLe.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (fun (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.587 : π) (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.589 : π) => LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.587 x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.589) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
Case conversion may be inaccurate. Consider using '#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iffβ'. -/
@@ -156,7 +156,7 @@ theorem abs_isBoundedUnder_iff :
/- warning: polynomial.abs_tendsto_at_top_iff -> Polynomial.abs_tendsto_atTop_iff is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P))
Case conversion may be inaccurate. Consider using '#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iffβ'. -/
@@ -165,7 +165,12 @@ theorem abs_tendsto_atTop_iff : Tendsto (fun x => abs <| eval x P) atTop atTop
abs_tendsto_atTop Pβ©
#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iff
-#print Polynomial.tendsto_nhds_iff /-
+/- warning: polynomial.tendsto_nhds_iff -> Polynomial.tendsto_nhds_iff is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))] {c : π}, Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) c)) (And (Eq.{succ u1} π (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) c) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toHasLe.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))] {c : π}, Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) c)) (And (Eq.{succ u1} π (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) c) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_nhds_iff Polynomial.tendsto_nhds_iffβ'. -/
theorem tendsto_nhds_iff {c : π} :
Tendsto (fun x => eval x P) atTop (π c) β P.leadingCoeff = c β§ P.degree β€ 0 :=
by
@@ -181,7 +186,6 @@ theorem tendsto_nhds_iff {c : π} :
simp only [h.1, this, pow_zero, mul_one]
exact tendsto_const_nhds
#align polynomial.tendsto_nhds_iff Polynomial.tendsto_nhds_iff
--/
end PolynomialAtTop
@@ -209,7 +213,7 @@ theorem isEquivalent_atTop_div :
/- warning: polynomial.div_tendsto_zero_of_degree_lt -> Polynomial.div_tendsto_zero_of_degree_lt is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_ltβ'. -/
@@ -227,7 +231,7 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
/- warning: polynomial.div_tendsto_zero_iff_degree_lt -> Polynomial.div_tendsto_zero_iff_degree_lt is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)))
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_ltβ'. -/
@@ -265,7 +269,7 @@ theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
/- warning: polynomial.div_tendsto_at_top_of_degree_gt' -> Polynomial.div_tendsto_atTop_of_degree_gt' is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toHasLt.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'β'. -/
@@ -286,7 +290,7 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
/- warning: polynomial.div_tendsto_at_top_of_degree_gt -> Polynomial.div_tendsto_atTop_of_degree_gt is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gtβ'. -/
@@ -302,7 +306,7 @@ theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
/- warning: polynomial.div_tendsto_at_bot_of_degree_gt' -> Polynomial.div_tendsto_atBot_of_degree_gt' is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toHasLt.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'β'. -/
@@ -323,7 +327,7 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
/- warning: polynomial.div_tendsto_at_bot_of_degree_gt -> Polynomial.div_tendsto_atBot_of_degree_gt is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toHasLe.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gtβ'. -/
@@ -339,7 +343,7 @@ theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
/- warning: polynomial.abs_div_tendsto_at_top_of_degree_gt -> Polynomial.abs_div_tendsto_atTop_of_degree_gt is a dubious translation:
lean 3 declaration is
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toHasLt.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
but is expected to have type
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
Case conversion may be inaccurate. Consider using '#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gtβ'. -/
@@ -354,7 +358,12 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
end PolynomialDivAtTop
-#print Polynomial.isBigO_of_degree_le /-
+/- warning: polynomial.is_O_of_degree_le -> Polynomial.isBigO_of_degree_le is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LE.le.{0} (WithBot.{0} Nat) (Preorder.toHasLe.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Asymptotics.IsBigO.{u1, u1, u1} π π π (NormedLinearOrderedField.toHasNorm.{u1} π _inst_1) (NormedLinearOrderedField.toHasNorm.{u1} π _inst_1) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Asymptotics.IsBigO.{u1, u1, u1} π π π (NormedLinearOrderedField.toNorm.{u1} π _inst_1) (NormedLinearOrderedField.toNorm.{u1} π _inst_1) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q))
+Case conversion may be inaccurate. Consider using '#align polynomial.is_O_of_degree_le Polynomial.isBigO_of_degree_leβ'. -/
theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
(fun x => eval x P) =O[atTop] fun x => eval x Q :=
by
@@ -367,7 +376,6 @@ theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
Β· exact is_O_of_div_tendsto_nhds hPQ 0 (div_tendsto_zero_of_degree_lt P Q h)
Β· exact is_O_of_div_tendsto_nhds hPQ _ (div_tendsto_leading_coeff_div_of_degree_eq P Q h)
#align polynomial.is_O_of_degree_le Polynomial.isBigO_of_degree_le
--/
end Polynomial
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -138,7 +138,7 @@ theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval
lean 3 declaration is
forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))))
but is expected to have type
- forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (fun (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.593 : π) (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.595 : π) => LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.593 x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.595) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (fun (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.587 : π) (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.589 : π) => LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.587 x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.589) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
Case conversion may be inaccurate. Consider using '#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iffβ'. -/
theorem abs_isBoundedUnder_iff :
(IsBoundedUnder (Β· β€ Β·) atTop fun x => |eval x P|) β P.degree β€ 0 :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/cd8fafa2fac98e1a67097e8a91ad9901cfde48af
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anatole Dedecker, Devon Tuma
! This file was ported from Lean 3 source module analysis.special_functions.polynomials
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
+! leanprover-community/mathlib commit ce38d86c0b2d427ce208c3cee3159cb421d2b3c4
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -15,6 +15,9 @@ import Mathbin.Data.Polynomial.RingDivision
/-!
# Limits related to polynomial and rational functions
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
This file proves basic facts about limits of polynomial and rationals functions.
The main result is `eval_is_equivalent_at_top_eval_lead`, which states that for
any polynomial `P` of degree `n` with leading coefficient `a`, the corresponding
mathlib commit https://github.com/leanprover-community/mathlib/commit/17ad94b4953419f3e3ce3e77da3239c62d1d09f0
@@ -34,14 +34,22 @@ namespace Polynomial
variable {π : Type _} [NormedLinearOrderedField π] (P Q : π[X])
+#print Polynomial.eventually_no_roots /-
theorem eventually_no_roots (hP : P β 0) : βαΆ x in atTop, Β¬P.IsRoot x :=
atTop_le_cofinite <| (finite_setOf_isRoot hP).compl_mem_cofinite
#align polynomial.eventually_no_roots Polynomial.eventually_no_roots
+-/
variable [OrderTopology π]
section PolynomialAtTop
+/- warning: polynomial.is_equivalent_at_top_lead -> Polynomial.isEquivalent_atTop_lead is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (HPow.hPow.{u1, 0, u1} π Nat π (instHPow.{u1, 0} π Nat (Monoid.Pow.{u1} π (Ring.toMonoid.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) x (Polynomial.natDegree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (NonUnitalNonAssocRing.toMul.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (HPow.hPow.{u1, 0, u1} π Nat π (instHPow.{u1, 0} π Nat (Monoid.Pow.{u1} π (MonoidWithZero.toMonoid.{u1} π (Semiring.toMonoidWithZero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) x (Polynomial.natDegree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)))
+Case conversion may be inaccurate. Consider using '#align polynomial.is_equivalent_at_top_lead Polynomial.isEquivalent_atTop_leadβ'. -/
theorem isEquivalent_atTop_lead :
(fun x => eval x P) ~[atTop] fun x => P.leadingCoeff * x ^ P.natDegree :=
by
@@ -58,6 +66,12 @@ theorem isEquivalent_atTop_lead :
is_equivalent.refl
#align polynomial.is_equivalent_at_top_lead Polynomial.isEquivalent_atTop_lead
+/- warning: polynomial.tendsto_at_top_of_leading_coeff_nonneg -> Polynomial.tendsto_atTop_of_leadingCoeff_nonneg is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_top_of_leading_coeff_nonneg Polynomial.tendsto_atTop_of_leadingCoeff_nonnegβ'. -/
theorem tendsto_atTop_of_leadingCoeff_nonneg (hdeg : 0 < P.degree) (hnng : 0 β€ P.leadingCoeff) :
Tendsto (fun x => eval x P) atTop atTop :=
P.isEquivalent_atTop_lead.symm.tendsto_atTop <|
@@ -65,6 +79,12 @@ theorem tendsto_atTop_of_leadingCoeff_nonneg (hdeg : 0 < P.degree) (hnng : 0 β€
hnng.lt_of_ne' <| leadingCoeff_ne_zero.mpr <| ne_zero_of_degree_gt hdeg
#align polynomial.tendsto_at_top_of_leading_coeff_nonneg Polynomial.tendsto_atTop_of_leadingCoeff_nonneg
+/- warning: polynomial.tendsto_at_top_iff_leading_coeff_nonneg -> Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)))
+Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonnegβ'. -/
theorem tendsto_atTop_iff_leadingCoeff_nonneg :
Tendsto (fun x => eval x P) atTop atTop β 0 < P.degree β§ 0 β€ P.leadingCoeff :=
by
@@ -75,17 +95,35 @@ theorem tendsto_atTop_iff_leadingCoeff_nonneg :
exact β¨this.1, this.2.leβ©
#align polynomial.tendsto_at_top_iff_leading_coeff_nonneg Polynomial.tendsto_atTop_iff_leadingCoeff_nonneg
+/- warning: polynomial.tendsto_at_bot_iff_leading_coeff_nonpos -> Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (And (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_bot_iff_leading_coeff_nonpos Polynomial.tendsto_atBot_iff_leadingCoeff_nonposβ'. -/
theorem tendsto_atBot_iff_leadingCoeff_nonpos :
Tendsto (fun x => eval x P) atTop atBot β 0 < P.degree β§ P.leadingCoeff β€ 0 := by
simp only [β tendsto_neg_at_top_iff, β eval_neg, tendsto_at_top_iff_leading_coeff_nonneg,
degree_neg, leading_coeff_neg, neg_nonneg]
#align polynomial.tendsto_at_bot_iff_leading_coeff_nonpos Polynomial.tendsto_atBot_iff_leadingCoeff_nonpos
+/- warning: polynomial.tendsto_at_bot_of_leading_coeff_nonpos -> Polynomial.tendsto_atBot_of_leadingCoeff_nonpos is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.tendsto_at_bot_of_leading_coeff_nonpos Polynomial.tendsto_atBot_of_leadingCoeff_nonposβ'. -/
theorem tendsto_atBot_of_leadingCoeff_nonpos (hdeg : 0 < P.degree) (hnps : P.leadingCoeff β€ 0) :
Tendsto (fun x => eval x P) atTop atBot :=
P.tendsto_atBot_iff_leadingCoeff_nonpos.2 β¨hdeg, hnpsβ©
#align polynomial.tendsto_at_bot_of_leading_coeff_nonpos Polynomial.tendsto_atBot_of_leadingCoeff_nonpos
+/- warning: polynomial.abs_tendsto_at_top -> Polynomial.abs_tendsto_atTop is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTopβ'. -/
theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval x P) atTop atTop :=
by
cases' le_total 0 P.leading_coeff with hP hP
@@ -93,6 +131,12 @@ theorem abs_tendsto_atTop (hdeg : 0 < P.degree) : Tendsto (fun x => abs <| eval
Β· exact tendsto_abs_at_bot_at_top.comp (P.tendsto_at_bot_of_leading_coeff_nonpos hdeg hP)
#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTop
+/- warning: polynomial.abs_is_bounded_under_iff -> Polynomial.abs_isBoundedUnder_iff is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.IsBoundedUnder.{u1, u1} π π (fun (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.593 : π) (x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.595 : π) => LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.593 x._@.Mathlib.Analysis.SpecialFunctions.Polynomials._hyg.595) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P))) (LE.le.{0} (WithBot.{0} Nat) (Preorder.toLE.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))))
+Case conversion may be inaccurate. Consider using '#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iffβ'. -/
theorem abs_isBoundedUnder_iff :
(IsBoundedUnder (Β· β€ Β·) atTop fun x => |eval x P|) β P.degree β€ 0 :=
by
@@ -107,11 +151,18 @@ theorem abs_isBoundedUnder_iff :
exact not_is_bounded_under_of_tendsto_at_top (abs_tendsto_at_top P h)
#align polynomial.abs_is_bounded_under_iff Polynomial.abs_isBoundedUnder_iff
+/- warning: polynomial.abs_tendsto_at_top_iff -> Polynomial.abs_tendsto_atTop_iff is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (OfNat.mk.{0} (WithBot.{0} Nat) 0 (Zero.zero.{0} (WithBot.{0} Nat) (WithBot.hasZero.{0} Nat Nat.hasZero)))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (OfNat.ofNat.{0} (WithBot.{0} Nat) 0 (Zero.toOfNat0.{0} (WithBot.{0} Nat) (WithBot.zero.{0} Nat (LinearOrderedCommMonoidWithZero.toZero.{0} Nat Nat.linearOrderedCommMonoidWithZero)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P))
+Case conversion may be inaccurate. Consider using '#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iffβ'. -/
theorem abs_tendsto_atTop_iff : Tendsto (fun x => abs <| eval x P) atTop atTop β 0 < P.degree :=
β¨fun h => not_le.mp (mt (abs_isBoundedUnder_iff P).mpr (not_isBoundedUnder_of_tendsto_atTop h)),
abs_tendsto_atTop Pβ©
#align polynomial.abs_tendsto_at_top_iff Polynomial.abs_tendsto_atTop_iff
+#print Polynomial.tendsto_nhds_iff /-
theorem tendsto_nhds_iff {c : π} :
Tendsto (fun x => eval x P) atTop (π c) β P.leadingCoeff = c β§ P.degree β€ 0 :=
by
@@ -127,11 +178,18 @@ theorem tendsto_nhds_iff {c : π} :
simp only [h.1, this, pow_zero, mul_one]
exact tendsto_const_nhds
#align polynomial.tendsto_nhds_iff Polynomial.tendsto_nhds_iff
+-/
end PolynomialAtTop
section PolynomialDivAtTop
+/- warning: polynomial.is_equivalent_at_top_div -> Polynomial.isEquivalent_atTop_div is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (Distrib.toHasMul.{u1} π (Ring.toDistrib.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (HPow.hPow.{u1, 0, u1} π Int π (instHPow.{u1, 0} π Int (DivInvMonoid.Pow.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) x (HSub.hSub.{0, 0, 0} Int Int Int (instHSub.{0} Int Int.hasSub) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Int (HasLiftT.mk.{1, 1} Nat Int (CoeTCβ.coe.{1, 1} Nat Int (coeBase.{1, 1} Nat Int Int.hasCoe))) (Polynomial.natDegree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) ((fun (a : Type) (b : Type) [self : HasLiftT.{1, 1} a b] => self.0) Nat Int (HasLiftT.mk.{1, 1} Nat Int (CoeTCβ.coe.{1, 1} Nat Int (coeBase.{1, 1} Nat Int Int.hasCoe))) (Polynomial.natDegree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], Asymptotics.IsEquivalent.{u1, u1} π π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (fun (x : π) => HMul.hMul.{u1, u1, u1} π π π (instHMul.{u1} π (NonUnitalNonAssocRing.toMul.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (HPow.hPow.{u1, 0, u1} π Int π (instHPow.{u1, 0} π Int (DivInvMonoid.Pow.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) x (HSub.hSub.{0, 0, 0} Int Int Int (instHSub.{0} Int Int.instSubInt) (Nat.cast.{0} Int instNatCastInt (Polynomial.natDegree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) (Nat.cast.{0} Int instNatCastInt (Polynomial.natDegree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)))))
+Case conversion may be inaccurate. Consider using '#align polynomial.is_equivalent_at_top_div Polynomial.isEquivalent_atTop_divβ'. -/
theorem isEquivalent_atTop_div :
(fun x => eval x P / eval x Q) ~[atTop] fun x =>
P.leadingCoeff / Q.leadingCoeff * x ^ (P.natDegree - Q.natDegree : β€) :=
@@ -146,6 +204,12 @@ theorem isEquivalent_atTop_div :
simp [β div_mul_div_comm, hP, hQ, zpow_subβ hx.ne.symm]
#align polynomial.is_equivalent_at_top_div Polynomial.isEquivalent_atTop_div
+/- warning: polynomial.div_tendsto_zero_of_degree_lt -> Polynomial.div_tendsto_zero_of_degree_lt is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_ltβ'. -/
theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
Tendsto (fun x => eval x P / eval x Q) atTop (π 0) :=
by
@@ -158,6 +222,12 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
linarith
#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_lt
+/- warning: polynomial.div_tendsto_zero_iff_degree_lt -> Polynomial.div_tendsto_zero_iff_degree_lt is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Iff (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))) (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_ltβ'. -/
theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
Tendsto (fun x => eval x P / eval x Q) atTop (π 0) β P.degree < Q.degree :=
by
@@ -176,6 +246,12 @@ theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
exact degree_lt_degree h.1
#align polynomial.div_tendsto_zero_iff_degree_lt Polynomial.div_tendsto_zero_iff_degree_lt
+/- warning: polynomial.div_tendsto_leading_coeff_div_of_degree_eq -> Polynomial.div_tendsto_leadingCoeff_div_of_degree_eq is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (Eq.{1} (WithBot.{0} Nat) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (Eq.{1} (WithBot.{0} Nat) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (nhds.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_leading_coeff_div_of_degree_eq Polynomial.div_tendsto_leadingCoeff_div_of_degree_eqβ'. -/
theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
Tendsto (fun x => eval x P / eval x Q) atTop (π <| P.leadingCoeff / Q.leadingCoeff) :=
by
@@ -184,6 +260,12 @@ theorem div_tendsto_leadingCoeff_div_of_degree_eq (hdeg : P.degree = Q.degree) :
simp [tendsto_const_nhds]
#align polynomial.div_tendsto_leading_coeff_div_of_degree_eq Polynomial.div_tendsto_leadingCoeff_div_of_degree_eq
+/- warning: polynomial.div_tendsto_at_top_of_degree_gt' -> Polynomial.div_tendsto_atTop_of_degree_gt' is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'β'. -/
theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
(hpos : 0 < P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
@@ -199,6 +281,12 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
linarith
#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'
+/- warning: polynomial.div_tendsto_at_top_of_degree_gt -> Polynomial.div_tendsto_atTop_of_degree_gt is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gtβ'. -/
theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnng : 0 β€ P.leadingCoeff / Q.leadingCoeff) :
Tendsto (fun x => eval x P / eval x Q) atTop atTop :=
@@ -209,6 +297,12 @@ theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
div_tendsto_atTop_of_degree_gt' P Q hdeg ratio_pos
#align polynomial.div_tendsto_at_top_of_degree_gt Polynomial.div_tendsto_atTop_of_degree_gt
+/- warning: polynomial.div_tendsto_at_bot_of_degree_gt' -> Polynomial.div_tendsto_atBot_of_degree_gt' is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (LT.lt.{u1} π (Preorder.toLT.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'β'. -/
theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
(hneg : P.leadingCoeff / Q.leadingCoeff < 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
@@ -224,6 +318,12 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
linarith
#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'
+/- warning: polynomial.div_tendsto_at_bot_of_degree_gt -> Polynomial.div_tendsto_atBot_of_degree_gt is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (OfNat.mk.{u1} π 0 (Zero.zero.{u1} π (MulZeroClass.toHasZero.{u1} π (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} π (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} π (NonAssocRing.toNonUnitalNonAssocRing.{u1} π (Ring.toNonAssocRing.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (LE.le.{u1} π (Preorder.toLE.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P) (Polynomial.leadingCoeff.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q)) (OfNat.ofNat.{u1} π 0 (Zero.toOfNat0.{u1} π (CommMonoidWithZero.toZero.{u1} π (CommGroupWithZero.toCommMonoidWithZero.{u1} π (Semifield.toCommGroupWithZero.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q)) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atBot.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gtβ'. -/
theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
(hnps : P.leadingCoeff / Q.leadingCoeff β€ 0) :
Tendsto (fun x => eval x P / eval x Q) atTop atBot :=
@@ -234,6 +334,12 @@ theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β
div_tendsto_atBot_of_degree_gt' P Q hdeg ratio_neg
#align polynomial.div_tendsto_at_bot_of_degree_gt Polynomial.div_tendsto_atBot_of_degree_gt
+/- warning: polynomial.abs_div_tendsto_at_top_of_degree_gt -> Polynomial.abs_div_tendsto_atTop_of_degree_gt is a dubious translation:
+lean 3 declaration is
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSemiNormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (OrderedCancelAddCommMonoid.toPartialOrder.{0} Nat (StrictOrderedSemiring.toOrderedCancelAddCommMonoid.{0} Nat Nat.strictOrderedSemiring))))) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (OfNat.mk.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) 0 (Zero.zero.{u1} (Polynomial.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (SubNegMonoid.toHasNeg.{u1} π (AddGroup.toSubNegMonoid.{u1} π (NormedAddGroup.toAddGroup.{u1} π (NormedAddCommGroup.toNormedAddGroup.{u1} π (NonUnitalNormedRing.toNormedAddCommGroup.{u1} π (NormedRing.toNonUnitalNormedRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))))) (SemilatticeSup.toHasSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (LinearOrder.toLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (DivInvMonoid.toHasDiv.{u1} π (DivisionRing.toDivInvMonoid.{u1} π (NormedDivisionRing.toDivisionRing.{u1} π (NormedField.toNormedDivisionRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1)))))) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (Ring.toSemiring.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (OrderedAddCommGroup.toPartialOrder.{u1} π (StrictOrderedRing.toOrderedAddCommGroup.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))))))
+but is expected to have type
+ forall {π : Type.{u1}} [_inst_1 : NormedLinearOrderedField.{u1} π] (P : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Q : Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) [_inst_2 : OrderTopology.{u1} π (UniformSpace.toTopologicalSpace.{u1} π (PseudoMetricSpace.toUniformSpace.{u1} π (SeminormedRing.toPseudoMetricSpace.{u1} π (SeminormedCommRing.toSeminormedRing.{u1} π (NormedCommRing.toSeminormedCommRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))))) (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))], (LT.lt.{0} (WithBot.{0} Nat) (Preorder.toLT.{0} (WithBot.{0} Nat) (WithBot.preorder.{0} Nat (PartialOrder.toPreorder.{0} Nat (StrictOrderedSemiring.toPartialOrder.{0} Nat Nat.strictOrderedSemiring)))) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) Q) (Polynomial.degree.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) P)) -> (Ne.{succ u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) Q (OfNat.ofNat.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) 0 (Zero.toOfNat0.{u1} (Polynomial.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1)))))) (Polynomial.zero.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) -> (Filter.Tendsto.{u1, u1} π π (fun (x : π) => Abs.abs.{u1} π (Neg.toHasAbs.{u1} π (Ring.toNeg.{u1} π (NormedRing.toRing.{u1} π (NormedCommRing.toNormedRing.{u1} π (NormedField.toNormedCommRing.{u1} π (NormedLinearOrderedField.toNormedField.{u1} π _inst_1))))) (SemilatticeSup.toSup.{u1} π (Lattice.toSemilatticeSup.{u1} π (DistribLattice.toLattice.{u1} π (instDistribLattice.{u1} π (LinearOrderedRing.toLinearOrder.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))) (HDiv.hDiv.{u1, u1, u1} π π π (instHDiv.{u1} π (LinearOrderedField.toDiv.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x P) (Polynomial.eval.{u1} π (DivisionSemiring.toSemiring.{u1} π (Semifield.toDivisionSemiring.{u1} π (LinearOrderedSemifield.toSemifield.{u1} π (LinearOrderedField.toLinearOrderedSemifield.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))) x Q))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))) (Filter.atTop.{u1} π (PartialOrder.toPreorder.{u1} π (StrictOrderedRing.toPartialOrder.{u1} π (LinearOrderedRing.toStrictOrderedRing.{u1} π (LinearOrderedCommRing.toLinearOrderedRing.{u1} π (LinearOrderedField.toLinearOrderedCommRing.{u1} π (NormedLinearOrderedField.toLinearOrderedField.{u1} π _inst_1))))))))
+Case conversion may be inaccurate. Consider using '#align polynomial.abs_div_tendsto_at_top_of_degree_gt Polynomial.abs_div_tendsto_atTop_of_degree_gtβ'. -/
theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0) :
Tendsto (fun x => |eval x P / eval x Q|) atTop atTop :=
by
@@ -245,6 +351,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
end PolynomialDivAtTop
+#print Polynomial.isBigO_of_degree_le /-
theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
(fun x => eval x P) =O[atTop] fun x => eval x Q :=
by
@@ -257,6 +364,7 @@ theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
Β· exact is_O_of_div_tendsto_nhds hPQ 0 (div_tendsto_zero_of_degree_lt P Q h)
Β· exact is_O_of_div_tendsto_nhds hPQ _ (div_tendsto_leading_coeff_div_of_degree_eq P Q h)
#align polynomial.is_O_of_degree_le Polynomial.isBigO_of_degree_le
+-/
end Polynomial
mathlib commit https://github.com/leanprover-community/mathlib/commit/039ef89bef6e58b32b62898dd48e9d1a4312bb65
@@ -245,7 +245,7 @@ theorem abs_div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q
end PolynomialDivAtTop
-theorem isO_of_degree_le (h : P.degree β€ Q.degree) :
+theorem isBigO_of_degree_le (h : P.degree β€ Q.degree) :
(fun x => eval x P) =O[atTop] fun x => eval x Q :=
by
by_cases hp : P = 0
@@ -256,7 +256,7 @@ theorem isO_of_degree_le (h : P.degree β€ Q.degree) :
cases' le_iff_lt_or_eq.mp h with h h
Β· exact is_O_of_div_tendsto_nhds hPQ 0 (div_tendsto_zero_of_degree_lt P Q h)
Β· exact is_O_of_div_tendsto_nhds hPQ _ (div_tendsto_leading_coeff_div_of_degree_eq P Q h)
-#align polynomial.is_O_of_degree_le Polynomial.isO_of_degree_le
+#align polynomial.is_O_of_degree_le Polynomial.isBigO_of_degree_le
end Polynomial
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -118,7 +118,7 @@ theorem tendsto_nhds_iff {c : π} :
refine' β¨fun h => _, fun h => _β©
Β· have := P.is_equivalent_at_top_lead.tendsto_nhds h
by_cases hP : P.leading_coeff = 0
- Β· simp only [hP, zero_mul, tendsto_const_nhds_iff] at this
+ Β· simp only [hP, MulZeroClass.zero_mul, tendsto_const_nhds_iff] at this
refine' β¨trans hP this, by simp [leading_coeff_eq_zero.1 hP]β©
Β· rw [tendsto_const_mul_pow_nhds_iff hP, nat_degree_eq_zero_iff_degree_le_zero] at this
exact this.symm
@@ -153,7 +153,7 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
Β· simp [hP, tendsto_const_nhds]
rw [β nat_degree_lt_nat_degree_iff hP] at hdeg
refine' (is_equivalent_at_top_div P Q).symm.tendsto_nhds _
- rw [β mul_zero]
+ rw [β MulZeroClass.mul_zero]
refine' (tendsto_zpow_atTop_zero _).const_mul _
linarith
#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_lt
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Data
(#11751)
Polynomial
and MvPolynomial
are algebraic objects, hence should be under Algebra
(or at least not under Data
)
@@ -3,9 +3,9 @@ Copyright (c) 2020 Anatole Dedecker. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anatole Dedecker, Devon Tuma
-/
+import Mathlib.Algebra.Polynomial.RingDivision
import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent
import Mathlib.Analysis.Asymptotics.SpecificAsymptotics
-import Mathlib.Data.Polynomial.RingDivision
#align_import analysis.special_functions.polynomials from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
I ran tryAtEachStep on all files under Mathlib
to find all locations where omega
succeeds. For each that was a linarith
without an only
, I tried replacing it with omega
, and I verified that elaboration time got smaller. (In almost all cases, there was a noticeable speedup.) I also replaced some slow aesop
s along the way.
@@ -142,7 +142,7 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
refine' (isEquivalent_atTop_div P Q).symm.tendsto_nhds _
rw [β mul_zero]
refine' (tendsto_zpow_atTop_zero _).const_mul _
- linarith
+ omega
#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_lt
theorem div_tendsto_zero_iff_degree_lt (hQ : Q β 0) :
@@ -179,7 +179,7 @@ theorem div_tendsto_atTop_of_degree_gt' (hdeg : Q.degree < P.degree)
refine' (isEquivalent_atTop_div P Q).symm.tendsto_atTop _
apply Tendsto.const_mul_atTop hpos
apply tendsto_zpow_atTop_atTop
- linarith
+ omega
#align polynomial.div_tendsto_at_top_of_degree_gt' Polynomial.div_tendsto_atTop_of_degree_gt'
theorem div_tendsto_atTop_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
@@ -202,7 +202,7 @@ theorem div_tendsto_atBot_of_degree_gt' (hdeg : Q.degree < P.degree)
refine' (isEquivalent_atTop_div P Q).symm.tendsto_atBot _
apply Tendsto.neg_const_mul_atTop hneg
apply tendsto_zpow_atTop_atTop
- linarith
+ omega
#align polynomial.div_tendsto_at_bot_of_degree_gt' Polynomial.div_tendsto_atBot_of_degree_gt'
theorem div_tendsto_atBot_of_degree_gt (hdeg : Q.degree < P.degree) (hQ : Q β 0)
refine
s (#10762)
I replaced a few "terminal" refine/refine'
s with exact
.
The strategy was very simple-minded: essentially any refine
whose following line had smaller indentation got replaced by exact
and then I cleaned up the mess.
This PR certainly leaves some further terminal refine
s, but maybe the current change is beneficial.
@@ -108,7 +108,7 @@ theorem tendsto_nhds_iff {c : π} :
Β· have := P.isEquivalent_atTop_lead.tendsto_nhds h
by_cases hP : P.leadingCoeff = 0
Β· simp only [hP, zero_mul, tendsto_const_nhds_iff] at this
- refine' β¨_root_.trans hP this, by simp [leadingCoeff_eq_zero.1 hP]β©
+ exact β¨_root_.trans hP this, by simp [leadingCoeff_eq_zero.1 hP]β©
Β· rw [tendsto_const_mul_pow_nhds_iff hP, natDegree_eq_zero_iff_degree_le_zero] at this
exact this.symm
Β· refine' P.isEquivalent_atTop_lead.symm.tendsto_nhds _
cases'
(#9171)
I literally went through and regex'd some uses of cases'
, replacing them with rcases
; this is meant to be a low effort PR as I hope that tools can do this in the future.
rcases
is an easier replacement than cases
, though with better tools we could in future do a second pass converting simple rcases
added here (and existing ones) to cases
.
@@ -83,7 +83,7 @@ theorem tendsto_atBot_of_leadingCoeff_nonpos (hdeg : 0 < P.degree) (hnps : P.lea
theorem abs_tendsto_atTop (hdeg : 0 < P.degree) :
Tendsto (fun x => abs <| eval x P) atTop atTop := by
- cases' le_total 0 P.leadingCoeff with hP hP
+ rcases le_total 0 P.leadingCoeff with hP | hP
Β· exact tendsto_abs_atTop_atTop.comp (P.tendsto_atTop_of_leadingCoeff_nonneg hdeg hP)
Β· exact tendsto_abs_atBot_atTop.comp (P.tendsto_atBot_of_leadingCoeff_nonpos hdeg hP)
#align polynomial.abs_tendsto_at_top Polynomial.abs_tendsto_atTop
MulZeroClass.
in mul_zero
/zero_mul
(#6682)
Search&replace MulZeroClass.mul_zero
-> mul_zero
, MulZeroClass.zero_mul
-> zero_mul
.
These were introduced by Mathport, as the full name of mul_zero
is actually MulZeroClass.mul_zero
(it's exported with the short name).
@@ -107,7 +107,7 @@ theorem tendsto_nhds_iff {c : π} :
refine' β¨fun h => _, fun h => _β©
Β· have := P.isEquivalent_atTop_lead.tendsto_nhds h
by_cases hP : P.leadingCoeff = 0
- Β· simp only [hP, MulZeroClass.zero_mul, tendsto_const_nhds_iff] at this
+ Β· simp only [hP, zero_mul, tendsto_const_nhds_iff] at this
refine' β¨_root_.trans hP this, by simp [leadingCoeff_eq_zero.1 hP]β©
Β· rw [tendsto_const_mul_pow_nhds_iff hP, natDegree_eq_zero_iff_degree_le_zero] at this
exact this.symm
@@ -140,7 +140,7 @@ theorem div_tendsto_zero_of_degree_lt (hdeg : P.degree < Q.degree) :
Β· simp [hP, tendsto_const_nhds]
rw [β natDegree_lt_natDegree_iff hP] at hdeg
refine' (isEquivalent_atTop_div P Q).symm.tendsto_nhds _
- rw [β MulZeroClass.mul_zero]
+ rw [β mul_zero]
refine' (tendsto_zpow_atTop_zero _).const_mul _
linarith
#align polynomial.div_tendsto_zero_of_degree_lt Polynomial.div_tendsto_zero_of_degree_lt
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -29,7 +29,7 @@ open Asymptotics Polynomial Topology
namespace Polynomial
-variable {π : Type _} [NormedLinearOrderedField π] (P Q : π[X])
+variable {π : Type*} [NormedLinearOrderedField π] (P Q : π[X])
theorem eventually_no_roots (hP : P β 0) : βαΆ x in atTop, Β¬P.IsRoot x :=
atTop_le_cofinite <| (finite_setOf_isRoot hP).compl_mem_cofinite
@@ -2,16 +2,13 @@
Copyright (c) 2020 Anatole Dedecker. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Anatole Dedecker, Devon Tuma
-
-! This file was ported from Lean 3 source module analysis.special_functions.polynomials
-! leanprover-community/mathlib commit f2ce6086713c78a7f880485f7917ea547a215982
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Analysis.Asymptotics.AsymptoticEquivalent
import Mathlib.Analysis.Asymptotics.SpecificAsymptotics
import Mathlib.Data.Polynomial.RingDivision
+#align_import analysis.special_functions.polynomials from "leanprover-community/mathlib"@"f2ce6086713c78a7f880485f7917ea547a215982"
+
/-!
# Limits related to polynomial and rational functions
Now that leanprover/lean4#2210 has been merged, this PR:
set_option synthInstance.etaExperiment true
commands (and some etaExperiment%
term elaborators)set_option maxHeartbeats
commandsCo-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>
@@ -34,7 +34,6 @@ namespace Polynomial
variable {π : Type _} [NormedLinearOrderedField π] (P Q : π[X])
-set_option synthInstance.etaExperiment true in -- Porting note: needed to synthesize `IsDomain π`
theorem eventually_no_roots (hP : P β 0) : βαΆ x in atTop, Β¬P.IsRoot x :=
atTop_le_cofinite <| (finite_setOf_isRoot hP).compl_mem_cofinite
#align polynomial.eventually_no_roots Polynomial.eventually_no_roots
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file