Module mathcomp.classical.set_interval
From HB Require Import structures.From mathcomp Require Import boot order ssralg ssrnum interval.
#[warning="-warn-library-file-internal-analysis"]
From mathcomp Require Import unstable.
From mathcomp Require Import boolp classical_sets functions.
Unset SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Import Order.TTheory GRing.Theory Num.Def Num.Theory.
Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Context {
Implicit Types (i j : interval T) (x y : T) (a : itv_bound T).
Definition
Used by
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.normed_module
Source code
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
Proof.
Lemma
Proof.
by rewrite predeqE => r /=; rewrite ij.
Qed.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
Source code
Proof.
Lemma
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
Source code
[set` j] `<=` [set` i] -> {in i, forall , P x} -> {in j, forall , P x}.
Proof.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
(x <= y)%O -> (z <= u)%O ->
`]y, z[ `<=` [set` Interval (BSide b0 x) (BSide b1 u)].
Proof.
move=> x0/=; rewrite 2!in_itv/= => /andP[].
by move=> /(le_lt_trans xy) ->/= /lt_le_trans; exact.
by move: b0 b1 => [] [] /=; [exact: subset_itv_oo_co|exact: subset_itv_oo_cc|
exact: subset_refl|exact: subset_itv_oo_oc].
Qed.
Lemma
- mathcomp.reals.real_interval
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.derive
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.exponential_distribution
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
[set` Interval a b] `<=` [set` Interval a c].
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.derive
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
[set` Interval a b] `<=` [set` Interval c b].
Lemma
- mathcomp.analysis.derive
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
Source code
[set` Interval a b] `<=` [set` Interval c d].
Proof.
Lemma
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.ftc
Source code
(BLeft c <= a)%O -> (b <= BRight e)%O ->
[set` Interval a b] `<=` [set` `[c, e]].
Proof.
case: a ca az => [[|]/=|[|]//] a; rewrite bnd_simp => ca az.
- rewrite (le_trans ca az)/=.
move: b be zb => [[|]/= b|[|]//]; rewrite bnd_simp => be.
by move=> /ltW/le_trans; exact.
by move=> /le_trans; exact.
- rewrite (le_trans ca (ltW az))/=.
move: b be zb => [[|]/= b|[|]//]; rewrite bnd_simp => be.
by move=> /ltW/le_trans; exact.
by move=> /le_trans; exact.
Qed.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
Source code
(BLeft c < a)%O -> (b < BRight e)%O ->
[set` Interval a b] `<=` [set` `]c, e[].
Proof.
case: a ca az => [[|]/=|[|]//] a; rewrite bnd_simp => ca az.
rewrite (lt_le_trans ca az)/=.
move: b be zb => [[|]/= b|[|]//]; rewrite bnd_simp => be.
by move=> /lt_le_trans; exact.
by move=> /le_lt_trans; exact.
rewrite (le_lt_trans ca az)/=.
move: b be zb => [[|]/= b|[|]//]; rewrite bnd_simp => be.
by move=> /lt_le_trans; exact.
by move=> /le_lt_trans; exact.
Qed.
Lemma
- mathcomp.analysis.showcase.pnt
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Proof.
Lemma
Proof.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code
Proof.
Lemma
Proof.
Lemma
- mathcomp.analysis.gauss_integral
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.elementary_functions.trigonometry_integral
- mathcomp.analysis.normedtype_theory.normed_module
Source code
Lemma
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Lemma
- mathcomp.analysis.ftc
Source code
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Proof.
Lemma
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Lemma
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
Source code
Lemma
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Lemma
Lemma
Proof.
Lemma
Proof.
Definition
neitv : forall {disp : disp_t} {T : porderType disp}, interval T -> bool neitv is not universe polymorphic Arguments neitv {disp T} i neitv is transparent Expands to: Constant mathcomp.classical.set_interval.neitv Declared in library mathcomp.classical.set_interval, line 71, characters 11-16
Used by
- mathcomp.analysis.topology_theory.num_topology
Source code
Definition
set_itv_infty_set0 : forall {disp : disp_t} {T : porderType disp}, (forall a : itv_bound T, [set` Interval a -oo%O]%classic = set0) * (forall a : itv_bound T, [set` Interval +oo%O a]%classic = set0) set_itv_infty_set0 is not universe polymorphic Arguments set_itv_infty_set0 {disp T} set_itv_infty_set0 is transparent Expands to: Constant mathcomp.classical.set_interval.set_itv_infty_set0 Declared in library mathcomp.classical.set_interval, line 189, characters 11-29
Used by
- mathcomp.reals.real_interval
- mathcomp.classical.classical_orders
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.numfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.ereal_normedtype
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
set_itvcc, set_itvoc, set_itvco, set_itvNyy, set_itvoy,
set_itvcy, set_itvNyo, set_itvNyc, set_itv_infty_set0).
Lemma
- mathcomp.analysis.ftc
- mathcomp.analysis.ess_sup_inf
Source code
Proof.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.probability_theory.normal_distribution
Source code
[set` Interval a (BLeft x)] `|` [set x] = [set` Interval a (BRight x)].
Proof.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
Source code
x |` [set` Interval (BRight x) a] = [set` Interval (BLeft x) a].
Proof.
Lemma
[set` Interval a (BSide b x)] `|` [set x] = [set` Interval a (BRight x)].
Proof.
by apply: setUidl => ? /= ->; rewrite itv_boundlr ax lexx.
Qed.
Lemma
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.topology_theory.separation_axioms
Source code
x |` [set` Interval (BSide b x) a] = [set` Interval (BLeft x) a].
Proof.
by apply: setUidr => ? /= ->; rewrite itv_boundlr ax lexx.
Qed.
Lemma
- mathcomp.analysis.normedtype_theory.normed_module
Source code
(x <= y)%O ->
[set` Interval (BSide b1 x) (BSide b2 y)] `|` [set x; y] = `[x, y]%classic.
Proof.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.topology_theory.num_topology
Source code
[set` Interval a (BSide b x)] `\ x = [set` Interval a (BLeft x)].
Proof.
Lemma
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.topology_theory.num_topology
Source code
[set` Interval (BSide b x) a] `\ x = [set` Interval (BRight x) a].
Proof.
apply/seteqP; split => [z|z] /=; rewrite !in_itv/=.
move=> [/andP[xz ->]]; rewrite andbT => /eqP.
by rewrite lt_neqAle eq_sym => ->.
move=> /andP[]; rewrite lt_neqAle => /andP[xz zx ->].
by rewrite andbT; split => //; exact/nesym/eqP.
Qed.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
[set` Interval (BSide b1 x) (BSide b2 y)] `\` [set x; y] = `]x, y[%classic.
End set_itv_porderType.
Arguments neitv {disp T} _.
#[deprecated(since="mathcomp-analysis 1.15.0", note="use `set_itv1` instead")]
Notation
Section set_itv_orderType.
Context {} { : orderType d}.
Implicit Types a b x y : itv_bound T.
Lemma
- mathcomp.reals.real_interval
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.ftc
Source code
([set` Interval a y] = [set` Interval a x] `|` [set` Interval x y])%classic.
Proof.
move=> /[swap].
rewrite le_eqVlt => /predU1P[-> ay|]; first by rewrite set_itvxx setU0.
move: y => [yb y/=|[|]]; last 2 first.
by case: x => [|[|]].
move=> _ ax; apply/seteqP; split => [z|z] /=.
rewrite !in_itv/= !andbT => -> /=; apply/orP.
by move: x => [[|] x/=|[|]//] in ax *; rewrite leNgt ?(orbN,orNb).
rewrite !in_itv/= !andbT => -[/andP[]|]//.
move: x => [[|] x/=|[|]//] in ax *; move: a => [[|] a/=|[|]//] in ax * => //.
- by apply/le_trans; exact/ltW.
- exact/lt_le_trans.
- by move=> /(le_lt_trans ax) /ltW.
- exact/lt_trans.
move=> xy ax; apply/seteqP; split => [z|z] /=.
rewrite !in_itv /= => /andP[].
move: a ax => [b t /=|[]//= oox _].
move=> tx -> zxy /=; rewrite zxy andbT/=; apply/orP.
by case: x xy tx => [[|] x/=|[|]//] xy tx; rewrite leNgt ?(orbN,orNb).
move=> ->; rewrite andbT; apply/orP.
by move: x => [[|] x/=|[|]//] in oox xy *; rewrite leNgt ?(orbN,orNb).
rewrite !in_itv/=.
move: a ax => [b t /= tx| [/= oox|/= oox]].
- move=> [/andP[-> zx]|].
move: x => [[|] x|[|]//]/= in xy tx zx *.
case: yb => /= in xy *.
by rewrite (lt_trans zx _).
by rewrite (ltW (lt_le_trans zx _)).
rewrite bnd_simp in xy.
case: yb => /=.
by rewrite (le_lt_trans zx _).
by rewrite (ltW (le_lt_trans zx _)).
move: x => [[|] x|[|]//]/= in xy tx *; rewrite bnd_simp in xy tx.
+ move=> /andP[xz ->]; rewrite andbT.
case: b => /=.
by rewrite (le_trans _ xz)// ltW.
by rewrite (lt_le_trans tx).
move=> /andP[xz ->]; rewrite andbT.
case: b tx => /= tx; rewrite bnd_simp in tx.
by rewrite ltW// (le_lt_trans _ xz).
by rewrite (lt_trans tx).
- move: x => [[|] x|[|]//]/= in xy oox *; move=> [|].
+ case: yb => /= in xy *.
by move=> /lt_trans; exact.
rewrite bnd_simp in xy.
by move=> /lt_le_trans => /(_ _ xy)/ltW.
+ by move=> /andP[].
+ case: yb => /= in xy *.
by move=> /le_lt_trans; apply.
by move=> /le_trans; apply; exact/ltW.
+ by move=> /andP[].
- by move: x => [[|] x|[|]//]/= in xy oox *.
Qed.
Lemma
- mathcomp.analysis.realfun
Source code
[set` Interval a b] `\ c =
[set` Interval a (BLeft c)] `|` [set` Interval (BRight c) b].
Proof.
- rewrite neq_lt => /orP[xc|cx]; [left|right].
+ move: cab xab; rewrite !itv_boundlr => /andP[ac cb] /andP[ax xb].
by rewrite ax/= bnd_simp.
+ move: cab xab; rewrite !itv_boundlr => /andP[ac cb] /andP[ax xb].
by rewrite xb andbT bnd_simp.
- move: cab; rewrite !itv_boundlr => /andP[ac cb] /andP[ax].
rewrite bnd_simp => xc.
rewrite ax/= (le_trans _ cb) ?bnd_simp ?(ltW xc)//; split => //.
by apply/eqP; rewrite lt_eqF.
- move: cab; rewrite !itv_boundlr => /andP[ac cb] /andP[+ xb].
rewrite bnd_simp => cx.
rewrite xb/= andbT (le_trans ac)/= ?bnd_simp ?(ltW cx)//; split => //.
by apply/eqP; rewrite gt_eqF.
Qed.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.topology_theory.num_topology
Source code
neitv (Interval (BSide b1 x) (BSide b2 y)) ->
[set` Interval (BSide b1 x) (BSide b2 y)] `\` `]x, y[ =
(if b1 then [set x] else set0) `|` (if b2 then set0 else [set y]).
Proof.
apply/seteqP; split => z/=; rewrite !in_itv/=; last first.
move: b1 b2 xy.
by move=> [] [] /[!bnd_simp]/= + []// -> => ->; rewrite ?(lexx,ltxx,andbF).
case=> /[swap] /negP; rewrite negb_and.
move: b1 b2 {xy} => [] [] /= + /andP[]; rewrite ?ltNge !negbK.
- by move=> /orP[*|->//]; left; exact/le_anti/andP.
- by case/orP => *; [left|right]; exact/le_anti/andP.
- by case/orP => ->.
- by move=> /orP[->//|*]; right; exact/le_anti/andP.
Qed.
Lemma
neitv `[x, y] ->
`[x, y] `\` [set` Interval (BSide b1 x) (BSide b2 y)] =
(if b1 then set0 else [set x]) `|` (if b2 then [set y] else set0).
Proof.
apply/seteqP; split => z/=; rewrite !in_itv/=; last first.
move: b1 b2 xy.
by move=> [] [] /[!bnd_simp]/= + []// -> => ->; rewrite ?(lexx,ltxx,andbF).
case=> /[swap] /negP; rewrite negb_and.
move: b1 b2 {xy} => [] [] /= + /andP[]; rewrite -?leNgt.
- by move=> /orP[/negPf ->//|*]; right; exact/le_anti/andP.
- by case/orP => /negPf ->.
- by case/orP => *; [left|right]; exact/le_anti/andP.
- by move=> /orP[*|/negPf ->//]; left; exact/le_anti/andP.
Qed.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
neitv (Interval (BSide b x) a) ->
[set` Interval (BSide b x) a] `\` `]x, +oo[ = if b then [set x] else set0.
Proof.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
neitv (Interval a (BSide b x)) ->
[set` Interval a (BSide b x)] `\` `]-oo, x[ = if b then set0 else [set x].
Proof.
Lemma
neitv (Interval (BLeft x) a) ->
[set` Interval (BLeft x) a] `\` [set` Interval (BSide b x) +oo%O] =
(if b then set0 else [set x]).
Proof.
Lemma
neitv (Interval a (BRight x)) ->
[set` Interval a (BRight x)] `\` [set` Interval -oo%O (BSide b x)] =
(if b then [set x] else set0).
Proof.
End set_itv_orderType.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integrable
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
~~ (b1 < b2)%O -> [set` Interval b1 b2] = set0.
Section set_itv_latticeType.
Context {} { : latticeType d}.
Implicit Types (i j : interval T) (x y : T) (a : itv_bound T).
Lemma
- mathcomp.analysis.lebesgue_stieltjes_measure
Source code
End set_itv_latticeType.
Section set_itv_numFieldType.
Context { : numFieldType}.
Implicit Types i : interval R.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.lebesgue_stieltjes_measure
Source code
Proof.
by move=> /mem_miditv ii; apply/set0P; exists (miditv i).
Qed.
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.normed_module
Source code
End set_itv_numFieldType.
Lemma
Proof.
Section interval_has_bound.
Context { : numDomainType}.
Lemma
has_lbound [set` Interval (BSide b x) a].
Lemma
has_ubound [set` Interval a (BSide b x)].
End interval_has_bound.
Section subr_image.
Context { : numDomainType}.
Implicit Types (E : set R) (x : R).
Lemma
- mathcomp.reals.reals
Source code
Proof.
Lemma
- mathcomp.reals.reals
Source code
Proof.
Lemma
- mathcomp.reals.reals
Source code
Proof.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
Lemma
- mathcomp.reals.reals
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.ereal
Source code
Lemma
Lemma
- mathcomp.reals.reals
- mathcomp.analysis.sequences
- mathcomp.analysis.ereal
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code
End subr_image.
Section interval_hasNbound.
Context { : realDomainType}.
Implicit Types (E : set R) (x : R).
Lemma
- mathcomp.reals.reals
- mathcomp.analysis.ereal
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Proof.
Lemma
- mathcomp.reals.reals
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
Proof.
Lemma
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
~ has_lbound [set` Interval -oo%O a].
Proof.
suff: ~ has_lbound `]-oo, r[%classic.
by case: b => //; apply/contra_not/subset_has_lbound => x /ltW.
apply/has_lbPn => x; exists (minr (r - 1) (x - 1)).
by rewrite !set_itvE/= gt_min ltrBlDr ltrDl ltr01.
by rewrite gt_min orbC ltrBlDr ltrDl ltr01.
case=> r /(_ (r - 1)) /=; rewrite in_itv /= => /(_ erefl).
by apply/negP; rewrite -ltNge ltrBlDr ltrDl.
Qed.
Lemma
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code
~ has_ubound [set` Interval a +oo%O].
Proof.
suff: ~ has_ubound `]r, +oo[%classic.
case: b => //; apply/contra_not/subset_has_ubound => x.
by rewrite !set_itvE => /ltW.
apply/has_ubPn => x; rewrite !set_itvE; exists (maxr (r + 1) (x + 1));
by rewrite ?in_itv /= ?andbT lt_max ltrDl ltr01 // orbT.
case=> r /(_ (r + 1)) /=; rewrite in_itv /= => /(_ erefl).
by apply/negP; rewrite -ltNge ltrDl.
Qed.
End interval_hasNbound.
#[global] Hint Extern 0 (has_lbound _) => solve[apply: has_lbound_itv] : core.
#[global] Hint Extern 0 (has_ubound _) => solve[apply: has_ubound_itv] : core.
#[global]
Hint Extern 0 (~ has_lbound _) => solve[by apply: hasNlbound_itv] : core.
#[global]
Hint Extern 0 (~ has_ubound _) => solve[by apply: hasNubound_itv] : core.
Lemma
- mathcomp.reals.real_interval
- mathcomp.analysis.ftc
Source code
-%R @` [set` Interval (BSide b x) +oo%O] =
[set` Interval -oo%O (BSide (negb b) (- x))].
Proof.
Lemma
-%R @` [set` Interval -oo%O (BSide b x)] =
[set` Interval (BSide (negb b) (- x)) +oo%O].
Proof.
Lemma
- mathcomp.reals.real_interval
Source code
-%R @` [set` Interval (BSide a x) (BSide b y)] =
[set` Interval (BSide (~~ b) (- y)) (BSide (~~ a) (- x))].
Proof.
Lemma
-%R @` `]x, y[%classic = `](- y), (- x)[%classic.
Proof.
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.probability_theory.random_variable
Source code
-%R @^-1` [set` Interval (BSide ba a) (BInfty _ bb)] =
[set` Interval (BInfty _ (~~ bb)) (BSide (~~ ba) (- a))].
Lemma
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
Source code
-%R @^-1` [set` Interval (BSide ba a) (BSide bb b)] =
[set` Interval (BSide (~~ bb) (- b)) (BSide (~~ ba) (- a))].
Context {} { : porderType d}.
Implicit Types (a : itv_bound T) (x y : T) (i j : interval T) (b : bool).
Lemma
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.topology_theory.order_topology
Source code
Proof.
End set_itv_porderType.
Section set_itv_orderType.
Context {} { : orderType d}.
Implicit Types (a : itv_bound T) (x y : T) (i j : interval T) (b : bool).
Lemma
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
Source code
Proof.
Lemma
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.ftc
Source code
Lemma
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.ftc
- mathcomp.analysis.ess_sup_inf
Source code
~` [set` i] = [set` Interval -oo%O i.1] `|` [set` Interval i.2 +oo%O].
Lemma
- mathcomp.analysis.sequences
- mathcomp.analysis.measurable_realfun
- mathcomp.analysis.lebesgue_stieltjes_measure
Source code
[set` i] = [set` Interval i.1 +oo%O] `\` [set` Interval i.2 +oo%O].
Proof.
Lemma
- mathcomp.analysis.probability_theory.random_variable
Source code
[set` Interval -oo%O (BSide b x)] `|`
[set` Interval (BSide b x) +oo%O] = [set: T].
Proof.
End set_itv_orderType.
Section line_path_factor_numDomainType.
Context { : numDomainType}.
Implicit Types (a b t r : R) (A : set R).
Lemma
(b - t \in Interval (BSide x a) (BSide y b)) =
(a + t \in Interval (BSide (~~ y) a) (BSide (~~ x) b)).
Proof.
Lemma
(b - a \in Interval (BSide x 0) (BSide y b)) =
(a \in Interval (BSide (~~ y) 0) (BSide (~~ x) b)).
Lemma
Proof.
Definition
set_itvE : forall {disp : disp_t} {T : porderType disp}, (forall x : T, `[x, x]%classic = [set x]%classic) * (forall x : T, `]x, x[%classic = set0) * (forall x : T, `]x, x]%classic = set0) * (forall x : T, `[x, x[%classic = set0) * (forall x y : T, `]x, y[%classic = [set z | (x < z < y)%O]%classic) * (forall x y : T, `[x, y]%classic = [set z | (x <= z <= y)%O]%classic) * (forall x y : T, `]x, y]%classic = [set z | (x < z <= y)%O]%classic) * (forall x y : T, `[x, y[%classic = [set z | (x <= z < y)%O]%classic) * (`]-oo, +oo[%classic = [set: T]%classic) * (forall x : T, `]x, +oo[%classic = [set z | (x < z)%O]%classic) * (forall x : T, `[x, +oo[%classic = [set z | (x <= z)%O]%classic) * (forall x : T, `]-oo, x[%classic = [set z | (z < x)%O]%classic) * (forall x : T, `]-oo, x]%classic = [set z | (z <= x)%O]%classic) * ((forall a : itv_bound T, [set` Interval a -oo%O]%classic = set0) * (forall a : itv_bound T, [set` Interval +oo%O a]%classic = set0)) set_itvE is not universe polymorphic Arguments set_itvE {disp T} set_itvE is transparent Expands to: Constant mathcomp.classical.set_interval.set_itvE Declared in library mathcomp.classical.set_interval, line 191, characters 11-19
Used by
- mathcomp.analysis.convex
- mathcomp.analysis.numfun
Source code
Lemma
Lemma
Lemma
Lemma
Lemma
- mathcomp.analysis.numfun
Source code
Lemma
- mathcomp.analysis.numfun
Source code
Lemma
Lemma
Proof.
Lemma
Proof.
Definition
line_path : forall {R : numDomainType}, R -> R -> R -> R line_path is not universe polymorphic Arguments line_path {R} (a b t)%_ring_scope line_path is transparent Expands to: Constant mathcomp.classical.set_interval.line_path Declared in library mathcomp.classical.set_interval, line 681, characters 11-20
Used by
- mathcomp.analysis.realfun
Source code
Lemma
Lemma
Lemma
- mathcomp.analysis.realfun
Source code
Definition
factor : forall {R : numDomainType}, R -> R -> R -> join_GRing_PzRing_between_Algebra_BaseZmodule_and_GRing_PzSemiRing R factor is not universe polymorphic Arguments factor {R} (a b x)%_ring_scope factor is transparent Expands to: Constant mathcomp.classical.set_interval.factor Declared in library mathcomp.classical.set_interval, line 712, characters 11-17
Source code
Lemma
Proof.
End line_path_factor_numDomainType.
#[deprecated(since="mathcomp-analysis 1.12.0", note="use `memB_itv0` instead")]
Notation
Section line_path_factor_numFieldType.
Context { : numFieldType}.
Implicit Types (a b t r : R) (A : set R).
Lemma
- mathcomp.analysis.realfun
Source code
Lemma
Proof.
Lemma
- mathcomp.analysis.realfun
Source code
Lemma
Proof.
Lemma
Lemma
Proof.
Lemma
Proof.
Lemma
Proof.
apply: homo_mono (line_pathK _) (leW_factor _) (leW_line_path _) => //.
by rewrite lt_eqF.
Qed.
Lemma
Proof.
apply: homo_mono (factorK _) (leW_line_path _) (leW_factor _) => //.
by rewrite lt_eqF.
Qed.
Lemma
Proof.
Lemma
Let
Proof.
.
@Can2.Build _ _ setT setT (ndline_path ab) (factor a b)
(fun _ _ => I) (fun _ _ => I)
(in1W (line_pathK (ltNeq ab))) (in1W (factorK (ltNeq ab))).
Lemma
set_bij [set` Interval (BSide ba 0) (BSide bb 1)]
[set` Interval (BSide ba a) (BSide bb b)] (line_path a b).
Proof.
apply: bij_subr => //=; rewrite setTI ?ndline_pathE.
apply/predeqP => t /=; rewrite !in_itv/= {1}line_pathEl line_pathEr.
rewrite -lteifBlDr subrr -lteif_pdivrMr ?subr_gt0// mul0r.
rewrite -lteifBrDr subrr -lteif_ndivrMr ?subr_lt0// mul0r.
by rewrite lteifBrDl addr0.
Qed.
Lemma
set_bij [set` Interval (BSide ba a) (BSide bb b)]
[set` Interval (BSide ba 0) (BSide bb 1)] (factor a b).
Proof.
by apply/splitbij_sub_sym => //; apply: line_path_itv_bij.
Qed.
Lemma
set_fun [set` Interval (BSide ba 0) (BSide bb 1)]
[set` Interval (BSide ba a) (BSide bb b)] (line_path a b).
Proof.
Lemma
Proof.
by move=> lt_ab; case: (line_path_itv_bij true false lt_ab).
Qed.
Lemma
- mathcomp.analysis.numfun
Source code
line_path a b @` [set` Interval (BSide ba 0) (BSide bb 1)] =
[set` Interval (BSide ba a) (BSide bb b)].
Proof.
Lemma
factor a b @` [set` Interval (BSide ba a) (BSide bb b)] =
[set` Interval (BSide ba 0) (BSide bb 1)].
Proof.
Lemma
- mathcomp.analysis.realfun
Source code
Proof.
End line_path_factor_numFieldType.
Lemma
set_fun [set` Interval (BSide ba a) (BSide bb b)]
[set` Interval (BSide ba 0) (BSide bb 1)] (factor a b).
Proof.
Lemma
all neitv s -> forall , i \in s -> i.1 != +oo%O.
Proof.
by rewrite boo => /sne /negP; apply; rewrite set_itv_infty_set0.
Qed.
Lemma
all neitv s -> forall , i \in s -> i.2 != -oo%O.
Proof.
by rewrite boo => /sne /negP; apply; rewrite set_itv_infty_set0.
Qed.
Lemma
( : set nat) : [set` def] = set0 ->
trivIset D (fun => [set` nth def s i]) <->
trivIset D (fun => nth set0 [seq [set` j] | <- s] i).
Proof.
- have [si|si] := ltP i (size s); last first.
by rewrite (nth_default set0) ?size_map// set0I.
have [sj|sj] := ltP j (size s); last first.
by rewrite setIC (nth_default set0) ?size_map// set0I.
by rewrite (nth_map def) // (nth_map def) // ss.
- have [?|h] := ltP i (size s); last by rewrite (nth_default def h) def0 set0I.
have [?|h] := ltP j (size s); last by rewrite (nth_default def h) def0 setI0.
by have := ss _ _ Di Dj ij; rewrite (nth_map def) // (nth_map def).
Qed.
Section disjoint_itv.
Context {
Definition
ndline_path : forall {R : numDomainType} [a b : R], (a < b)%R -> R -> R ndline_path is not universe polymorphic Arguments ndline_path {R} [a b]%_ring_scope _ t%_ring_scope ndline_path is transparent Expands to: Constant mathcomp.classical.set_interval.ndline_path Declared in library mathcomp.classical.set_interval, line 725, characters 11-22
Used by
- mathcomp.analysis.normedtype_theory.normed_module
Source code
fun => [disjoint [set` a] & [set` b]].
Lemma
Proof.
Lemma
- mathcomp.analysis.probability_theory.random_variable
Source code
disjoint_itv (Interval -oo%O (BSide b x)) (Interval (BSide b x) +oo%O).
End disjoint_itv.
Section disjoint_itv_orderType.
Context {
Lemma
disjoint_itv i j <-> ~~ neitv (itv_meet i j).
Proof.
by split => [/negPn//|?]; apply/negPn.
Qed.
End disjoint_itv_orderType.
Section disjoint_itv_numDomain.
Context { : numDomainType}.
Import Order.Theory.
Lemma
(forall , x \in i -> y \in j -> x < y) -> disjoint_itv i j.
Proof.
End disjoint_itv_numDomain.
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
[set` i] `&` [set` j] !=set0 -> [set` (i `|` j)%O] = [set` i] `|` [set` j].
Proof.
move: i j ip jp pij => [x y] [a b] /andP[xp py] /andP[ap pb] pab.
rewrite eqEsubset; split => /= r /=; first last.
by move=> -[ra|rb]; [exact/(le_trans ra)/leUl|exact/(le_trans rb)/leUr].
rewrite (@itv_splitUeq _ T p (x `&` a)%O)// => /orP[].
- move=> /andP[xar rp]; have /orP[ax|xa] := le_total a x.
+ right; apply/andP; split; first by rewrite (le_trans _ xar)// leIidr.
by rewrite (le_trans rp)// (le_trans _ pb)// bnd_simp.
+ left; apply/andP; split; first by rewrite (le_trans _ xar)// leIidl.
by rewrite (le_trans rp)// (le_trans _ py)//= bnd_simp.
- move=> /predU1P[->|/andP[pr ryb]]; first by left; apply/andP.
have /orP[bly|ylb] := le_total b y.
+ left; apply/andP; split; last by rewrite (le_trans ryb)// leUidr.
by rewrite (le_trans _ pr)// (le_trans xp)//= bnd_simp.
+ right; apply/andP; split; last by rewrite (le_trans ryb)// leUidl.
by rewrite (le_trans ap)// (le_trans _ pr)//= bnd_simp.
Qed.
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
[set` (i `&` j)%O] = [set` i] `&` [set` j].
Proof.
Section open_endpoints.
Context {} { : porderType d}.
Implicit Types (i : interval T).
Definition
is_open_itv : forall {d : disp_t} {T : porderType d}, set T -> Prop is_open_itv is not universe polymorphic Arguments is_open_itv {d T} A%_classical_set_scope is_open_itv is transparent Expands to: Constant mathcomp.classical.set_interval.is_open_itv Declared in library mathcomp.classical.set_interval, line 951, characters 11-22
Used by
- mathcomp.analysis.measurable_realfun
Source code
Definition
open_itv_cover : forall {d : disp_t} {T : porderType d}, set T -> set (nat -> set T) open_itv_cover is not universe polymorphic Arguments open_itv_cover {d T} A%_classical_set_scope _ open_itv_cover is transparent Expands to: Constant mathcomp.classical.set_interval.open_itv_cover Declared in library mathcomp.classical.set_interval, line 953, characters 11-25
Used by
- mathcomp.analysis.lebesgue_measure
- mathcomp.analysis.measurable_realfun
Source code
(forall , is_open_itv (F k)) /\ A `<=` \bigcup_ (F k)].
Definition
itv_is_open_unbounded : forall {d : disp_t} {T : porderType d}, interval T -> bool itv_is_open_unbounded is not universe polymorphic Arguments itv_is_open_unbounded {d T} i itv_is_open_unbounded is transparent Expands to: Constant mathcomp.classical.set_interval.itv_is_open_unbounded Declared in library mathcomp.classical.set_interval, line 956, characters 11-32
Used by
- mathcomp.analysis.topology_theory.order_topology
Source code
match i with
| `]-oo, _[ | `]_, +oo[ | `]-oo, +oo[ => true
| _ => false
end.
Definition
itv_is_oo : forall {d : disp_t} {T : porderType d}, interval T -> bool itv_is_oo is not universe polymorphic Arguments itv_is_oo {d T} i itv_is_oo is transparent Expands to: Constant mathcomp.classical.set_interval.itv_is_oo Declared in library mathcomp.classical.set_interval, line 962, characters 11-20
Source code
Definition
itv_open_ends : forall {d : disp_t} {T : porderType d}, interval T -> bool itv_open_ends is not universe polymorphic Arguments itv_open_ends {d T} i itv_open_ends is transparent Expands to: Constant mathcomp.classical.set_interval.itv_open_ends Declared in library mathcomp.classical.set_interval, line 964, characters 11-24
Used by
- mathcomp.classical.classical_orders
- mathcomp.analysis.topology_theory.bool_topology
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.topology_theory.nat_topology
- mathcomp.analysis.normedtype_theory.ereal_normedtype
Source code
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
itv_open_ends (Interval l (BSide b t)) -> b = true.
Proof.
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
itv_open_ends (Interval l (BInfty T b)) -> b = false.
Proof.
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
itv_open_ends (Interval (BSide b t) l) -> b = false.
Proof.
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
itv_open_ends (Interval (BInfty T b) l) -> b = true.
Proof.
Lemma
Proof.
End open_endpoints.
Section itv_open_ends_lemmas.
Lemma
- mathcomp.analysis.topology_theory.order_topology
Source code
itv_open_ends i -> itv_open_ends j -> itv_open_ends (i `&` j)%O.
Proof.
rewrite /itv_open_ends/= ?orbF ?andbT -?negb_or ?le_total//=.
Qed.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
itv_open_ends (Interval l r) ->
(x \in Interval l r) = (l < BLeft x)%O && (BRight x < r)%O.
Proof.
have [->|_] := eqVneq l (BLeft x); first by move/itv_open_ends_lside.
by have [->|_] := eqVneq r (BRight x); first by move/itv_open_ends_rside.
Qed.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
(l < r)%O ->
reflect (exists , l = BLeft t \/ r = BRight t)
(~~ itv_open_ends (Interval l r)).
Proof.
End itv_open_ends_lemmas.
Section closed_endpoints.
Context {} { : porderType d}.
Implicit Types (i : interval T).
Definition
itv_is_closed_unbounded : forall {d : disp_t} {T : porderType d}, interval T -> bool itv_is_closed_unbounded is not universe polymorphic Arguments itv_is_closed_unbounded {d T} i itv_is_closed_unbounded is transparent Expands to: Constant mathcomp.classical.set_interval.itv_is_closed_unbounded Declared in library mathcomp.classical.set_interval, line 1022, characters 11-34
Source code
match i with
| `[_, +oo[ | `]-oo, _] | `]-oo, +oo[ => true
| _ => false
end.
Definition
itv_is_cc : forall {d : disp_t} {T : porderType d}, interval T -> bool itv_is_cc is not universe polymorphic Arguments itv_is_cc {d T} i itv_is_cc is transparent Expands to: Constant mathcomp.classical.set_interval.itv_is_cc Declared in library mathcomp.classical.set_interval, line 1028, characters 11-20
Source code
Definition
itv_closed_ends : forall {d : disp_t} {T : porderType d}, interval T -> bool itv_closed_ends is not universe polymorphic Arguments itv_closed_ends {d T} i itv_closed_ends is transparent Expands to: Constant mathcomp.classical.set_interval.itv_closed_ends Declared in library mathcomp.classical.set_interval, line 1030, characters 11-26
Used by
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
Source code
End closed_endpoints.
Lemma
- mathcomp.analysis.topology_theory.num_topology
Source code
(l < r)%O ->
reflect (exists , l = BRight t \/ r = BLeft t)
(~~ itv_closed_ends (Interval l r)).