From 545cb2e5751796f970e10149cc11ad3ca6bc2a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Cl=C3=A9ment?= <francois.clement@inria.fr> Date: Tue, 29 Mar 2022 16:18:38 +0200 Subject: [PATCH] Migration of measurable_fun_compose, measurable_fun_swap_var, and measurable_fun_swap. --- Lebesgue/measurable_fun-new.v | 58 +++++++++++++++-------------------- 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/Lebesgue/measurable_fun-new.v b/Lebesgue/measurable_fun-new.v index 6fb24fa7..f9139319 100644 --- a/Lebesgue/measurable_fun-new.v +++ b/Lebesgue/measurable_fun-new.v @@ -22,7 +22,7 @@ COPYING file for more details. Some proof paths may differ. *) -(*From Coquelicot Require Import Coquelicot.*) +From Coquelicot Require Import Coquelicot. Require Import Subset Subset_dec Subset_seq. Require Import Subset_system_base Subset_system measurable. @@ -101,7 +101,7 @@ Qed. End Measurable_fun_gen_ext. -Section Measurable_fun_composition. +Section Measurable_fun_Facts1. Context {E1 E2 E3 : Type}. @@ -110,27 +110,21 @@ Variable genE2 : (E2 -> Prop) -> Prop. Variable genE3 : (E3 -> Prop) -> Prop. (* Lemma 530 p. 94 *) -Lemma measurable_fun_composition : +Lemma measurable_fun_compose : forall (f12 : E1 -> E2) (f23 : E2 -> E3), measurable_fun genE1 genE2 f12 -> measurable_fun genE2 genE3 f23 -> - measurable_fun genE1 genE3 (fun x1 => f23 (f12 x1)). + measurable_fun genE1 genE3 (compose f23 f12). Proof. -intros f12 f23 H12 H23. unfold measurable_fun in *. -apply Incl_trans with (Preimage f12 (measurable genE2)). -apply H23. - -_ [A3 HA3]. -apply H12. -apply H23. - with (A2 := fun x1 => A2 (f23 x2)). -now apply H2. -Qed. +intros f12 f23 H12 H23; unfold measurable_fun. +rewrite Preimage_compose. +eapply Incl_trans; [apply Preimage_monot, H23 | apply H12]. +Admitted. -End Measurable_fun_composition. +End Measurable_fun_Facts1. -Section Measurable_fun_swap. +Section Measurable_fun_Facts2. Context {E1 E2 F : Type}. @@ -138,45 +132,41 @@ Context {genE1 : (E1 -> Prop) -> Prop}. Context {genE2 : (E2 -> Prop) -> Prop}. Context {genF : (F -> Prop) -> Prop}. -Let genE1xE2 := Gen_Product genE1 genE2. -Let genE2xE1 := Gen_Product genE2 genE1. +Let genE1xE2 := Gen_Prod genE1 genE2. +Let genE2xE1 := Gen_Prod genE2 genE1. Let swap_var := swap (fun x : E1 * E2 => x). -Lemma measurable_fun_swap_var : - measurable_fun genE2xE1 genE1xE2 swap_var. +Lemma measurable_fun_swap_var : measurable_fun genE2xE1 genE1xE2 swap_var. Proof. -intros A HA; apply measurable_swap; easy. +intros A21 [A12 HA12]; apply measurable_swap; easy. Qed. Lemma measurable_fun_swap : forall f, measurable_fun genE1xE2 genF f -> measurable_fun genE2xE1 genF (swap f). Proof. intros f Hf. -apply measurable_fun_composition with (2:= Hf). +apply measurable_fun_compose with (2 := Hf). apply measurable_fun_swap_var. Qed. -End Measurable_fun_swap. +End Measurable_fun_Facts2. -Section Measurable_fun_continuous. +Section Measurable_fun_Facts3. Context {E F : UniformSpace}. -(* Lemma 529 p. 94 *) +(* Lemma 529 p. 94 (v2) *) Lemma measurable_fun_continuous : - forall (f : E -> F), - (forall x, continuous f x) -> - measurable_fun open open f. + forall (f : E -> F), (forall x, continuous f x) -> measurable_fun open open f. Proof. -intros f H. -apply measurable_fun_gen. -intros A HA. -apply measurable_gen. +intros f Hf; apply measurable_fun_equiv. +intros A HA; apply measurable_gen. + intros x Hx. -apply H. +apply Hf. now apply HA. Qed. -End Measurable_fun_continuous. +End Measurable_fun_Facts3. -- GitLab