@@ -1558,3 +1558,93 @@ Qed.
15581558
15591559End lebesgue_measure_integral.
15601560Arguments integral_Sset1 {R f A} r.
1561+
1562+ Section ge0_nondecreasing_set_cvg_integral.
1563+ Context {d : measure_display} {T : measurableType d} {R : realType}.
1564+ Variables (F : (set T)^nat) (f : T -> \bar R) (mu : measure T R).
1565+ Local Open Scope ereal_scope.
1566+ Hypotheses (nndF : nondecreasing_seq F) (mF : forall i, measurable (F i)).
1567+ Hypothesis mf : forall i, measurable_fun (F i) f.
1568+ Hypothesis f0 : forall i x, F i x -> 0 <= f x.
1569+
1570+ Lemma ge0_nondecreasing_set_nondecreasing_integral :
1571+ nondecreasing_seq (fun i => \int[mu]_(x in F i) f x).
1572+ Proof .
1573+ apply/nondecreasing_seqP => n; apply: ge0_subset_integral => //=.
1574+ - by move=> ?; exact: f0.
1575+ - by rewrite -subsetEset; exact: nndF.
1576+ Qed .
1577+
1578+ Lemma ge0_nondecreasing_set_cvg_integral :
1579+ \int[mu]_(x in F i) f x @[i --> \oo] --> \int[mu]_(x in \bigcup_i F i) f x.
1580+ Proof .
1581+ apply: cvg_toP.
1582+ apply: ereal_nondecreasing_is_cvgn.
1583+ exact: ge0_nondecreasing_set_nondecreasing_integral.
1584+ under eq_fun do rewrite integral_mkcond/=.
1585+ rewrite -monotone_convergence//=; last 3 first.
1586+ - by move=> n; apply/(measurable_restrictT f).
1587+ - by move=> n x _; apply: erestrict_ge0 => {}x; exact: f0.
1588+ - move=> x _; apply/nondecreasing_seqP => n; apply: restrict_lee => //.
1589+ by move=> {}x; exact: f0.
1590+ by rewrite -subsetEset; exact: nndF.
1591+ rewrite [RHS]integral_mkcond/=.
1592+ apply: eq_integral => /=; rewrite /g_sigma_algebraType/ocitv_type => x _.
1593+ transitivity (ereal_sup (range (fun n => (f \_ (F n)) x))).
1594+ apply/cvg_lim => //.
1595+ apply/ereal_nondecreasing_cvgn/nondecreasing_seqP => n; apply: restrict_lee.
1596+ by move=> {}x; exact: f0.
1597+ by rewrite -subsetEset; exact: nndF.
1598+ apply/eqP; rewrite eq_le; apply/andP; split.
1599+ - apply: ub_ereal_sup => _/= [n _ <-].
1600+ apply: restrict_lee; last exact: bigcup_sup.
1601+ by move=> ? [? _]; exact: f0.
1602+ - rewrite patchE; case: ifPn=> [|/negP].
1603+ rewrite inE => -[n _ Fnx].
1604+ by apply: ereal_sup_ge; exists (f \_ (F n) x) => //; rewrite patchE mem_set.
1605+ rewrite inE -[X in X -> _]/((~` _) x) setC_bigcup => nFx.
1606+ apply/ereal_sup_ge; exists point => //=; exists 0%R => //.
1607+ by rewrite patchE memNset//; exact: nFx.
1608+ Qed .
1609+
1610+ End ge0_nondecreasing_set_cvg_integral.
1611+
1612+ Section le0_nondecreasing_set_cvg_integral.
1613+ Context {d : measure_display} {T : measurableType d} {R : realType}.
1614+ Variables (F : (set T)^nat) (f : T -> \bar R) (mu : measure T R).
1615+ Local Open Scope ereal_scope.
1616+ Hypotheses (nndF : nondecreasing_seq F) (mF : forall i, measurable (F i)).
1617+ Hypothesis mf : forall i, measurable_fun (F i) f.
1618+ Hypothesis f0 : forall i x, F i x -> f x <= 0.
1619+
1620+ Let intNS n : (- \int[mu]_(x in F n) f x) = \int[mu]_(x in F n) - f x.
1621+ Proof .
1622+ apply/esym; apply: integralN => /=; apply: fin_num_adde_defr.
1623+ rewrite integral0_eq// => x Fnx.
1624+ by rewrite (@le0_funeposE _ _ (F n)) ?inE//; exact: f0.
1625+ Qed .
1626+
1627+ Let mNf i : measurable_fun (F i) (\- f).
1628+ Proof . by apply: measurableT_comp => //; exact: mf. Qed .
1629+
1630+ Let Nf_ge0 i x: F i x -> 0%R <= - f x.
1631+ Proof . by move=> Six; rewrite leeNr oppe0; exact: f0 Six. Qed .
1632+
1633+ Lemma le0_nondecreasing_set_nonincreasing_integral :
1634+ nonincreasing_seq (fun i => \int[mu]_(x in F i) f x).
1635+ Proof .
1636+ move=> m n mn; rewrite -leeN2 2!intNS.
1637+ exact: ge0_nondecreasing_set_nondecreasing_integral.
1638+ Qed .
1639+
1640+ Lemma le0_nondecreasing_set_cvg_integral :
1641+ \int[mu]_(x in F i) f x @[i --> \oo] --> \int[mu]_(x in \bigcup_i F i) f x.
1642+ Proof .
1643+ apply/cvgeNP; rewrite -integralN/=; last first.
1644+ apply: fin_num_adde_defr; rewrite integral0_eq// => x [n _ Fnx].
1645+ by rewrite (le0_funeposE (@f0 n))// inE.
1646+ under eq_cvg do rewrite intNS.
1647+ exact: ge0_nondecreasing_set_cvg_integral.
1648+ Qed .
1649+
1650+ End le0_nondecreasing_set_cvg_integral.
0 commit comments