proposition: Lemma monotone_class_subset : (forall X, (<<s D, G >>) X -> X `<=` D) -> <<s D, G >> `<=` H.
proof: Proof. move=> sDGD; set M := <<m D, G >>. rewrite -(@smallest_monotone_classE _ _ setIG _ _ M) //. - exact: smallest_sub. - split => [A MA | E [monoE] | A B BA MA MB E [[EsubD ED setDE ndE] GE] |]. + by case: monoH => + _ _ _; apply; exact: MA. + exact. + by apply setDE => //; [exact: MA|exact: MB]. + by move=> F ndF MF E [[EsubD ED setDE ndE] CE]; apply ndE=> // n; exact: MF. - exact: sub_smallest. - by move=> ? ? ?; exact: smallest_sub. Qed.
imports: mathcomp(all_ssreflect all_algebra finmap) mathcomp(mathcomp_extra boolp classical_sets functions) mathcomp(cardinality fsbigop ) reals ereal signed topology normedtype sequences esum numfun HB(structures)