Skip to content

Commit 8c6c3f0

Browse files
feat(Algebra/Polynomial/Eval/Subring): notMem_map_range (leanprover-community#36108)
A "not" version of `mem_map_range`.
1 parent 7755ed2 commit 8c6c3f0

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

Mathlib/Algebra/Polynomial/Eval/Subring.lean

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,15 @@ theorem mem_map_rangeS {p : S[X]} : p ∈ (mapRingHom f).rangeS ↔ ∀ n, p.coe
4343
use C c * X ^ i
4444
rw [coe_mapRingHom, Polynomial.map_mul, map_C, hc, Polynomial.map_pow, map_X]
4545

46+
theorem notMem_map_rangeS {p : S[X]} : p ∉ (mapRingHom f).rangeS ↔ ∃ n, p.coeff n ∉ f.rangeS :=
47+
(mem_map_rangeS f (p := p)).not.trans not_forall
48+
4649
theorem mem_map_range {R S : Type*} [Ring R] [Ring S] (f : R →+* S) {p : S[X]} :
4750
p ∈ (mapRingHom f).range ↔ ∀ n, p.coeff n ∈ f.range :=
4851
mem_map_rangeS f
4952

53+
theorem notMem_map_range {R S : Type*} [Ring R] [Ring S] (f : R →+* S) {p : S[X]} :
54+
p ∉ (mapRingHom f).range ↔ ∃ n, p.coeff n ∉ f.range :=
55+
notMem_map_rangeS f
56+
5057
end Polynomial

0 commit comments

Comments
 (0)