src/HOL/Decision_Procs/Polynomial_List.thy
changeset 62378 85ed00c1fe7c
parent 61945 1135b8de26c3
child 62390 842917225d56
equal deleted inserted replaced
62377:ace69956d018 62378:85ed00c1fe7c
   570   apply (rule_tac x = "pmult qa qaa" in exI)
   570   apply (rule_tac x = "pmult qa qaa" in exI)
   571   apply (auto simp add: poly_mult fun_eq_iff mult.assoc)
   571   apply (auto simp add: poly_mult fun_eq_iff mult.assoc)
   572   done
   572   done
   573 
   573 
   574 lemma (in comm_semiring_1) poly_divides_exp: "m \<le> n \<Longrightarrow> (p %^ m) divides (p %^ n)"
   574 lemma (in comm_semiring_1) poly_divides_exp: "m \<le> n \<Longrightarrow> (p %^ m) divides (p %^ n)"
   575   apply (auto simp add: le_iff_add)
   575   by (auto simp: le_iff_add divides_def poly_exp_add fun_eq_iff)
   576   apply (induct_tac k)
       
   577   apply (rule_tac [2] poly_divides_trans)
       
   578   apply (auto simp add: divides_def)
       
   579   apply (rule_tac x = p in exI)
       
   580   apply (auto simp add: poly_mult fun_eq_iff ac_simps)
       
   581   done
       
   582 
   576 
   583 lemma (in comm_semiring_1) poly_exp_divides: "(p %^ n) divides q \<Longrightarrow> m \<le> n \<Longrightarrow> (p %^ m) divides q"
   577 lemma (in comm_semiring_1) poly_exp_divides: "(p %^ n) divides q \<Longrightarrow> m \<le> n \<Longrightarrow> (p %^ m) divides q"
   584   by (blast intro: poly_divides_exp poly_divides_trans)
   578   by (blast intro: poly_divides_exp poly_divides_trans)
   585 
   579 
   586 lemma (in comm_semiring_0) poly_divides_add: "p divides q \<Longrightarrow> p divides r \<Longrightarrow> p divides (q +++ r)"
   580 lemma (in comm_semiring_0) poly_divides_add: "p divides q \<Longrightarrow> p divides r \<Longrightarrow> p divides (q +++ r)"