equal
deleted
inserted
replaced
103 from UP obtain m where boundm: "bound \<zero> m q" by fast |
103 from UP obtain m where boundm: "bound \<zero> m q" by fast |
104 have "bound \<zero> (max n m) (%i. p i \<oplus> q i)" |
104 have "bound \<zero> (max n m) (%i. p i \<oplus> q i)" |
105 proof |
105 proof |
106 fix i |
106 fix i |
107 assume "max n m < i" |
107 assume "max n m < i" |
108 with boundn and boundm and UP show "p i \<oplus> q i = \<zero>" by fastsimp |
108 with boundn and boundm and UP show "p i \<oplus> q i = \<zero>" by fastforce |
109 qed |
109 qed |
110 then show ?thesis .. |
110 then show ?thesis .. |
111 qed |
111 qed |
112 qed |
112 qed |
113 |
113 |
778 then have "EX m. deg R p - 1 < m & coeff P p m ~= \<zero>" |
778 then have "EX m. deg R p - 1 < m & coeff P p m ~= \<zero>" |
779 by (unfold bound_def) fast |
779 by (unfold bound_def) fast |
780 then have "EX m. deg R p <= m & coeff P p m ~= \<zero>" by (simp add: deg minus) |
780 then have "EX m. deg R p <= m & coeff P p m ~= \<zero>" by (simp add: deg minus) |
781 then show ?thesis by (auto intro: that) |
781 then show ?thesis by (auto intro: that) |
782 qed |
782 qed |
783 with deg_belowI R have "deg R p = m" by fastsimp |
783 with deg_belowI R have "deg R p = m" by fastforce |
784 with m_coeff show ?thesis by simp |
784 with m_coeff show ?thesis by simp |
785 qed |
785 qed |
786 |
786 |
787 lemma lcoeff_nonzero_nonzero: |
787 lemma lcoeff_nonzero_nonzero: |
788 assumes deg: "deg R p = 0" and nonzero: "p ~= \<zero>\<^bsub>P\<^esub>" and R: "p \<in> carrier P" |
788 assumes deg: "deg R p = 0" and nonzero: "p ~= \<zero>\<^bsub>P\<^esub>" and R: "p \<in> carrier P" |
825 "a \<in> carrier R ==> deg R (monom P a n) <= n" |
825 "a \<in> carrier R ==> deg R (monom P a n) <= n" |
826 by (intro deg_aboveI) simp_all |
826 by (intro deg_aboveI) simp_all |
827 |
827 |
828 lemma deg_monom [simp]: |
828 lemma deg_monom [simp]: |
829 "[| a ~= \<zero>; a \<in> carrier R |] ==> deg R (monom P a n) = n" |
829 "[| a ~= \<zero>; a \<in> carrier R |] ==> deg R (monom P a n) = n" |
830 by (fastsimp intro: le_antisym deg_aboveI deg_belowI) |
830 by (fastforce intro: le_antisym deg_aboveI deg_belowI) |
831 |
831 |
832 lemma deg_const [simp]: |
832 lemma deg_const [simp]: |
833 assumes R: "a \<in> carrier R" shows "deg R (monom P a 0) = 0" |
833 assumes R: "a \<in> carrier R" shows "deg R (monom P a 0) = 0" |
834 proof (rule le_antisym) |
834 proof (rule le_antisym) |
835 show "deg R (monom P a 0) <= 0" by (rule deg_aboveI) (simp_all add: R) |
835 show "deg R (monom P a 0) <= 0" by (rule deg_aboveI) (simp_all add: R) |
1059 from R have "coeff P p 0 \<otimes> coeff P q 0 = coeff P (p \<otimes>\<^bsub>P\<^esub> q) 0" by simp |
1059 from R have "coeff P p 0 \<otimes> coeff P q 0 = coeff P (p \<otimes>\<^bsub>P\<^esub> q) 0" by simp |
1060 also from pq have "... = \<zero>" by simp |
1060 also from pq have "... = \<zero>" by simp |
1061 finally have "coeff P p 0 \<otimes> coeff P q 0 = \<zero>" . |
1061 finally have "coeff P p 0 \<otimes> coeff P q 0 = \<zero>" . |
1062 with R have "coeff P p 0 = \<zero> | coeff P q 0 = \<zero>" |
1062 with R have "coeff P p 0 = \<zero> | coeff P q 0 = \<zero>" |
1063 by (simp add: R.integral_iff) |
1063 by (simp add: R.integral_iff) |
1064 with p q show "p = \<zero>\<^bsub>P\<^esub> | q = \<zero>\<^bsub>P\<^esub>" by fastsimp |
1064 with p q show "p = \<zero>\<^bsub>P\<^esub> | q = \<zero>\<^bsub>P\<^esub>" by fastforce |
1065 qed |
1065 qed |
1066 qed |
1066 qed |
1067 |
1067 |
1068 theorem UP_domain: |
1068 theorem UP_domain: |
1069 "domain P" |
1069 "domain P" |