Skip to content

Commit 57733cf

Browse files
Merge pull request #1 from affeldt-aist/abs_cont_measure
tentative check for sigma_sub_additive
2 parents cc1d60f + acdb113 commit 57733cf

1 file changed

Lines changed: 48 additions & 45 deletions

File tree

theories/lebesgue_stieltjes_measure.v

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -376,57 +376,60 @@ Canonical hlength_measure (f : R -> R) (f_monotone : {homo f : x y / (x <= y)%R}
376376

377377
Hint Extern 0 (measurable _) => solve [apply: is_ocitv] : core.
378378

379-
Lemma hlength_sigma_sub_additive (f:R -> R) (f_monotone:{homo f : x y / (x <= y)%R}) : sigma_sub_additive (hlength f).
379+
Lemma hlength_semi_additive_helper (F : R -> R) (n : nat) a0 b0 (a b :
380+
nat -> R) :
381+
`[ a0, b0] `<=` \big[setU/set0]_(i < n) `] a i, b i[%classic
382+
->
383+
F b0 - F a0 <= \sum_(i < n) (F (b i) - F (a i)).
384+
Proof.
385+
Admitted.
386+
387+
Lemma hlength_sigma_sub_additive (f : R -> R)
388+
(f_monotone : {homo f : x y / (x <= y)%R}) :
389+
sigma_sub_additive (hlength f).
380390
Proof.
381391
move=> I A /(_ _)/cid2-/all_sig[b]/all_and2[_]/(_ _)/esym AE.
382392
move=> [a _ <-]; rewrite hlength_itv ?lte_fin/= -EFinB => lebig.
383-
case: ifPn => a12; last first. rewrite nneseries_esum//; last first.
384-
move=> n _.
385-
by apply:hlength_ge0'.
386-
rewrite esum_ge0//.
387-
move=> n _.
388-
by apply:hlength_ge0'.
393+
case: ifPn => a12; last first. rewrite nneseries_esum; last first.
394+
by move=> ? _; exact: hlength_ge0'.
395+
by rewrite esum_ge0// => ? _; exact: hlength_ge0'.
389396
apply: lee_adde => e.
390397
rewrite [e%:num]splitr [in leRHS]EFinD addeA -lee_subl_addr//.
391398
apply: le_trans (epsilon_trick _ _ _) => //=; last first.
392-
move=> n .
393-
by apply hlength_ge0'.
394-
have eVn_gt0 n : 0 < e%:num / 2 / (2 ^ n.+1)%:R.
395-
by rewrite divr_gt0// ltr0n// expn_gt0.
396-
have eVn_ge0 n := ltW (eVn_gt0 n).
397-
pose Aoo i : set itvs :=
398-
(`]((b i).1), ((b i).2 + e%:num / 2 / (2 ^ i.+1)%:R)[)%classic.
399-
pose Aoc i : set itvs :=
400-
(`]((b i).1), ((b i).2 + e%:num / 2 / (2 ^ i.+1)%:R)])%classic.
401-
have: `[a.1 + e%:num / 2, a.2] `<=` \bigcup_i Aoo i. (* <- *)
402-
apply: (@subset_trans _ `]a.1, a.2]).
403-
move=> x; rewrite /= !in_itv /= => /andP[+ -> //].
404-
by move=> /lt_le_trans-> //; rewrite ltr_addl.
405-
apply: (subset_trans lebig); apply: subset_bigcup => i _; rewrite AE /Aoo/=.
406-
move=> x /=; rewrite !in_itv /= => /andP[-> /le_lt_trans->]//=.
407-
by rewrite ltr_addl.
408-
have := @segment_compact _ (a.1 + e%:num / 2) a.2; rewrite compact_cover.
409-
move=> /[apply]-[i _|X _ Xc]; first by rewrite /Aoo//; apply: interval_open.
410-
have: `](a.1 + e%:num / 2), a.2] `<=` \bigcup_(i in [set` X]) Aoc i.
411-
move=> x /subset_itv_oc_cc /Xc [i /= Xi] Aooix.
412-
by exists i => //; apply: subset_itv_oo_oc Aooix.
413-
have /[apply] := @content_sub_fsum _ _ [additive_measure of (hlength f)] _ [set` X].
414-
move=> /(_ f_monotone _ _ _)/Box[]//=. apply: le_le_trans.
415-
rewrite hlength_itv ?lte_fin -?EFinD/= -addrA -opprD.
416-
case: ltP.
417-
rewrite lee_fin.
418-
move=> ae.(* *)
419-
apply ler_sub =>//.
420-
rewrite lerr.
421-
rewrite lee_fin. move=> ae.
422-
apply ler_sub =>//. rewrite subr_le0.
423-
rewrite nneseries_esum//; last by move=> *; rewrite adde_ge0//= ?lee_fin.
424-
rewrite esum_ge//; exists X => //; rewrite fsbig_finite// ?set_fsetK//=.
425-
rewrite lee_sum // => i _; rewrite ?AE// !hlength_itv/= ?lte_fin -?EFinD/=.
426-
do !case: ifPn => //= ?; do ?by rewrite ?adde_ge0 ?lee_fin// ?subr_ge0// ?ltW.
427-
by rewrite addrAC.
428-
by rewrite addrAC lee_fin ler_add// subr_le0 leNgt.
429-
Qed.
399+
by move=> ?; exact: hlength_ge0'.
400+
have [Delta hDelta] : exists Delta, f (a.1 + Delta) <= f a.1 + e%:num / 2.
401+
(* by continuity *)
402+
admit.
403+
have [delta hdelta] :
404+
exists delta : nat -> R, forall i, f ((b i).2 + delta i) <= f ((b
405+
i).2) + (e%:num / 2) / 2 ^ i.+1.
406+
suff : forall i, exists deltai, f ((b i).2 + deltai) <= f ((b i).2)
407+
+ (e%:num / 2) / 2 ^ i.+1.
408+
by move/choice => -[f' hf']; exists f'.
409+
(* by continuity *)
410+
admit.
411+
have H1 : `[ a.2 + Delta , a.1] `<=` \bigcup_i `](b i).1, (b i).2 +
412+
delta i[%classic.
413+
admit.
414+
have [n hn] : exists n, `[ a.1 + Delta , a.2] `<=` \big[setU/set0]_(i
415+
< n) `](b i).1, (b i).2 + delta i[%classic.
416+
(* by cover_compact *)
417+
admit.
418+
have H2 : f a.2 - f (a.1 + Delta) <= \sum_(i < n) (f ((b i).2 + delta
419+
i) - f (b i).1).
420+
(* by hlength_semi_additive_helper *)
421+
admit.
422+
have H3 : (((f a.2 - f (a.1) - e%:num / 2))%:E <=
423+
\sum_(i < n) ((hlength f) ( `](b i).1, (b i).2]%classic))
424+
+
425+
\sum_(i < n) (f ((b i).2 + delta i)%R - f (b i).2)%:E)%E.
426+
admit.
427+
have H4 : (((f a.2 - f (a.1) - e%:num / 2))%:E <=
428+
\sum_(i < n) ((hlength f) ( `](b i).1, (b i).2]%classic))
429+
+
430+
(e%:num / 2)%:E)%E.
431+
admit.
432+
Admitted.
430433

431434
Lemma hlength_sigma_finite : sigma_finite [set: itvs] hlength.
432435
Proof.

0 commit comments

Comments
 (0)