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 {dispSource code} {TSource code : porderType disp}.
Implicit Types (i j : interval T) (x y : T) (a : itv_bound T).
Definition neitv
Used by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.normed_module
Source code iSource code := [set` i] != set0.
Lemma neitv_lt_bndUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code iSource code : neitv i -> (i.1 < i.2)%O.
Proof.
Lemma set_itvPSource code iSource code jSource code : [set` i] = [set` j] :> set _ <-> i =i j.
Proof.
by rewrite predeqE => r /=; rewrite ij.
Qed.
Lemma subset_itvPUsed by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
Source code iSource code jSource code : {subset i <= j} <-> [set` i] `<=` [set` j].
Proof.
Lemma in1_subset_itvUsed by
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
Source code (PSource code : T -> Prop) iSource code jSource code :
[set` j] `<=` [set` i] -> {in i, forall xSource code, P x} -> {in j, forall xSource code, P x}.
Proof.
Lemma subset_itvWUsed by
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code xSource code ySource code zSource code uSource code b0Source code b1Source 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 subset_itvlUsed by
- mathcomp.analysis.probability_theory.exponential_distribution
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.derive
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.reals.real_interval
Source code (aSource code bSource code cSource code : itv_bound T) : (b <= c)%O ->
[set` Interval a b] `<=` [set` Interval a c].
Lemma subset_itvrUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.derive
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code (aSource code bSource code cSource code : itv_bound T) : (c <= a)%O ->
[set` Interval a b] `<=` [set` Interval c b].
Lemma subset_itvUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.derive
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code (aSource code bSource code cSource code dSource code : itv_bound T) : (c <= a)%O -> (b <= d)%O ->
[set` Interval a b] `<=` [set` Interval c d].
Proof.
Lemma subset_itvSccUsed by
- mathcomp.analysis.ftc
- mathcomp.analysis.topology_theory.order_topology
Source code (aSource code bSource code : itv_bound T) (cSource code eSource code : T) :
(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 subset_itvSooUsed by
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
Source code (aSource code bSource code : itv_bound T) (cSource code eSource code : T) :
(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 set_itvooUsed by
- mathcomp.analysis.showcase.pnt
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code xSource code ySource code : `]x, y[%classic = [set zSource code | (x < z < y)%O].
Proof.
Lemma set_itvcoSource code xSource code ySource code : `[x, y[%classic = [set zSource code | (x <= z < y)%O].
Proof.
Lemma set_itvccUsed by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
Source code xSource code ySource code : `[x, y]%classic = [set zSource code | (x <= z <= y)%O].
Proof.
Lemma set_itvocSource code xSource code ySource code : `]x, y]%classic = [set zSource code | (x < z <= y)%O].
Proof.
Lemma set_itv1Used by
- mathcomp.analysis.realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.gauss_integral
- mathcomp.analysis.elementary_functions.trigonometry_integral
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code : `[x, x]%classic = [set x].
Lemma set_itvoo0Used by
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code xSource code : `]x, x[%classic = set0.
Lemma set_itvoc0Used by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code xSource code : `]x, x]%classic = set0.
Lemma set_itvco0Used by
- mathcomp.analysis.ftc
Source code xSource code : `[x, x[%classic = set0.
Lemma set_itvNyyUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
Source code : `]-oo, +oo[%classic = @setT T.
Proof.
Lemma set_itvoyUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code xSource code : `]x, +oo[%classic = [set zSource code | (x < z)%O].
Lemma set_itvcyUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
Source code xSource code : `[x, +oo[%classic = [set zSource code | (x <= z)%O].
Lemma set_itvNyoUsed by
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code xSource code : `]-oo, x[%classic = [set zSource code | (z < x)%O].
Lemma set_itvNycSource code xSource code : `]-oo, x]%classic = [set zSource code | (z <= x)%O].
Lemma set_itv_ybndSource code aSource code : [set` Interval +oo%O a] = set0.
Proof.
Lemma set_itv_bndNySource code aSource code : [set` Interval a -oo%O] = set0.
Proof.
Definition set_itv_infty_set0
Used by
- mathcomp.analysis.topology_theory.num_topology
Source code := (set_itv_bndNy, set_itv_ybnd).
Definition set_itvE
neitv : forall {disp : Order.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.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.separation_axioms
- mathcomp.analysis.topology_theory.initial_topology
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.numfun
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.ereal_normedtype
- mathcomp.analysis.normedtype_theory.urysohn
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
- mathcomp.reals.real_interval
- mathcomp.classical.classical_orders
Source code := (set_itv1, set_itvoo0, set_itvoc0, set_itvco0, set_itvoo,
set_itvcc, set_itvoc, set_itvco, set_itvNyy, set_itvoy,
set_itvcy, set_itvNyo, set_itvNyc, set_itv_infty_set0).
Lemma set_itvxxUsed by
- mathcomp.analysis.ess_sup_inf
- mathcomp.analysis.ftc
Source code aSource code : [set` Interval a a] = set0.
Proof.
Lemma setU_itvob1Used by
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
Source code aSource code xSource code : (a <= BLeft x)%O ->
[set` Interval a (BLeft x)] `|` [set x] = [set` Interval a (BRight x)].
Proof.
Lemma setU_1itvobUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
Source code aSource code xSource code : (BRight x <= a)%O ->
x |` [set` Interval (BRight x) a] = [set` Interval (BLeft x) a].
Proof.
Lemma setUitv1Source code aSource code xSource code bSource code : (a <= BLeft x)%O ->
[set` Interval a (BSide b x)] `|` [set x] = [set` Interval a (BRight x)].
Proof.
by apply: setUidl => ? /= ->; rewrite itv_boundlr ax lexx.
Qed.
Lemma setU1itvUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.topology_theory.separation_axioms
Source code aSource code xSource code bSource code : (BRight x <= a)%O ->
x |` [set` Interval (BSide b x) a] = [set` Interval (BLeft x) a].
Proof.
by apply: setUidr => ? /= ->; rewrite itv_boundlr ax lexx.
Qed.
Lemma setUitv_set2Used by
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.normed_module
Source code xSource code ySource code b1Source code b2Source code :
(x <= y)%O ->
[set` Interval (BSide b1 x) (BSide b2 y)] `|` [set x; y] = `[x, y]%classic.
Proof.
Lemma setDitv1rUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
Source code aSource code xSource code bSource code :
[set` Interval a (BSide b x)] `\ x = [set` Interval a (BLeft x)].
Proof.
Lemma setDitv1lUsed by
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
Source code aSource code xSource code bSource 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 setDitv_set2Used by
- mathcomp.analysis.topology_theory.num_topology
Source code xSource code ySource code b1Source code b2Source 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 interval_set1Source code := set_itv1 (only parsing).
Section set_itv_orderType.
Context {dSource code} {TSource code : orderType d}.
Implicit Types a b x y : itv_bound T.
Lemma itv_bndbnd_setUUsed by
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.ftc
- mathcomp.analysis.sequences
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.reals.real_interval
Source code aSource code xSource code ySource code : (a <= x)%O -> (x <= y)%O ->
([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 set_itv_splitUUsed by
- mathcomp.analysis.realfun
Source code aSource code bSource code (cSource code : T) : c \in Interval a b ->
[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 setDitvooUsed by
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
Source code (xSource code ySource code : T) (b1Source code b2Source code : bool) :
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 setDccitvSource code (xSource code ySource code : T) (b1Source code b2Source code : bool) :
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 setDitvoyUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code aSource code (xSource code : T) (bSource code : bool) :
neitv (Interval (BSide b x) a) ->
[set` Interval (BSide b x) a] `\` `]x, +oo[ = if b then [set x] else set0.
Proof.
Lemma setDitvNyoUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code aSource code (xSource code : T) (bSource code : bool) :
neitv (Interval a (BSide b x)) ->
[set` Interval a (BSide b x)] `\` `]-oo, x[ = if b then set0 else [set x].
Proof.
Lemma setD_cbnd_bndySource code aSource code (xSource code : T) (bSource code : bool) :
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 setD_bndc_NybndSource code aSource code (xSource code : T) (bSource code : bool) :
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 set_itv_geUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_Rintegral
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_under
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integrable
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.analysis.normedtype_theory.normed_module
Source code dispSource code [TSource code : porderType disp] [b1Source code b2Source code : itv_bound T] :
~~ (b1 < b2)%O -> [set` Interval b1 b2] = set0.
Section set_itv_latticeType.
Context {dSource code} {TSource code : latticeType d}.
Implicit Types (i j : interval T) (x y : T) (a : itv_bound T).
Lemma set_itvIUsed by
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
Source code iSource code jSource code : [set` (i `&` j)%O] = [set` i] `&` [set` j].
End set_itv_latticeType.
Section set_itv_numFieldType.
Context {RSource code : numFieldType}.
Implicit Types i : interval R.
Lemma neitvEUsed by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_differentiation
Source code iSource code : neitv i = (i.1 < i.2)%O.
Proof.
by move=> /mem_miditv ii; apply/set0P; exists (miditv i).
Qed.
Lemma neitvPUsed by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.normedtype_theory.normed_module
Source code iSource code : reflect (i.1 < i.2)%O (neitv i).
End set_itv_numFieldType.
Lemma setitv0Source code (RSource code : realDomainType) : [set` (\bot%O : interval R)] = set0.
Proof.
Section interval_has_bound.
Context {RSource code : numDomainType}.
Lemma has_lbound_itvSource code (xSource code : R) bSource code (aSource code : itv_bound R) :
has_lbound [set` Interval (BSide b x) a].
Lemma has_ubound_itvSource code (xSource code : R) bSource code (aSource code : itv_bound R) :
has_ubound [set` Interval a (BSide b x)].
End interval_has_bound.
Section subr_image.
Context {RSource code : numDomainType}.
Implicit Types (E : set R) (x : R).
Lemma setNKUsed by
- mathcomp.reals.reals
Source code : involutive (fun ESource code => -%R @` E).
Proof.
Lemma lb_ubNUsed by
- mathcomp.reals.reals
Source code ESource code xSource code : lbound E x <-> ubound (-%R @` E) (- x).
Proof.
Lemma ub_lbNUsed by
- mathcomp.reals.reals
Source code ESource code xSource code : ubound E x <-> lbound (-%R @` E) (- x).
Proof.
Lemma memNEUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code ESource code xSource code : E x = (-%R @` E) (- x).
Lemma nonemptyNUsed by
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.ereal
- mathcomp.reals.reals
Source code ESource code : nonempty (-%R @` E) <-> nonempty E.
Lemma opp_set_eq0Source code ESource code : (-%R @` E) = set0 <-> E = set0.
Lemma has_lb_ubNUsed by
- mathcomp.analysis.ereal
- mathcomp.analysis.sequences
- mathcomp.analysis.normedtype_theory.pseudometric_normed_Zmodule
- mathcomp.reals.reals
Source code ESource code : has_lbound E <-> has_ubound (-%R @` E).
End subr_image.
Section interval_hasNbound.
Context {RSource code : realDomainType}.
Implicit Types (E : set R) (x : R).
Lemma has_ubPnUsed by
- mathcomp.analysis.ereal
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.reals.reals
Source code {ESource code} : ~ has_ubound E <-> (forall xSource code, exists2 ySource code, E y & x < y).
Proof.
Lemma has_lbPnUsed by
- mathcomp.analysis.normedtype_theory.num_normedtype
- mathcomp.reals.reals
Source code ESource code : ~ has_lbound E <-> (forall xSource code, exists2 ySource code, E y & y < x).
Proof.
Lemma hasNlbound_itvUsed by
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code (aSource code : itv_bound R) : a != -oo%O ->
~ 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 hasNubound_itvUsed by
- mathcomp.analysis.normedtype_theory.num_normedtype
Source code (aSource code : itv_bound R) : a != +oo%O ->
~ 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 opp_itv_bndyUsed by
- mathcomp.analysis.ftc
- mathcomp.reals.real_interval
Source code (RSource code : numDomainType) (xSource code : R) bSource code :
-%R @` [set` Interval (BSide b x) +oo%O] =
[set` Interval -oo%O (BSide (negb b) (- x))].
Proof.
Lemma opp_itvNy_bndSource code (RSource code : numDomainType) (xSource code : R) bSource code :
-%R @` [set` Interval -oo%O (BSide b x)] =
[set` Interval (BSide (negb b) (- x)) +oo%O].
Proof.
Lemma opp_itv_bnd_bndUsed by
- mathcomp.reals.real_interval
Source code (RSource code : numDomainType) aSource code bSource code (xSource code ySource code : R) :
-%R @` [set` Interval (BSide a x) (BSide b y)] =
[set` Interval (BSide (~~ b) (- y)) (BSide (~~ a) (- x))].
Proof.
Lemma opp_itvooSource code (RSource code : numDomainType) (xSource code ySource code : R) :
-%R @` `]x, y[%classic = `](- y), (- x)[%classic.
Proof.
Lemma opp_preimage_itvbndyUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
Source code (RSource code : numDomainType) baSource code (aSource code : R) (bbSource code : bool):
-%R @^-1` [set` Interval (BSide ba a) (BInfty _ bb)] =
[set` Interval (BInfty _ (~~ bb)) (BSide (~~ ba) (- a))].
Lemma opp_preimage_itvbndbndUsed by
- mathcomp.analysis.lebesgue_integral_theory.lebesgue_integral_nonneg
Source code (RSource code : numDomainType) baSource code (aSource code : R) bbSource code (bSource code : R) :
-%R @^-1` [set` Interval (BSide ba a) (BSide bb b)] =
[set` Interval (BSide (~~ bb) (- b)) (BSide (~~ ba) (- a))].
Context {dSource code} {TSource code : porderType d}.
Implicit Types (a : itv_bound T) (x y : T) (i j : interval T) (b : bool).
Lemma set_itv_splitIUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.topology_theory.order_topology
Source code iSource code : [set` i] = [set` Interval i.1 +oo%O] `&` [set` Interval -oo%O i.2].
Proof.
End set_itv_porderType.
Section set_itv_orderType.
Context {dSource code} {TSource code : orderType d}.
Implicit Types (a : itv_bound T) (x y : T) (i j : interval T) (b : bool).
Lemma setCitvlUsed by
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
Source code aSource code : ~` [set` Interval -oo%O a] = [set` Interval a +oo%O].
Proof.
Lemma setCitvrUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
Source code aSource code : ~` [set` Interval a +oo%O] = [set` Interval -oo%O a].
Lemma setCitvUsed by
- mathcomp.analysis.ess_sup_inf
- mathcomp.analysis.probability_theory.random_variable
- mathcomp.analysis.probability_theory.normal_distribution
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.ftc
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
Source code iSource code :
~` [set` i] = [set` Interval -oo%O i.1] `|` [set` Interval i.2 +oo%O].
Lemma set_itv_splitDUsed by
- mathcomp.analysis.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_stieltjes_measure
- mathcomp.analysis.sequences
Source code iSource code :
[set` i] = [set` Interval i.1 +oo%O] `\` [set` Interval i.2 +oo%O].
Proof.
Lemma itv_setU_setTUsed by
- mathcomp.analysis.probability_theory.random_variable
Source code bSource code xSource 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 {RSource code : numDomainType}.
Implicit Types (a b t r : R) (A : set R).
Lemma memB_itvSource code (xSource code ySource code : bool) aSource code bSource code tSource code :
(b - t \in Interval (BSide x a) (BSide y b)) =
(a + t \in Interval (BSide (~~ y) a) (BSide (~~ x) b)).
Proof.
Lemma memB_itv0Source code (xSource code ySource code : bool) (aSource code bSource code : R) :
(b - a \in Interval (BSide x 0) (BSide y b)) =
(a \in Interval (BSide (~~ y) 0) (BSide (~~ x) b)).
Lemma __deprepcated__mem_1B_itvccSource code tSource code : (1 - t \in `[0, 1]) = (t \in `[0, 1]).
Proof.
Definition line_path
set_itv_infty_set0 : forall {disp : Order.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.analysis.convex
- mathcomp.analysis.numfun
Source code aSource code bSource code tSource code : R := (1 - t) * a + t * b.
Lemma line_path_idSource code : line_path 0 1 = id.
Lemma line_pathElSource code aSource code bSource code tSource code : line_path a b t = t * (b - a) + a.
Lemma line_pathErSource code aSource code bSource code tSource code : line_path a b t = (1 - t) * (a - b) + b.
Lemma line_path10Source code tSource code : line_path 1 0 t = 1 - t.
Lemma line_path0Used by
- mathcomp.analysis.numfun
Source code aSource code bSource code : line_path a b 0 = a.
Lemma line_path1Used by
- mathcomp.analysis.numfun
Source code aSource code bSource code : line_path a b 1 = b.
Lemma line_path_symSource code aSource code bSource code tSource code : line_path a b t = line_path b a (1 - t).
Lemma line_path_flatSource code aSource code : line_path a a = cst a.
Proof.
Lemma leW_line_pathSource code aSource code bSource code : a <= b -> {homo line_path a b : xSource code ySource code / x <= y}.
Proof.
Definition factor
set_itvE : forall {disp : Order.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.realfun
Source code aSource code bSource code xSource code := (x - a) / (b - a).
Lemma leW_factorSource code aSource code bSource code : a <= b -> {homo factor a b : xSource code ySource code / x <= y}.
Lemma factor_flatSource code aSource code : factor a a = cst 0.
Lemma factorlUsed by
- mathcomp.analysis.realfun
Source code aSource code bSource code : factor a b a = 0.
Definition ndline_path
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
Source code aSource code bSource code & a < b := line_path a b.
Lemma ndline_pathESource code aSource code bSource code (abSource code : a < b) : ndline_path ab = line_path a b.
Proof.
End line_path_factor_numDomainType.
#[deprecated(since="mathcomp-analysis 1.12.0", note="use `memB_itv0` instead")]
Notation mem_1B_itvccSource code := __deprepcated__mem_1B_itvcc (only parsing).
Section line_path_factor_numFieldType.
Context {RSource code : numFieldType}.
Implicit Types (a b t r : R) (A : set R).
Lemma factorrUsed by
- mathcomp.analysis.realfun
Source code aSource code bSource code : a != b -> factor a b b = 1.
Lemma factorKSource code aSource code bSource code : a != b -> cancel (factor a b) (line_path a b).
Proof.
Lemma line_pathKUsed by
- mathcomp.analysis.realfun
Source code aSource code bSource code : a != b -> cancel (line_path a b) (factor a b).
Lemma line_path_injSource code aSource code bSource code : a != b -> injective (line_path a b).
Proof.
Lemma factor_injSource code aSource code bSource code : a != b -> injective (factor a b).
Lemma line_path_bijSource code aSource code bSource code : a != b -> bijective (line_path a b).
Proof.
Lemma factor_bijSource code aSource code bSource code : a != b -> bijective (factor a b).
Proof.
Lemma le_line_pathSource code aSource code bSource code : a < b -> {mono line_path a b : xSource code ySource code / x <= y}.
Proof.
apply: homo_mono (line_pathK _) (leW_factor _) (leW_line_path _) => //.
by rewrite lt_eqF.
Qed.
Lemma le_factorSource code aSource code bSource code : a < b -> {mono factor a b : xSource code ySource code / x <= y}.
Proof.
apply: homo_mono (factorK _) (leW_line_path _) (leW_factor _) => //.
by rewrite lt_eqF.
Qed.
Lemma lt_line_pathSource code aSource code bSource code : a < b -> {mono line_path a b : xSource code ySource code / x < y}.
Proof.
Lemma lt_factorSource code aSource code bSource code : a < b -> {mono factor a b : xSource code ySource code / x < y}.
Let ltNeqSource code aSource code bSource code : a < b -> a != b
Proof.
HBSource code.instanceSource code DefinitionSource code _Source code aSource code bSource code (abSource code :Source code aSource code < b) :=
@Can2.Build _ _ setT setT (ndline_path ab) (factor a b)
(fun _ _ => I) (fun _ _ => I)
(in1W (line_pathK (ltNeq ab))) (in1W (factorK (ltNeq ab))).
Lemma line_path_itv_bijSource code baSource code bbSource code aSource code bSource code : a < b ->
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 factor_itv_bijSource code baSource code bbSource code aSource code bSource code : a < b ->
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 mem_line_path_itvSource code baSource code bbSource code aSource code bSource code : a < b ->
set_fun [set` Interval (BSide ba 0) (BSide bb 1)]
[set` Interval (BSide ba a) (BSide bb b)] (line_path a b).
Proof.
Lemma mem_line_path_itvccSource code aSource code bSource code : a <= b -> set_fun `[0, 1] `[a, b] (line_path a b).
Proof.
by move=> lt_ab; case: (line_path_itv_bij true false lt_ab).
Qed.
Lemma range_line_pathUsed by
- mathcomp.analysis.numfun
Source code baSource code bbSource code aSource code bSource code : a < b ->
line_path a b @` [set` Interval (BSide ba 0) (BSide bb 1)] =
[set` Interval (BSide ba a) (BSide bb b)].
Proof.
Lemma range_factorSource code baSource code bbSource code aSource code bSource code : a < b ->
factor a b @` [set` Interval (BSide ba a) (BSide bb b)] =
[set` Interval (BSide ba 0) (BSide bb 1)].
Proof.
Lemma onem_factorUsed by
- mathcomp.analysis.realfun
Source code aSource code bSource code xSource code : a != b -> (factor a b x).~ = factor b a x.
Proof.
End line_path_factor_numFieldType.
Lemma mem_factor_itvSource code (RSource code : realFieldType) baSource code bbSource code (aSource code bSource code : R) :
set_fun [set` Interval (BSide ba a) (BSide bb b)]
[set` Interval (BSide ba 0) (BSide bb 1)] (factor a b).
Proof.
Lemma neitv_bnd1Source code (RSource code : numFieldType) (sSource code : seq (interval R)) :
all neitv s -> forall iSource code, i \in s -> i.1 != +oo%O.
Proof.
by rewrite boo => /sne /negP; apply; rewrite set_itv_infty_set0.
Qed.
Lemma neitv_bnd2Source code (RSource code : numFieldType) (sSource code : seq (interval R)) :
all neitv s -> forall iSource code, i \in s -> i.2 != -oo%O.
Proof.
by rewrite boo => /sne /negP; apply; rewrite set_itv_infty_set0.
Qed.
Lemma trivIset_set_itv_nthSource code (RSource code : numDomainType) defSource code (sSource code : seq (interval R))
(DSource code : set nat) : [set` def] = set0 ->
trivIset D (fun iSource code => [set` nth def s i]) <->
trivIset D (fun iSource code => nth set0 [seq [set` j] | jSource code <- 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 {dispSource code : Order.disp_t} {TSource code : porderType disp}.
Definition disjoint_itv
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
Used by
- mathcomp.analysis.normedtype_theory.normed_module
Source code : rel (interval T) :=
fun aSource code bSource code => [disjoint [set` a] & [set` b]].
Lemma disjoint_itvxxSource code (iSource code : interval T) : neitv i -> ~~ disjoint_itv i i.
Proof.
Lemma disjoint_raysUsed by
- mathcomp.analysis.probability_theory.random_variable
Source code bSource code (xSource code : T) :
disjoint_itv (Interval -oo%O (BSide b x)) (Interval (BSide b x) +oo%O).
End disjoint_itv.
Section disjoint_itv_orderType.
Context {dispSource code : Order.disp_t} {TSource code : orderType disp}.
Lemma disjoint_neitvSource code (iSource code jSource code : interval T) :
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 {RSource code : numDomainType}.
Import Order.Theory.
Lemma lt_disjointSource code (iSource code jSource code : interval R) :
(forall xSource code ySource code, x \in i -> y \in j -> x < y) -> disjoint_itv i j.
Proof.
End disjoint_itv_numDomain.
Lemma itv_setUUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code {dSource code} {TSource code : orderType d} (iSource code jSource code : interval T) :
[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 itv_setIUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code {dSource code} {TSource code : orderType d} (iSource code jSource code : interval T) :
[set` (i `&` j)%O] = [set` i] `&` [set` j].
Proof.
Section open_endpoints.
Context {dSource code} {TSource code : porderType d}.
Implicit Types (i : interval T).
Definition is_open_itv
disjoint_itv : forall {disp : Order.disp_t} {T : porderType disp}, rel (interval T) disjoint_itv is not universe polymorphic Arguments disjoint_itv {disp T} _ _ disjoint_itv is transparent Expands to: Constant mathcomp.classical.set_interval.disjoint_itv Declared in library mathcomp.classical.set_interval, line 881, characters 11-23
Used by
- mathcomp.analysis.real_measure.measurable_realfun
Source code (ASource code : set T) := exists abSource code, A = `]ab.1, ab.2[%classic.
Definition open_itv_cover
is_open_itv : forall {d : Order.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.real_measure.measurable_realfun
- mathcomp.analysis.real_measure.lebesgue_measure
Source code (ASource code : set T) := [set FSource code : nat -> set T |
(forall kSource code, is_open_itv (F k)) /\ A `<=` \bigcup_kSource code (F k)].
Definition itv_is_open_unbounded
open_itv_cover : forall {d : Order.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.topology_theory.order_topology
Source code iSource code : bool :=
match i with
| `]-oo, _[ | `]_, +oo[ | `]-oo, +oo[ => true
| _ => false
end.
Definition itv_is_oo
itv_is_open_unbounded : forall {d : Order.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
Source code iSource code : bool := if i is `]_, _[ then true else false.
Definition itv_open_ends
itv_is_oo : forall {d : Order.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
Used by
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.nat_topology
- mathcomp.analysis.topology_theory.num_topology
- mathcomp.analysis.topology_theory.bool_topology
- mathcomp.analysis.normedtype_theory.ereal_normedtype
- mathcomp.classical.classical_orders
Source code iSource code : bool := itv_is_open_unbounded i || itv_is_oo i.
Lemma itv_open_ends_rsideUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code lSource code bSource code (tSource code : T) :
itv_open_ends (Interval l (BSide b t)) -> b = true.
Proof.
Lemma itv_open_ends_rinftyUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code lSource code bSource code :
itv_open_ends (Interval l (BInfty T b)) -> b = false.
Proof.
Lemma itv_open_ends_lsideUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code lSource code bSource code (tSource code : T) :
itv_open_ends (Interval (BSide b t) l) -> b = false.
Proof.
Lemma itv_open_ends_linftyUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code lSource code bSource code :
itv_open_ends (Interval (BInfty T b) l) -> b = true.
Proof.
Lemma is_open_itv_itv_is_bd_openPSource code iSource code : itv_is_oo i -> is_open_itv [set` i].
Proof.
End open_endpoints.
Section itv_open_ends_lemmas.
Lemma itv_open_endsIUsed by
- mathcomp.analysis.topology_theory.order_topology
Source code {dSource code} {TSource code : orderType d} (iSource code jSource code : interval T) :
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 itv_open_ends_boundlrUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code {dSource code} {TSource code : porderType d} (lSource code rSource code : itv_bound T) (xSource code : T) :
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 itv_open_endsPnUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code {dSource code} {TSource code : porderType d} (lSource code rSource code : itv_bound T) :
(l < r)%O ->
reflect (exists tSource code , l = BLeft t \/ r = BRight t)
(~~ itv_open_ends (Interval l r)).
Proof.
End itv_open_ends_lemmas.
Section closed_endpoints.
Context {dSource code} {TSource code : porderType d}.
Implicit Types (i : interval T).
Definition itv_is_closed_unbounded
itv_open_ends : forall {d : Order.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
Source code iSource code : bool :=
match i with
| `[_, +oo[ | `]-oo, _] | `]-oo, +oo[ => true
| _ => false
end.
Definition itv_is_cc
itv_is_closed_unbounded : forall {d : Order.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 iSource code : bool := if i is `[_, _] then true else false.
Definition itv_closed_ends
itv_is_cc : forall {d : Order.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
Used by
- mathcomp.analysis.topology_theory.order_topology
- mathcomp.analysis.topology_theory.num_topology
Source code iSource code : bool := itv_is_closed_unbounded i || itv_is_cc i.
End closed_endpoints.
Lemma itv_closed_endsPnUsed by
- mathcomp.analysis.topology_theory.num_topology
Source code {dSource code} {TSource code : porderType d} (lSource code rSource code : itv_bound T) :
(l < r)%O ->
reflect (exists tSource code, l = BRight t \/ r = BLeft t)
(~~ itv_closed_ends (Interval l r)).