Zulip Chat Archive

Stream: maths

Topic: about polynomial.nat_degree

view this post on Zulip Jujian Zhang (Jun 26 2020 at 07:28):

I want to make a polynomial's zeroth coefficient to be non-zero by keeping dividing X. But I need to know the degree has gone down (or stayed the same)

import data.int.basic
import data.polynomial

theorem non_empty_supp (f : polynomial ) (hf : f  0) : f.support.nonempty :=
  contrapose hf, rw finset.nonempty at hf, rw not_exists at hf, simp, ext, simp,
  have triv := (f.3 n).2 , contrapose triv, rw not_imp, split, exact triv, exact hf n,

def min_degree_term (f : polynomial ) (hf : f  0) :  := finset.min' (f.support) (non_empty_supp f hf)
def make_const_term_nonzero (f : polynomial ) (hf : f  0) : polynomial  :=
  constructor, swap 2,
    exact finset.image (λ i : , i-(min_degree_term f hf)) f.support,
  swap 2, {
    intro n, exact (f.coeff (n+(min_degree_term f hf))),
    intro n, split, intro hn, rw finset.mem_image at hn, choose a ha using hn, rw <-ha.2, rw nat.sub_add_cancel,
    have eq2 := (f.3 a).1 ha.1, exact eq2,
    rw min_degree_term, exact finset.min'_le f.support (non_empty_supp f hf) a ha.1,

    intro hn, rw finset.mem_image, use n + min_degree_term f hf,
    exact (f.3 (n + min_degree_term f hf)).2 hn, simp,

theorem supp_after_change (f : polynomial ) (hf : f  0) : (make_const_term_nonzero f hf).support = finset.image (λ i : , i-(min_degree_term f hf)) f.support :=
  simp [make_const_term_nonzero],

theorem nat_degree_decrease : Π (f:polynomial ) (hf : f  0), (make_const_term_nonzero f hf).nat_degree  f.nat_degree :=

So I know the support of the new polynomial is obtained by subtracting a natural number from the support of old polynomial. How can I translate it to something about nat_degree please.

Thank you for your help!

view this post on Zulip Johan Commelin (Jun 26 2020 at 07:49):

docs#polynomial.div_by_monic and docs#polynomial.degree_div_by_monic_lt seem related/relevant

view this post on Zulip Jujian Zhang (Jun 26 2020 at 08:54):

Thank you. I got it work.

Last updated: May 18 2021 at 07:19 UTC