From 6b466dc75219ddb8f0ef4fdf22dd34c675bc77f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Cl=C3=A9ment?= <francois.clement@inria.fr> Date: Wed, 16 Mar 2022 20:14:49 +0100 Subject: [PATCH] Add Image/Preimage. WIP: add facts about Image/Preimage. --- Lebesgue/measurable.v | 67 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 65 insertions(+), 2 deletions(-) diff --git a/Lebesgue/measurable.v b/Lebesgue/measurable.v index 74a631ea..261c0ceb 100644 --- a/Lebesgue/measurable.v +++ b/Lebesgue/measurable.v @@ -171,7 +171,7 @@ Qed. End measurable_Facts. -Section measurable_gen_Facts. +Section measurable_gen_Facts1. (** Properties of the "generation" of measurability. *) @@ -237,7 +237,70 @@ Proof. apply Sigma_algebra_gen_add_eq. Qed. -End measurable_gen_Facts. +End measurable_gen_Facts1. + + +Section measurable_gen_Image_Def. + +Context {E F : Type}. (* Universes. *) + +Variable f : E -> F. +Variable PE : (E -> Prop) -> Prop. (* Subset system. *) +Variable PF : (F -> Prop) -> Prop. (* Subset system. *) + +Definition Image : (F -> Prop) -> Prop := fun B => PE (preimage f B). + +Definition Preimage : (E -> Prop) -> Prop := image (preimage f) PF. + +End measurable_gen_Image_Def. + + +Section measurable_gen_Facts2. + +Context {E F : Type}. (* Universes. *) +Variable genE : (E -> Prop) -> Prop. (* Generator. *) +Variable genF : (F -> Prop) -> Prop. (* Generator. *) + +Variable f : E -> F. + +Lemma is_Sigma_algebra_Image : is_Sigma_algebra (Image f (measurable genE)). +Proof. +apply Sigma_algebra_equiv; repeat split. +apply measurable_empty. +intros B HB; apply measurable_compl; easy. +intros B HB; apply measurable_union_seq; easy. +Qed. + +Lemma is_Sigma_algebra_Preimage : + is_Sigma_algebra (Preimage f (measurable genF)). +Proof. +apply Sigma_algebra_equiv; repeat split. +(* *) +exists emptyset; split. +apply measurable_empty. +symmetry; apply preimage_emptyset. +(* *) +intros A [B HB]; exists (compl B); split. +apply measurable_compl; easy. +rewrite preimage_compl; f_equal; easy. +(* *) +intros A HA. +unfold image in HA. +destruct (ClassicalChoice.choice + (fun n Bn => measurable genF Bn /\ A n = preimage f Bn) HA) as [B HB]. +exists (union_seq B); split. +apply measurable_union_seq; intros n; apply HB. +rewrite preimage_union_seq; f_equal. +apply subset_seq_ext. +intros n; rewrite (proj2 (HB n)); easy. +Qed. + +Lemma measurable_gen_Preimage : + measurable (Preimage f genF) = Preimage f (measurable genF). +Proof. +Admitted. + +End measurable_gen_Facts2. Section measurable_correct. -- GitLab