proposition: Lemma size_cnf_mut : (forall s, sizef (cnf s) <= 2 * sizef s)* (forall p b, sizep (cnp b p) <= 2 * sizep p).
proof: Proof. apply: form_prog_rect => //= *; try (case: ifP => ?; subst); rewrite //= -/(is_true _); repeat (match goal with | [H : is_true (_ <= _) |- _] => rewrite ?(leqRW H); clear H | [H : forall _, is_true (_ <= _) |- _] => rewrite ?(leqRW (H _)); clear H end); by ssrlia. Qed.
imports: Relations Lia Setoid Morphisms mathcomp(all_ssreflect) CompDecModal.libs(edone bcase fset base modular_hilbert sltype rewrite_inequality fset_tac)