feat(Algebra/Polynomial): lemmas about polynomial degree#37956
feat(Algebra/Polynomial): lemmas about polynomial degree#37956artie2000 wants to merge 3 commits intoleanprover-community:masterfrom
Conversation
artie2000
commented
Apr 12, 2026
- Add various small lemmas about polynomial degree
PR summary 6b3e5a3312Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
| mt natDegree_eq_of_degree_eq_some | ||
|
|
||
| theorem degree_eq_one_iff_natDegree_eq_one : | ||
| p.degree = 1 ↔ p.natDegree = 1 := |
There was a problem hiding this comment.
I think this should be the other way around? I find degree to be better behaved than natDegree. Maybe worth getting a second opinion.
| p.degree = 1 ↔ p.natDegree = 1 := | ||
| degree_eq_iff_natDegree_eq_of_pos (Nat.zero_lt_one) | ||
|
|
||
| theorem degree_eq_iff_natDegree_eq_of_atLeastTwo {n : ℕ} [Nat.AtLeastTwo n] : |
There was a problem hiding this comment.
This should either take an n ≠ 0 argument, or if you really want to use typeclasses for whatever reason, this should take NeZero n.
| (degree_neg (erase (natDegree q) q) ▸ degree_add_le _ _) | ||
| _ < degree p := max_lt_iff.2 ⟨hd' ▸ degree_erase_lt hp0, hd.symm ▸ degree_erase_lt hq0⟩ | ||
|
|
||
| theorem degree_sub_lt_right (hd : degree p = degree q) (hq0 : q ≠ 0) |
There was a problem hiding this comment.
Perhaps the other theorem should be renamed degree_sub_lt_left.