src/HOL/Library/Polynomial.thy
changeset 34915 7894c7dab132
parent 31998 2c7a24f74db9
child 34973 ae634fad947e
equal deleted inserted replaced
34914:e391c3de0f6b 34915:7894c7dab132
  1382     then obtain k where k: "p = [:-a, 1:] * k" ..
  1382     then obtain k where k: "p = [:-a, 1:] * k" ..
  1383     with `p \<noteq> 0` have "k \<noteq> 0" by auto
  1383     with `p \<noteq> 0` have "k \<noteq> 0" by auto
  1384     with k have "degree p = Suc (degree k)"
  1384     with k have "degree p = Suc (degree k)"
  1385       by (simp add: degree_mult_eq del: mult_pCons_left)
  1385       by (simp add: degree_mult_eq del: mult_pCons_left)
  1386     with `Suc n = degree p` have "n = degree k" by simp
  1386     with `Suc n = degree p` have "n = degree k" by simp
  1387     with `k \<noteq> 0` have "finite {x. poly k x = 0}" by (rule Suc.hyps)
  1387     then have "finite {x. poly k x = 0}" using `k \<noteq> 0` by (rule Suc.hyps)
  1388     then have "finite (insert a {x. poly k x = 0})" by simp
  1388     then have "finite (insert a {x. poly k x = 0})" by simp
  1389     then show "finite {x. poly p x = 0}"
  1389     then show "finite {x. poly p x = 0}"
  1390       by (simp add: k uminus_add_conv_diff Collect_disj_eq
  1390       by (simp add: k uminus_add_conv_diff Collect_disj_eq
  1391                del: mult_pCons_left)
  1391                del: mult_pCons_left)
  1392   qed
  1392   qed