src/HOL/Number_Theory/Polynomial_Factorial.thy
changeset 63539 70d4d9e5707b
parent 63500 0dac030afd36
child 63633 2accfb71e33b
equal deleted inserted replaced
63533:42b6186fc0e4 63539:70d4d9e5707b
  1205   fixes a b :: "'a::field"
  1205   fixes a b :: "'a::field"
  1206   assumes "b \<noteq> 0"
  1206   assumes "b \<noteq> 0"
  1207   shows "irreducible [:a,b:]"
  1207   shows "irreducible [:a,b:]"
  1208 proof (rule irreducibleI)
  1208 proof (rule irreducibleI)
  1209   fix p q assume pq: "[:a,b:] = p * q"
  1209   fix p q assume pq: "[:a,b:] = p * q"
  1210   also from this assms have "degree \<dots> = degree p + degree q" 
  1210   also from pq assms have "degree \<dots> = degree p + degree q" 
  1211     by (intro degree_mult_eq) auto
  1211     by (intro degree_mult_eq) auto
  1212   finally have "degree p = 0 \<or> degree q = 0" using assms by auto
  1212   finally have "degree p = 0 \<or> degree q = 0" using assms by auto
  1213   with assms pq show "is_unit p \<or> is_unit q"
  1213   with assms pq show "is_unit p \<or> is_unit q"
  1214     by (auto simp: is_unit_const_poly_iff dvd_field_iff elim!: degree_eq_zeroE)
  1214     by (auto simp: is_unit_const_poly_iff dvd_field_iff elim!: degree_eq_zeroE)
  1215 qed (insert assms, auto simp: is_unit_poly_iff)
  1215 qed (insert assms, auto simp: is_unit_poly_iff)