Module mathcomp.analysis.convex
From HB Require Import structures.From mathcomp Require Import all_ssreflect_compat finmap ssralg ssrint ssrnum interval.
From mathcomp Require Import interval_inference.
#[warning="-warn-library-file-internal-analysis"]
From mathcomp Require Import unstable.
From mathcomp Require Import mathcomp_extra boolp classical_sets set_interval.
From mathcomp Require Import reals topology.
Reserved Notation "x <| p |> y" (format "x <| p |> y", at level 49).
Set SsrOldRewriteGoalsOrder.
Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.
Import Order.TTheory GRing.Theory Num.Theory.
Local Open Scope classical_set_scope.
Local Open Scope ring_scope.
Declare Scope convex_scope.
Local Open Scope convex_scope.
Module
Source code
Section def.
Variables ( : numDomainType) ( : Type) (
Source code
Local Notation
Source code
Definition
ln : forall [R : realType], R -> R ln is not universe polymorphic Arguments ln [R] x%ring_scope ln is transparent Expands to: Constant mathcomp.analysis.exp.ln Declared in library mathcomp.analysis.exp, line 692, characters 11-13
Source code
p%:num = r%:num * s%:num ->
s%:num.~ = p%:num.~ * q%:num.~ ->
a <| p |> (b <| q |> c) = (a <| r |> b) <| s |> c.
End def.
Lemma
Source code
p = r * s ->
1 - s = (1 - p) * (1 - q) ->
(1 - p) * q = s * (1 - r).
Proof.
Lemma ( : pzRingType) ( : R) :
1 - s = (1 - p) * (1 - q) ->
s = 1 - (1 - p) * (1 - q).
Lemma ( : comUnitRingType) ( : R) :
1 - p \is a GRing.unit ->
p = r * s ->
1 - s = (1 - p) * (1 - q) ->
q = (s * (1 - r)) / (1 - p).
Lemma ( : unitRingType) ( : R) :
s \is a GRing.unit -> p = r * s -> r = p / s.
End lemmas.
End ConvexQuasiAssoc.
Definition
powR : forall [R : realType], R -> R -> R powR is not universe polymorphic Arguments powR [R] (a x)%ring_scope powR is transparent Expands to: Constant mathcomp.analysis.exp.powR Declared in library mathcomp.analysis.exp, line 828, characters 11-15
Source code
.
Source code
Source code
Source code
Source code
conv : {i01 R} -> T -> T -> T ;
conv1 : forall , conv 1%:i01 a b = a ;
convmm : forall ( : {i01 R}) , conv p a a = a ;
convC : forall ( : {i01 R}) , conv p a b = conv (1 - p%:inum)%:i01 b a;
convA : convex_quasi_associative conv
}.
Source code
Source code
.
Source code
Source code
Source code
Source code
{ of isConvexSpace R T & Choice T}.
Notation
Source code
Section convex_space_lemmas.
Context ( : convType R).
Implicit Types a b : A.
Lemma
Source code
Proof.
End convex_space_lemmas.
Local Open Scope convex_scope.
Definition
powR_itv : Itv.t -> Itv.t powR_itv is not universe polymorphic Arguments powR_itv i powR_itv is transparent Expands to: Constant mathcomp.analysis.exp.powR_itv Declared in library mathcomp.analysis.exp, line 1060, characters 11-19
Source code
Section lmodType_convex_space.
Context { : numDomainType} { : lmodType R}.
Implicit Type p q r : {i01 R}.
Let := convex_lmodType E'.
Let
Source code
Let
Source code
Let
Source code
Let
Source code
Let
Source code
Proof.
.
Source code
Source code
Source code
.
Source code
Source code
isConvexSpace.Build R E avg1 avgI avgC avgA.
End lmodType_convex_space.
Definition
powR_inum : forall [R : realType] [i : Itv.t], Itv.def (Itv.num_sem (R:=R)) i -> R -> Itv.def (Itv.num_sem (R:=R)) (powR_itv i) powR_inum is not universe polymorphic Arguments powR_inum [R i] x p%ring_scope powR_inum is transparent Expands to: Constant mathcomp.analysis.exp.powR_inum Declared in library mathcomp.analysis.exp, line 1080, characters 10-19
Source code
Section numDomainType_convex_space.
Context { : numDomainType}.
Implicit Types p q : {i01 R}.
Let
Source code
Let
Source code
Proof.
Let
Source code
Proof.
Let
Source code
Proof.
Let
Source code
Proof.
.
Source code
Source code
Source code
_ avg1 avgI avgC avgA.
End numDomainType_convex_space.
Section conv_numDomainType.
Context { : numDomainType}.
Lemma
Source code
Proof.
Lemma
Source code
a <| t |> b = t%:inum * a + t%:inum.~ * b.
Proof.
Let
Source code
a <| t |> b = t%:inum.~ * b + t%:inum * a.
Lemma
Source code
a <| t |> b = line_path b a t%:num.
Proof.
Lemma
Source code
Lemma
Source code
Proof.
Lemma
Source code
End conv_numDomainType.
Definition
lne : forall [R : realType], \bar R -> \bar R lne is not universe polymorphic Arguments lne [R] x%ereal_scope lne is transparent Expands to: Constant mathcomp.analysis.exp.lne Declared in library mathcomp.analysis.exp, line 1153, characters 11-14
Source code
( : set (convex_lmodType M)) :=
forall
Source code
Lemma
Source code
( : set (convex_lmodType M)) :
convex_set A <->
{in A &, forall ( : {i01 R}),
0 < k%:num -> k%:num < 1 -> x <| k |> y \in A}.
Proof.
Definition
poweR : forall {R : realType}, \bar R -> R -> \bar R poweR is not universe polymorphic Arguments poweR {R} x%ereal_scope r%ring_scope poweR is transparent Expands to: Constant mathcomp.analysis.exp.poweR Declared in library mathcomp.analysis.exp, line 1267, characters 11-16
Source code
( := convex_lmodType E) ( : set E') ( : E' -> R^o) :=
forall ( : {i01 R}),
{in D &, forall ( : E'), (f (x <| t |> y) <= f x <| t |> f y)%R}.