proposition: Lemma affine_image_conv_set (A B : convType) (f : {affine A -> B}) p (X Y : set A) : f @` (X :<| p |>: Y) = f @` X :<| p |>: f @` Y.
proof: Proof. rewrite eqEsubset; split=> [u [v]|u]. - move=> /conv_in_conv_set' [] x [] y [] Xx [] Yy ->; rewrite affine_conv=> <-. by apply conv_in_conv_set; apply imageP. - case/conv_in_conv_set'=> x [] y [] [] x0 Xx0 <- [] [] y0 Yy0 <- ->. by rewrite -affine_conv; apply/imageP/conv_in_conv_set. Qed.
imports: HB(structures) Reals mathcomp(all_ssreflect ssralg ssrnum) mathcomp(mathcomp_extra boolp classical_sets Rstruct reals) mathcomp(finmap) Reals_ext realType_ext classical_sets_ext ssrR fdist fsdist convex