@@ -311,6 +311,9 @@ Notation "x <= y < z" := ((x <= y) && (y < z)) : ereal_scope.
311311Notation "x < y < z" := ((x < y) && (y < z)) : ereal_dual_scope.
312312Notation "x < y < z" := ((x < y) && (y < z)) : ereal_scope.
313313
314+ Notation "x <= y :> T" := ((x : T) <= (y : T)) (only parsing) : ereal_scope.
315+ Notation "x < y :> T" := ((x : T) < (y : T)) (only parsing) : ereal_scope.
316+
314317Section ERealOrder_numDomainType.
315318Context {R : numDomainType}.
316319Implicit Types x y : \bar R.
@@ -319,13 +322,13 @@ Lemma lee_fin (r s : R) : (r%:E <= s%:E) = (r <= s)%R. Proof. by []. Qed.
319322
320323Lemma lte_fin (r s : R) : (r%:E < s%:E) = (r < s)%R. Proof . by []. Qed .
321324
322- Lemma lee01 : 0 <= ( 1 : \bar R) . Proof . by rewrite lee_fin. Qed .
325+ Lemma lee01 : 0 <= 1 :> \bar R. Proof . by rewrite lee_fin. Qed .
323326
324- Lemma lte01 : 0 < ( 1 : \bar R) . Proof . by rewrite lte_fin. Qed .
327+ Lemma lte01 : 0 < 1 :> \bar R. Proof . by rewrite lte_fin. Qed .
325328
326- Lemma lee_ninfty_eq x : (x <= -oo) = (x == -oo). Proof . by case: x. Qed .
329+ Lemma leeNy_eq x : (x <= -oo) = (x == -oo). Proof . by case: x. Qed .
327330
328- Lemma lee_pinfty_eq x : (+oo <= x) = (x == +oo). Proof . by case: x. Qed .
331+ Lemma leye_eq x : (+oo <= x) = (x == +oo). Proof . by case: x. Qed .
329332
330333Lemma lt0y : (0 : \bar R) < +oo. Proof . exact: real0. Qed .
331334
345348
346349End ERealOrder_numDomainType.
347350
351+ #[global] Hint Resolve lee01 lte01 : core.
352+
348353Section ERealOrder_realDomainType.
349354Context {R : realDomainType}.
350355Implicit Types (x y : \bar R) (r : R).
@@ -526,10 +531,10 @@ Local Tactic Notation "elift" constr(lm) ":" ident(x) ident(y) :=
526531Local Tactic Notation "elift" constr (lm) ":" ident(x) ident(y) ident(z) :=
527532 by case: x y z => [?||] [?||] [?||]; first by rewrite ?eqe; apply: lm.
528533
529- Lemma lee0N1 : (0 : \bar R) <= (-1)%:E = false.
534+ Lemma lee0N1 : 0 <= (-1)%:E :> \bar R = false.
530535Proof . by rewrite lee_fin ler0N1. Qed .
531536
532- Lemma lte0N1 : (0 : \bar R) < (-1)%:E = false.
537+ Lemma lte0N1 : 0 < (-1)%:E :> \bar R = false.
533538Proof . by rewrite lte_fin ltr0N1. Qed .
534539
535540Lemma le0R x : 0 <= x -> (0 <= fine x)%R.
@@ -1312,7 +1317,7 @@ Context {R : realDomainType}.
13121317Implicit Types (x y z u a b : \bar R) (r : R).
13131318
13141319Lemma fin_numElt x : (x \is a fin_num) = (-oo < x < +oo).
1315- Proof . by rewrite fin_numE -lee_pinfty_eq -lee_ninfty_eq -2!ltNge. Qed .
1320+ Proof . by rewrite fin_numE -leye_eq -leeNy_eq -2!ltNge. Qed .
13161321
13171322Lemma fin_numPlt x : reflect (-oo < x < +oo) (x \is a fin_num).
13181323Proof . by rewrite fin_numElt; exact: idP. Qed .
@@ -1345,7 +1350,7 @@ move=> i ir; apply/implyP => Pi; apply/eqP.
13451350have rPF : {in r, forall i, P i ==> (F i \is a fin_num)}.
13461351 move=> j jr; apply/implyP => Pj; rewrite fin_numElt; apply/andP; split.
13471352 by rewrite (lt_le_trans _ (F0 _ Pj))// ltNye.
1348- rewrite ltNge; apply/eqP; rewrite lee_pinfty_eq ; apply/eqP/negP => /eqP Fjoo.
1353+ rewrite ltNge; apply/eqP; rewrite leye_eq ; apply/eqP/negP => /eqP Fjoo.
13491354 have PFninfty k : P k -> F k != -oo%E.
13501355 by move=> Pk; rewrite gt_eqF// (lt_le_trans _ (F0 _ Pk))// ltNye.
13511356 have /esum_pinftyP : exists i, [/\ i \in r, P i & F i = +oo%E] by exists j.
@@ -1585,16 +1590,14 @@ move: a b x y => [a| |] [b| |] [x| |] [y| |]; rewrite ?(leey, leNye)//.
15851590by rewrite !lee_fin; exact: ler_add.
15861591Qed .
15871592
1588- Lemma lte_le_add a b x y : a \is a fin_num -> b \is a fin_num ->
1589- a < x -> b <= y -> a + b < x + y.
1593+ Lemma lte_le_add a b x y : b \is a fin_num -> a < x -> b <= y -> a + b < x + y.
15901594Proof .
1591- move: x y a b => [x| |] [y| |] [a| |] [b| |] _ _ //=; rewrite ?(ltey, ltNye)//.
1595+ move: x y a b => [x| |] [y| |] [a| |] [b| |] _ //=; rewrite ?(ltey, ltNye)//.
15921596by rewrite !lte_fin; exact: ltr_le_add.
15931597Qed .
15941598
1595- Lemma lee_lt_add a b x y : a \is a fin_num -> b \is a fin_num ->
1596- a <= x -> b < y -> a + b < x + y.
1597- Proof . by move=> afin bin xa yb; rewrite (addeC a) (addeC x) lte_le_add. Qed .
1599+ Lemma lee_lt_add a b x y : a \is a fin_num -> a <= x -> b < y -> a + b < x + y.
1600+ Proof . by move=> afin xa yb; rewrite (addeC a) (addeC x) lte_le_add. Qed .
15981601
15991602Lemma lee_sub x y z u : x <= y -> u <= z -> x - z <= y - u.
16001603Proof .
@@ -2168,7 +2171,7 @@ by apply/esym/max_idPl; rewrite lee_add2l// ltW.
21682171Qed .
21692172
21702173Lemma maxye : left_zero (+oo : \bar R) maxe.
2171- Proof . by move=> x; have [|//] := leP +oo x; rewrite lee_pinfty_eq => /eqP. Qed .
2174+ Proof . by move=> x; have [|//] := leP +oo x; rewrite leye_eq => /eqP. Qed .
21722175
21732176Lemma maxey : right_zero (+oo : \bar R) maxe.
21742177Proof . by move=> x; rewrite maxC maxye. Qed .
@@ -2180,7 +2183,7 @@ Lemma maxeNy : right_id (-oo : \bar R) maxe.
21802183Proof . by move=> x; rewrite maxC maxNye. Qed .
21812184
21822185Lemma minNye : left_zero (-oo : \bar R) mine.
2183- Proof . by move=> x; have [|//] := leP x -oo; rewrite lee_ninfty_eq => /eqP. Qed .
2186+ Proof . by move=> x; have [|//] := leP x -oo; rewrite leeNy_eq => /eqP. Qed .
21842187
21852188Lemma mineNy : right_zero (-oo : \bar R) mine.
21862189Proof . by move=> x; rewrite minC minNye. Qed .
@@ -2307,8 +2310,8 @@ Proof.
23072310move: x => [x _|//|//] /[!(@lte_fin R)] x0 [y| |] [z| |].
23082311- by rewrite -2!EFinM 2!lee_fin ler_pmul2l.
23092312- by rewrite mulry gtr0_sg// mul1e 2!leey.
2310- - by rewrite mulrNy gtr0_sg// mul1e 2!lee_ninfty_eq .
2311- - by rewrite mulry gtr0_sg// mul1e 2!lee_pinfty_eq .
2313+ - by rewrite mulrNy gtr0_sg// mul1e 2!leeNy_eq .
2314+ - by rewrite mulry gtr0_sg// mul1e 2!leye_eq .
23122315- by rewrite mulry gtr0_sg// mul1e.
23132316- by rewrite mulry mulrNy gtr0_sg// mul1e mul1e.
23142317- by rewrite mulrNy gtr0_sg// mul1e 2!leNye.
@@ -2408,10 +2411,9 @@ Proof. rewrite -fin_numN !dual_addeE lte_opp -lte_opp; exact: lte_le_sub. Qed.
24082411Lemma lee_dsub x y z t : x <= y -> t <= z -> x - z <= y - t.
24092412Proof . rewrite !dual_addeE lee_oppl oppeK -lee_opp !oppeK; exact: lee_add. Qed .
24102413
2411- Lemma lte_le_dsub z u x y : z \is a fin_num -> u \is a fin_num ->
2412- x < z -> u <= y -> x - y < z - u.
2414+ Lemma lte_le_dsub z u x y : u \is a fin_num -> x < z -> u <= y -> x - y < z - u.
24132415Proof .
2414- rewrite -(fin_numN z) !dual_addeE lte_opp !oppeK -lte_opp; exact: lte_le_add.
2416+ rewrite !dual_addeE lte_opp !oppeK -lte_opp; exact: lte_le_add.
24152417Qed .
24162418
24172419Lemma lee_dsum I (f g : I -> \bar R) s (P : pred I) :
@@ -2893,8 +2895,8 @@ Lemma ereal_ub_ninfty S : ubound S -oo -> S = set0 \/ S = [set -oo].
28932895Proof .
28942896have [->|/set0P[x Sx] Snoo] := eqVneq S set0; first by left.
28952897right; rewrite predeqE => y; split => [/Snoo|->{y}].
2896- by rewrite lee_ninfty_eq => /eqP ->.
2897- by have := Snoo _ Sx; rewrite lee_ninfty_eq => /eqP <-.
2898+ by rewrite leeNy_eq => /eqP ->.
2899+ by have := Snoo _ Sx; rewrite leeNy_eq => /eqP <-.
28982900Qed .
28992901
29002902Lemma ereal_supremums_set0_ninfty : supremums (@set0 (\bar R)) -oo.
@@ -2905,7 +2907,7 @@ Proof.
29052907move=> Spoo; rewrite /supremum ifF; last by apply/eqP => S0; rewrite S0 in Spoo.
29062908have sSoo : supremums S +oo.
29072909 split; first exact: ereal_ub_pinfty.
2908- by move=> /= y /(_ _ Spoo); rewrite lee_pinfty_eq => /eqP ->.
2910+ by move=> /= y /(_ _ Spoo); rewrite leye_eq => /eqP ->.
29092911case: xgetP.
29102912 by move=> _ -> sSxget; move: (is_subset1_supremums sSoo sSxget).
29112913by move/(_ +oo) => gSoo; exfalso; apply gSoo => {gSoo}.
@@ -3062,8 +3064,7 @@ have := leNye esup; rewrite le_eqVlt => /predU1P[/esym|ooesup].
30623064 case: A0 => i Ai.
30633065 by move=> /ereal_sup_ninfty /(_ i%:E) /(_ (ex_intro2 A _ i Ai erefl)).
30643066have esup_fin_num : esup \is a fin_num.
3065- rewrite fin_numE -lee_ninfty_eq -ltNge ooesup /= -lee_pinfty_eq -ltNge.
3066- by rewrite esupoo.
3067+ by rewrite fin_numE -leeNy_eq -ltNge ooesup /= -leye_eq -ltNge esupoo.
30673068rewrite -(@fineK _ esup) // lee_fin leNgt.
30683069apply/negP => /(sup_gt A0)[r Ar]; apply/negP; rewrite -leNgt.
30693070by rewrite -lee_fin fineK//; apply: ereal_sup_ub; exists r.
@@ -4375,7 +4376,7 @@ case: x => /= [x [_/posnumP[d] dP] |[d [dreal dP]] |[d [dreal dP]]]; last 2 firs
43754376have /ZnatP [N Nfloor] : floor (d%:num^-1) \is a Znat.
43764377 by rewrite Znat_def floor_ge0.
43774378exists N => // n leNn; have gt0Sn : (0 < n%:R + 1 :> R)%R.
4378- apply: ltr_spaddr => //; exact/ler0n.
4379+ by apply: ltr_spaddr => //; exact/ler0n.
43794380apply: dP; last first.
43804381 by rewrite eq_sym addrC -subr_eq subrr eq_sym; apply/invr_neq0/lt0r_neq0.
43814382rewrite /= opprD addrA subrr distrC subr0 gtr0_norm; last by rewrite invr_gt0.
0 commit comments