@@ -373,26 +373,22 @@ theorem card_le_degree_of_subset_roots {p : R[X]} {Z : finset R} (h : Z.val ⊆
373
373
Z.card ≤ p.nat_degree :=
374
374
(multiset.card_le_of_le (finset.val_le_iff_val_subset.2 h)).trans (polynomial.card_roots' p)
375
375
376
- lemma eq_zero_of_infinite_is_root
377
- (p : R[X]) (h : set.infinite {x | is_root p x}) : p = 0 :=
378
- begin
379
- by_contradiction hp,
380
- apply h,
381
- convert p.roots.to_finset.finite_to_set using 1 ,
382
- ext1 r,
383
- simp only [mem_roots hp, multiset.mem_to_finset, set.mem_set_of_eq, finset.mem_coe]
384
- end
376
+ lemma finite_set_of_is_root {p : R[X]} (hp : p ≠ 0 ) : set.finite {x | is_root p x} :=
377
+ by simpa only [← finset.set_of_mem, mem_to_finset, mem_roots hp]
378
+ using p.roots.to_finset.finite_to_set
379
+
380
+ lemma eq_zero_of_infinite_is_root (p : R[X]) (h : set.infinite {x | is_root p x}) : p = 0 :=
381
+ not_imp_comm.mp finite_set_of_is_root h
385
382
386
383
lemma exists_max_root [linear_order R] (p : R[X]) (hp : p ≠ 0 ) :
387
384
∃ x₀, ∀ x, p.is_root x → x ≤ x₀ :=
388
- set.exists_upper_bound_image _ _ $ not_not.mp (mt (eq_zero_of_infinite_is_root p) hp)
385
+ set.exists_upper_bound_image _ _ $ finite_set_of_is_root hp
389
386
390
387
lemma exists_min_root [linear_order R] (p : R[X]) (hp : p ≠ 0 ) :
391
388
∃ x₀, ∀ x, p.is_root x → x₀ ≤ x :=
392
- set.exists_lower_bound_image _ _ $ not_not.mp (mt (eq_zero_of_infinite_is_root p) hp)
389
+ set.exists_lower_bound_image _ _ $ finite_set_of_is_root hp
393
390
394
- lemma eq_of_infinite_eval_eq {R : Type *} [comm_ring R] [is_domain R]
395
- (p q : R[X]) (h : set.infinite {x | eval x p = eval x q}) : p = q :=
391
+ lemma eq_of_infinite_eval_eq (p q : R[X]) (h : set.infinite {x | eval x p = eval x q}) : p = q :=
396
392
begin
397
393
rw [← sub_eq_zero],
398
394
apply eq_zero_of_infinite_is_root,
0 commit comments