@@ -221,9 +221,8 @@ Section sfun_lmodType.
221221Context d (aT : measurableType d) (R : realType).
222222Import HBSimple.
223223
224- Lemma sfun_op (U V W : normedModType R)
225- (f : {sfun aT >-> U}) (g : {sfun aT >-> V})
226- (h : U * V -> W) :
224+ Lemma mem_sfun_comp_pair (U V W : normedModType R) (f : {sfun aT >-> U})
225+ (g : {sfun aT >-> V}) (h : U * V -> W) :
227226 (fun x => h (f x, g x)) \in @sfun _ _ aT W.
228227Proof .
229228rewrite inE; apply/andP; split; rewrite inE/=.
@@ -232,28 +231,26 @@ rewrite inE; apply/andP; split; rewrite inE/=.
232231 \bigcup_(a in range f) (\bigcup_(b in range g)
233232 ((f @^-1` [set a] `&` g @^-1` [set b]) `&` [set _ | Y (h (a, b))]))).
234233 apply/seteqP; split=> [x/= Yfg|x [a _] [b _] [[/= <- <-]]//].
235- by exists (f x); [exists x|exists (g x); [exists x|split ]].
234+ by exists (f x); [exists x|exists (g x); [exists x|]].
236235 apply: fin_bigcup_measurable; first exact: fimfunP.
237236 move=> a _; apply: fin_bigcup_measurable; first exact: fimfunP.
238- move=> b _; apply: measurableI; last first.
239- have [Yhab|Yhab] := pselect (Y (h (a, b))).
240- by rewrite (_ : [set _ | _] = setT);
241- [apply/seteqP; split|exact: measurableT].
242- rewrite (_ : [set _ | _] = set0); last exact: measurable0.
243- by apply/seteqP; split.
244- apply: measurableI.
245- exact: (measurable_funPTI f (measurable1 a)).
246- exact: (measurable_funPTI g (measurable1 b)).
247- apply: (sub_finite_set (B := h @` (range f `*` range g))).
237+ move=> b _; apply: measurableI.
238+ by apply: measurableI; exact/(measurable_funPTI _ (measurable1 _)).
239+ have [Yhab|Yhab] := pselect (Y (h (a, b))).
240+ by rewrite (_ : [set _ | _] = setT);
241+ [apply/seteqP; split|exact: measurableT].
242+ rewrite (_ : [set _ | _] = set0); last exact: measurable0.
243+ by apply/seteqP; split.
244+ apply: (@sub_finite_set _ _ (h @` (range f `*` range g))).
248245 by move=> _ [x _ <-]/=; exists (f x, g x) => //; split; exists x.
249- by apply: finite_image; apply: finite_setX; exact: fimfunP.
246+ exact/ finite_image/ finite_setX/ fimfunP.
250247Qed .
251248
252249Lemma sfun_submod_closed (V : normedModType R) :
253250 submod_closed (@sfun _ _ aT V).
254251Proof .
255252split=> [|k f g sf sg]; first exact: (valP (cst_sfun (0 : V))).
256- exact: (sfun_op (sfun_Sub sf) (sfun_Sub sg) (fun t => k *: t.1 + t.2)).
253+ exact: (mem_sfun_comp_pair (sfun_Sub sf) (sfun_Sub sg) (fun t => k *: t.1 + t.2)).
257254Qed .
258255
259256HB.instance Definition _ (V : normedModType R) :=
0 commit comments