def_module_params(module_name='sat',
                  class_name='sat_simplifier_params',
                  export=True,
                  params=(('bce',  BOOL, False, 'eliminate blocked clauses'),
                          ('abce', BOOL, False, 'eliminate blocked clauses using asymmetric literals'),
                          ('cce',  BOOL, False, 'eliminate covered clauses'),
                          ('ate',  BOOL, True,  'asymmetric tautology elimination'),
                          ('acce', BOOL, False, 'eliminate covered clauses using asymmetric added literals'),
                          ('bce_at', UINT, 2, 'eliminate blocked clauses only once at the given simplification round'),
                          ('bca', BOOL, False, 'blocked clause addition - add blocked binary clauses'),
                          ('bce_delay', UINT, 2, 'delay eliminate blocked clauses until simplification round'),
                          ('retain_blocked_clauses', BOOL, True, 'retain blocked clauses as lemmas'),
                          ('blocked_clause_limit', UINT, 100000000, 'maximum number of literals visited during blocked clause elimination'),
                          ('override_incremental', BOOL, False, 'override incremental safety gaps. Enable elimination of blocked clauses and variables even if solver is reused'),
                          ('resolution.limit', UINT, 500000000, 'approx. maximum number of literals visited during variable elimination'),
                          ('resolution.occ_cutoff', UINT, 10, 'first cutoff (on number of positive/negative occurrences) for Boolean variable elimination'),
                          ('resolution.occ_cutoff_range1', UINT, 8, 'second cutoff (number of positive/negative occurrences) for Boolean variable elimination, for problems containing less than res_cls_cutoff1 clauses'),
                          ('resolution.occ_cutoff_range2', UINT, 5, 'second cutoff (number of positive/negative occurrences) for Boolean variable elimination, for problems containing more than res_cls_cutoff1 and less than res_cls_cutoff2'),
                          ('resolution.occ_cutoff_range3', UINT, 3, 'second cutoff (number of positive/negative occurrences) for Boolean variable elimination, for problems containing more than res_cls_cutoff2'),
                          ('resolution.lit_cutoff_range1', UINT, 700, 'second cutoff (total number of literals) for Boolean variable elimination, for problems containing less than res_cls_cutoff1 clauses'),
                          ('resolution.lit_cutoff_range2', UINT, 400, 'second cutoff (total number of literals) for Boolean variable elimination, for problems containing more than res_cls_cutoff1 and less than res_cls_cutoff2'),
                          ('resolution.lit_cutoff_range3', UINT, 300, 'second cutoff (total number of literals) for Boolean variable elimination, for problems containing more than res_cls_cutoff2'),
                          ('resolution.cls_cutoff1', UINT, 100000000, 'limit1 - total number of problems clauses for the second cutoff of Boolean variable elimination'),
                          ('resolution.cls_cutoff2', UINT, 700000000, 'limit2 - total number of problems clauses for the second cutoff of Boolean variable elimination'),
                          ('elim_vars', BOOL, True, 'enable variable elimination using resolution during simplification'),
                          ('elim_vars_bdd', BOOL, True, 'enable variable elimination using BDD recompilation during simplification'),
                          ('elim_vars_bdd_delay', UINT, 3, 'delay elimination of variables using BDDs until after simplification round'),
                          ('probing', BOOL, True, 'apply failed literal detection during simplification'),
                          ('probing_limit', UINT, 5000000, 'limit to the number of probe calls'),
                          ('probing_cache', BOOL, True, 'add binary literals as lemmas'),
                          ('probing_cache_limit', UINT, 1024, 'cache binaries unless overall memory usage exceeds cache limit'),
                          ('probing_binary', BOOL, True, 'probe binary clauses'),
                          ('subsumption', BOOL, True, 'eliminate subsumed clauses'),
                          ('subsumption.limit', UINT, 100000000, 'approx. maximum number of literals visited during subsumption (and subsumption resolution)')))
