Skip to content

Commit

Permalink
add max_cvg_0_cvg_0
Browse files Browse the repository at this point in the history
  • Loading branch information
IshiguroYoshihiro authored and affeldt-aist committed Dec 13, 2023
1 parent c78dff7 commit 0cc9927
Show file tree
Hide file tree
Showing 2 changed files with 86 additions and 1 deletion.
9 changes: 9 additions & 0 deletions CHANGELOG_UNRELEASED.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,15 @@
+ lemma `Radon_Nikodym_cadd`
+ lemma `Radon_Nikodym_chain_rule`

+ lemma `minr_cvg_0_cvg_0`
+ lemma `mine_cvg_0_cvg_fin_num`
+ lemma `mine_cvg_minr_cvg`
+ lemma `mine_cvg_0_cvg_0`
+ lemma `maxr_cvg_0_cvg_0`
+ lemma `maxe_cvg_0_cvg_fin_num`
+ lemma `maxe_cvg_maxr_cvg`
+ lemma `maxe_cvg_0_cvg_0`

### Changed

- in `charge.v`
Expand Down
78 changes: 77 additions & 1 deletion theories/charge.v
Original file line number Diff line number Diff line change
Expand Up @@ -583,7 +583,7 @@ Qed.

End positive_negative_set_realFieldType.


(* TODO: generalize *)
Section min_cvg_0_cvg_0.
Context (R : realFieldType).

Expand Down Expand Up @@ -651,6 +651,82 @@ Qed.

End min_cvg_0_cvg_0.

Section max_cvg_0_cvg_0.
Context (R : realFieldType).

Lemma maxr_cvg_0_cvg_0 (x : R^nat) (np : R) :
(np < 0)%R -> (forall k, x k <= 0)%R ->
(fun n => maxr (x n) np)%R --> (0:R)%R -> x --> (0:R)%R.
Proof.
move=> np0 x_le0.
under eq_fun do rewrite -(opprK (x _)) -{1}(opprK np) -oppr_min.
rewrite -oppr0.
move/(@cvgNP _ [normedModType R of R^o]).
move/minr_cvg_0_cvg_0.
rewrite -oppr0 ltr_oppr in np0.
move/(_ np0).
have oppx_ge0 : (forall k : nat, (0 <= - x k)%R); first by move=> n; rewrite ler_oppr oppr0.
move/(_ oppx_ge0).
move/(@cvgNP _ [normedModType R of R^o]).
by rewrite opprK.
Qed.

Lemma maxe_cvg_0_cvg_fin_num (x : (\bar R)^nat) (np : \bar R) :
(np < 0) -> (forall k, x k <= 0) ->
(fun n => maxe (x n) np) --> 0 ->
\forall n \near \oo, x n \is a fin_num.
Proof.
move=> np0 x_le0.
under eq_fun do rewrite -(oppeK (x _)) -{1}(oppeK np) -oppe_min.
rewrite -oppe0.
move/cvgeNP.
move/mine_cvg_0_cvg_fin_num.
rewrite -oppe0 lte_oppr in np0.
move/(_ np0).
have oppx_ge0 : (forall k : nat, 0 <= - x k); first by move=> n; rewrite lee_oppr oppe0.
move/(_ oppx_ge0).
move=> [] n _ Hn.
exists n => // k nk.
rewrite -fin_numN.
by apply: Hn.
Qed.

Lemma maxe_cvg_maxr_cvg (x : (\bar R)^nat) (np : R) :
(np < 0)%R -> (forall k, x k <= 0) ->
(fun n => maxe (x n) np%:E) --> 0 ->
(fun n => maxr ((fine \o x) n) np) --> (0:R)%R.
Proof.
move=> np0 x_le0.
under eq_fun do rewrite -(oppeK (x _)) -{1}(oppeK np%:E) -oppe_min.
rewrite -oppr0 EFinN.
move/cvgeNP.
move/mine_cvg_minr_cvg.
rewrite -oppr0 ltr_oppr in np0.
move/(_ np0).
have oppx_ge0 : (forall k : nat, 0 <= - x k); first by move=> n; rewrite lee_oppr oppe0.
move/(_ oppx_ge0).
move/(@cvgNP _ [normedModType R of R^o]).
by under eq_cvg do rewrite /GRing.opp /= oppr_min fineN !opprK.
Qed.

Lemma maxe_cvg_0_cvg_0 (x : (\bar R)^nat) (np : \bar R) :
(np < 0) -> (forall k, x k <= 0) ->
(fun n => maxe (x n) np) --> 0 -> x --> 0.
Proof.
move=> np0 x_le0.
under eq_fun do rewrite -(oppeK (x _)) -{1}(oppeK np) -oppe_min.
rewrite -oppe0.
move/cvgeNP.
move/mine_cvg_0_cvg_0.
rewrite -oppe0 lte_oppr in np0.
move/(_ np0).
have oppx_ge0 : (forall k : nat, 0 <= - x k); first by move=> n; rewrite lee_oppr oppe0.
move/(_ oppx_ge0) /cvgeNP.
by under eq_cvg do rewrite oppeK.
Qed.

End max_cvg_0_cvg_0.

Section hahn_decomposition_lemma.
Context d (T : measurableType d) (R : realType).
Variables (nu : {charge set T -> \bar R}) (D : set T).
Expand Down

0 comments on commit 0cc9927

Please sign in to comment.