1- (* mathcomp analysis (c) 2025 Inria and AIST. License: CeCILL-C. *)
1+ (* mathcomp analysis (c) 2026 Inria and AIST. License: CeCILL-C. *)
22From HB Require Import structures.
33From mathcomp Require Import all_ssreflect ssralg ssrnum ssrint interval finmap.
44From mathcomp Require Import archimedean.
@@ -207,10 +207,9 @@ Proof. by move=> fi gi; exact/(integrableD fi)/integrableN. Qed.
207207Lemma integrable_add_def f : mu_int f ->
208208 \int[mu]_(x in D) f^\+ x +? - (\int[mu]_(x in D) f^\- x).
209209Proof .
210- move=> /integrableP[mf]; rewrite -[fun x => _]/(abse \o f) fune_abse => foo.
211- rewrite ge0_integralD // in foo; last 2 first.
212- - exact: measurable_funepos.
213- - exact: measurable_funeneg.
210+ move=> /integrableP[mf]; rewrite -[fun x => _]/(abse \o f) -funeposDneg => foo.
211+ rewrite ge0_integralD // in foo; [|exact: measurable_funepos
212+ |exact: measurable_funeneg].
214213apply: ltpinfty_adde_def.
215214- by apply: le_lt_trans foo; rewrite leeDl// integral_ge0.
216215- by rewrite inE (@le_lt_trans _ _ 0)// leeNl oppe0 integral_ge0.
@@ -223,7 +222,7 @@ move=> /integrableP[Df foo]; apply/integrableP; split.
223222apply: le_lt_trans foo; apply: ge0_le_integral => //.
224223- by apply/measurableT_comp => //; exact: measurable_funepos.
225224- exact/measurableT_comp.
226- - by move=> t Dt; rewrite -/((abse \o f) t) fune_abse gee0_abs// leeDl.
225+ - by move=> t Dt; rewrite -/((abse \o f) t) -funeposDneg gee0_abs// leeDl.
227226Qed .
228227
229228Lemma integrable_funeneg f : mu_int f -> mu_int f^\-.
@@ -233,17 +232,16 @@ move=> /integrableP[Df foo]; apply/integrableP; split.
233232apply: le_lt_trans foo; apply: ge0_le_integral => //.
234233- by apply/measurableT_comp => //; exact: measurable_funeneg.
235234- exact/measurableT_comp.
236- - by move=> t Dt; rewrite -/((abse \o f) t) fune_abse gee0_abs// leeDr.
235+ - by move=> t Dt; rewrite -/((abse \o f) t) -funeposDneg gee0_abs// leeDr.
237236Qed .
238237
239238Lemma integral_funeneg_lt_pinfty f : mu_int f -> \int[mu]_(x in D) f^\- x < +oo.
240239Proof .
241240move=> /integrableP[mf]; apply: le_lt_trans; apply: ge0_le_integral => //.
242241- exact: measurable_funeneg.
243242- exact: measurableT_comp.
244- - move=> x Dx; have [fx0|/ltW fx0] := leP (f x) 0.
245- rewrite lee0_abs// funenegE.
246- by move: fx0; rewrite -{1}oppe0 -leeNr => /max_idPl ->.
243+ - move=> x Dx; have /orP[fx0|fx0] := le_total (f x) 0.
244+ by rewrite lee0_abs// funenegE ge_max lexx leeNr oppe0 fx0.
247245 rewrite gee0_abs// funenegE.
248246 by move: (fx0); rewrite -{1}oppe0 -leeNl => /max_idPr ->.
249247Qed .
@@ -268,7 +266,7 @@ rewrite fin_numElt; apply/andP; split.
268266case: fi => mf; apply: le_lt_trans; apply: ge0_le_integral => //.
269267- exact/measurable_funeneg.
270268- exact/measurableT_comp.
271- - by move=> x Dx; rewrite -/((abse \o f) x) (fune_abse f) leeDr.
269+ - by move=> x Dx; rewrite -/((abse \o f) x) -funeposDneg leeDr.
272270Qed .
273271
274272Lemma integrable_pos_fin_num f :
@@ -280,7 +278,7 @@ rewrite fin_numElt; apply/andP; split.
280278case: fi => mf; apply: le_lt_trans; apply: ge0_le_integral => //.
281279- exact/measurable_funepos.
282280- exact/measurableT_comp.
283- - by move=> x Dx; rewrite -/((abse \o f) x) (fune_abse f) leeDl.
281+ - by move=> x Dx; rewrite -/((abse \o f) x) -funeposDneg leeDl.
284282Qed .
285283
286284Lemma integrableMr (h : T -> R) g :
@@ -593,8 +591,8 @@ have : (g1 \+ g2)^\+ \+ g1^\- \+ g2^\- = (g1 \+ g2)^\- \+ g1^\+ \+ g2^\+.
593591 by rewrite !funeposE -!fine_max.
594592 by rewrite funeposE !funenegE -!fine_max.
595593 apply/eqP.
596- rewrite -[LHS]/((g1^\+ \+ g2^\+ \- (g1^\- \+ g2^\-)) x) -funeD_posD .
597- by rewrite -[RHS]/((_ \- _) x) -funeD_Dpos .
594+ rewrite -[LHS]/((g1^\+ \+ g2^\+ \- (g1^\- \+ g2^\-)) x) funeDB .
595+ by rewrite -[RHS]/((_ \- _) x) funeposBneg .
598596move/(congr1 (fun y => \int[mu]_(x in D) (y x) )).
599597rewrite (ge0_integralD mu mD); last 4 first.
600598 - by move=> x _; rewrite adde_ge0.
@@ -741,7 +739,7 @@ Local Open Scope ereal_scope.
741739Lemma integrable_lty (f : T -> \bar R) :
742740 mu.-integrable D f -> \int[mu]_(x in D) f x < +oo.
743741Proof .
744- move=> intf; rewrite (funeposneg f) integralB//;
742+ move=> intf; rewrite -(funeposBneg f) integralB//;
745743 [|exact: integrable_funepos|exact: integrable_funeneg].
746744rewrite lte_add_pinfty ?integral_funepos_lt_pinfty// lteNl ltNye_eq.
747745by rewrite integrable_neg_fin_num.
@@ -799,7 +797,7 @@ rewrite -[X in _ = _ - X]ge0_integral_pushforward//; last first.
799797rewrite -integralB//=; last first.
800798- by apply: integrable_funeneg => //=; exact: integrable_pushforward.
801799- by apply: integrable_funepos => //=; exact: integrable_pushforward.
802- - by apply/eq_integral=> // x _; rewrite /= [in LHS](funeposneg f).
800+ - by apply/eq_integral=> // x _; rewrite - [in LHS](funeposBneg f).
803801Qed .
804802
805803End transfer.
@@ -813,7 +811,7 @@ Lemma negligible_integral (D N : set T) (f : T -> \bar R) :
813811 measurable N -> measurable D -> mu.-integrable D f ->
814812 mu N = 0 -> \int[mu]_(x in D) f x = \int[mu]_(x in D `\` N) f x.
815813Proof .
816- move=> mN mD mf muN0; rewrite [f]funeposneg ?integralB //; first last.
814+ move=> mN mD mf muN0; rewrite - [f]funeposBneg ?integralB//; first last.
817815- exact: integrable_funeneg.
818816- exact: integrable_funepos.
819817- apply: (integrableS mD) => //; first exact: measurableD.
@@ -859,7 +857,7 @@ Lemma integral_measure_add : \int[measure_add m1 m2]_(x in D) f x =
859857Proof .
860858transitivity (\int[m1]_(x in D) (f^\+ \- f^\-) x +
861859 \int[m2]_(x in D) (f^\+ \- f^\-) x); last first.
862- by congr +%E; apply: eq_integral => x _; rewrite [in RHS](funeposneg f).
860+ by congr +%E; apply: eq_integral => x _; rewrite - [in RHS](funeposBneg f).
863861rewrite integralB//; [|exact: integrable_funepos|exact: integrable_funeneg].
864862rewrite integralB//; [|exact: integrable_funepos|exact: integrable_funeneg].
865863rewrite addeACA -ge0_integral_measure_add//; last first.
@@ -908,7 +906,7 @@ have ? : \int[mu]_(x in \bigcup_i F i) g x \is a fin_num.
908906transitivity (\int[mu]_(x in \bigcup_i F i) g^\+ x -
909907 \int[mu]_(x in \bigcup_i F i) g^\- x)%E.
910908 rewrite -integralB.
911- - by apply: eq_integral => t Ft; rewrite [in LHS](funeposneg g).
909+ - by apply: eq_integral => t Ft; rewrite - [in LHS](funeposBneg g).
912910 - exact: bigcupT_measurable.
913911 - by apply: integrable_funepos => //; exact: bigcupT_measurable.
914912 - by apply: integrable_funeneg => //; exact: bigcupT_measurable.
0 commit comments