proposition: Proposition support_sat C : (exists M, sat M C) <-> (exists D, [/\ D \in S0 (sfc C), (exists M, sat M D) & suppC D C]).
proof: Proof. split. - move/(@DD_supp (sfc C) _ _). case/(_ _ _)/Wrap => //. case/hasP => [D /DD_canonical [//|*]]. by exists D. - case => D [D1 D2 D3]. apply/(@DD_supp (sfc C)) => //. apply/hasP; exists D => //. by apply/DD_canonical. Qed.
imports: Lia mathcomp.ssreflect.ssreflect mathcomp(all_ssreflect) CompDecModal.libs(edone bcase fset base modular_hilbert sltype) CompDecModal.K(K_def demo)