equal
deleted
inserted
replaced
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)" |