Skip to content

Commit 01b9cf0

Browse files
committed
integral_sum and fix integrable_sum
1 parent 14c5bf8 commit 01b9cf0

File tree

2 files changed

+36
-7
lines changed

2 files changed

+36
-7
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@
8686
`le0_nondecreasing_set_nonincreasing_integral`,
8787
`le0_nondecreasing_set_cvg_integral`
8888

89+
- in `lebesgue_integrable.v`:
90+
+ lemma `integral_sum`
91+
8992
### Changed
9093

9194
- in `convex.v`:
@@ -234,6 +237,9 @@
234237
- in `derive.v`:
235238
+ lemmas `is_deriveX`, `deriveX`, `exp_derive`, `exp_derive1`
236239

240+
- in `lebesgue_integrable.v`:
241+
+ lemma `integrable_sum`
242+
237243
### Deprecated
238244

239245
### Removed

theories/lebesgue_integral_theory/lebesgue_integrable.v

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -186,14 +186,15 @@ apply: (@le_lt_trans _ _ (\int[mu]_(x in D) (`|f x| + `|g x|))).
186186
by rewrite ge0_integralD //; [exact: lte_add_pinfty| exact: measurableT_comp..].
187187
Qed.
188188

189-
Lemma integrable_sum (s : seq (T -> \bar R)) :
190-
(forall h, h \in s -> mu_int h) -> mu_int (fun x => \sum_(h <- s) h x).
189+
Lemma integrable_sum I (s : seq I) (P : pred I) (h : I -> T -> \bar R) :
190+
(forall i, P i -> mu_int (h i)) ->
191+
mu_int (fun x => \sum_(i <- s | P i) h i x).
191192
Proof.
192-
elim: s => [_|h s ih hs].
193+
elim: s => [_|i s ih hs].
193194
by under eq_fun do rewrite big_nil; exact: integrable0.
194-
under eq_fun do rewrite big_cons; apply: integrableD => //.
195-
- by apply: hs; rewrite in_cons eqxx.
196-
- by apply: ih => k ks; apply: hs; rewrite in_cons ks orbT.
195+
under eq_fun do rewrite big_cons.
196+
have [Pi|Pi] := boolP (P i); last exact: ih.
197+
by apply: integrableD => //; [exact: hs|exact: ih].
197198
Qed.
198199

199200
Lemma integrableB f g : mu_int f -> mu_int g -> mu_int (f \- g).
@@ -622,7 +623,7 @@ Section integralD.
622623
Local Open Scope ereal_scope.
623624
Context d (T : measurableType d) (R : realType).
624625
Variables (mu : {measure set T -> \bar R}) (D : set T) (mD : measurable D).
625-
Variables (f1 f2 : T -> \bar R).
626+
Variables f1 f2 : T -> \bar R.
626627
Hypotheses (if1 : mu.-integrable D f1) (if2 : mu.-integrable D f2).
627628

628629
Let mf1 : measurable_fun D f1. Proof. exact: measurable_int if1. Qed.
@@ -681,6 +682,28 @@ Qed.
681682

682683
End integralD.
683684

685+
Section integral_sum.
686+
Local Open Scope ereal_scope.
687+
Context d (T : measurableType d) (R : realType).
688+
Variables (mu : {measure set T -> \bar R}) (D : set T) (mD : measurable D).
689+
Variables (I : Type) (f : I -> (T -> \bar R)).
690+
Hypothesis intf : forall n, mu.-integrable D (f n).
691+
692+
Lemma integral_sum (s : seq I) (P : pred I) :
693+
\int[mu]_(x in D) (\sum_(k <- s | P k) f k x) =
694+
\sum_(k <- s | P k) \int[mu]_(x in D) (f k x).
695+
Proof.
696+
elim: s => [|h t ih].
697+
under eq_integral do rewrite big_nil.
698+
by rewrite integral0 big_nil.
699+
rewrite big_cons -ih -integralD//; last exact: integrable_sum.
700+
case: ifPn => Ph.
701+
by apply: eq_integral => x xD; rewrite big_cons Ph.
702+
by apply: eq_integral => x xD; rewrite big_cons/= (negbTE Ph).
703+
Qed.
704+
705+
End integral_sum.
706+
684707
Section integralB.
685708
Local Open Scope ereal_scope.
686709
Context d (T : measurableType d) (R : realType).

0 commit comments

Comments
 (0)