def_module_params('pp', 
                  export=True,
                  description='pretty printer',
                  params=(('max_indent', UINT, UINT_MAX, 'max. indentation in pretty printer'),
                          ('max_num_lines', UINT, UINT_MAX, 'max. number of lines to be displayed in pretty printer'),
                          ('max_width', UINT, 80, 'max. width in pretty printer'),
                          ('max_ribbon', UINT, 80, 'max. ribbon (width - indentation) in pretty printer'),
                          ('max_depth', UINT, 5, 'max. term depth (when pretty printing SMT2 terms/formulas)'),
                          ('min_alias_size', UINT, 10, 'min. size for creating an alias for a shared term (when pretty printing SMT2 terms/formulas)'),
                          ('decimal', BOOL, False, 'pretty print real numbers using decimal notation (the output may be truncated). Z3 adds a ? if the value is not precise'),
                          ('decimal_precision', UINT, 10, 'maximum number of decimal places to be used when pp.decimal=true'),
                          ('bv_literals', BOOL, True, 'use Bit-Vector literals (e.g, #x0F and #b0101) during pretty printing'),
                          ('fp_real_literals', BOOL, False, 'use real-numbered floating point literals (e.g, +1.0p-1) during pretty printing'),
                          ('bv_neg', BOOL, False, 'use bvneg when displaying Bit-Vector literals where the most significant bit is 1'),
                          ('flat_assoc', BOOL, True, 'flat associative operators (when pretty printing SMT2 terms/formulas)'),
                          ('fixed_indent', BOOL, False, 'use a fixed indentation for applications'),
                          ('single_line', BOOL, False, 'ignore line breaks when true'),
                          ('bounded', BOOL, False, 'ignore characters exceeding max width'),
                          ('pretty_proof', BOOL, False, 'use slower, but prettier, printer for proofs'),
                          ('simplify_implies', BOOL, True, 'simplify nested implications for pretty printing')))
