diff --git a/CHANGELOG_UNRELEASED.md b/CHANGELOG_UNRELEASED.md index 698794d56..414e498f5 100644 --- a/CHANGELOG_UNRELEASED.md +++ b/CHANGELOG_UNRELEASED.md @@ -3,6 +3,8 @@ ## [Unreleased] ### Added +- in `normedtype.v`: + + lemmas `not_near_inftyP` `not_near_ninftyP` ### Changed diff --git a/theories/normedtype.v b/theories/normedtype.v index 98739bc33..a067e9453 100644 --- a/theories/normedtype.v +++ b/theories/normedtype.v @@ -428,6 +428,24 @@ move=> [M [Mreal AM]]; exists (M * 2); split; first by rewrite realM. by move=> x; rewrite -ltr_pdivlMr //; exact: AM. Qed. +Lemma not_near_inftyP T (f : R -> T) (P : pred T): + ~ (\forall x \near +oo, P (f x)) <-> + forall M : R, M \is Num.real -> exists2 x, M < x & ~ P (f x). +Proof. +rewrite nearE /ninfty_nbhs -forallNP. +rewrite -propeqE; apply: eq_forall => M; rewrite propeqE. +by rewrite -implypN existsPNP. +Qed. + +Lemma not_near_ninftyP T (f : R -> T) (P : pred T): + ~ (\forall x \near -oo, P (f x)) <-> + forall M : R, M \is Num.real -> exists2 x, x < M & ~ P (f x). +Proof. +rewrite nearE /ninfty_nbhs -forallNP. +rewrite -propeqE; apply: eq_forall => M; rewrite propeqE. +by rewrite -implypN existsPNP. +Qed. + End infty_nbhs_instances. #[global] Hint Extern 0 (is_true (_ < ?x)) => match goal with