src/HOL/Library/Polynomial_FPS.thy
changeset 63539 70d4d9e5707b
parent 63319 bc8793d7bd21
child 63882 018998c00003
equal deleted inserted replaced
63533:42b6186fc0e4 63539:70d4d9e5707b
   123   thus zero: "fps_of_poly p $ i = 0" if "i < n" for i
   123   thus zero: "fps_of_poly p $ i = 0" if "i < n" for i
   124     using that by (simp add: monom_1_dvd_iff')
   124     using that by (simp add: monom_1_dvd_iff')
   125     
   125     
   126   from assms have "\<not>monom 1 (Suc n) dvd p"
   126   from assms have "\<not>monom 1 (Suc n) dvd p"
   127     by (auto simp: monom_1_dvd_iff simp del: power_Suc)
   127     by (auto simp: monom_1_dvd_iff simp del: power_Suc)
   128   then obtain k where "k \<le> n" "fps_of_poly p $ k \<noteq> 0" 
   128   then obtain k where k: "k \<le> n" "fps_of_poly p $ k \<noteq> 0" 
   129     by (auto simp: monom_1_dvd_iff' less_Suc_eq_le)
   129     by (auto simp: monom_1_dvd_iff' less_Suc_eq_le)
   130   moreover from this and zero[of k] have "k = n" by linarith
   130   with zero[of k] have "k = n" by linarith
   131   ultimately show "fps_of_poly p $ n \<noteq> 0" by simp
   131   with k show "fps_of_poly p $ n \<noteq> 0" by simp
   132 qed
   132 qed
   133 
   133 
   134 lemma fps_of_poly_dvd:
   134 lemma fps_of_poly_dvd:
   135   assumes "p dvd q"
   135   assumes "p dvd q"
   136   shows   "fps_of_poly (p :: 'a :: field poly) dvd fps_of_poly q"
   136   shows   "fps_of_poly (p :: 'a :: field poly) dvd fps_of_poly q"