• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
      • Std/lists
      • Std/alists
      • Obags
      • Std/util
      • Std/strings
        • Pretty-printing
          • Pretty-printing-implementation
          • Eviscerate
          • Pretty
          • Revappend-pretty
          • Pretty-list
          • Printtree
          • Base64
          • Charset-p
          • Strtok!
          • Cases
          • Concatenation
          • Html-encoding
          • Character-kinds
          • Substrings
          • Strtok
          • Equivalences
          • Url-encoding
          • Lines
          • Ordering
          • Numbers
          • Pad-trim
          • Coercion
          • Std/strings-extensions
          • Std/strings/digit-to-char
          • Substitution
          • Symbols
        • Std/io
        • Std/osets
        • Std/system
        • Std/basic
        • Std/typed-lists
        • Std/bitsets
        • Std/testing
        • Std/typed-alists
        • Std/stobjs
        • Std-extensions
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Pretty-printing

    Pretty-list

    Pretty-print a list of ACL2 objects, creating a list of strings.

    Signature
    (pretty-list x &key (config '*default-printconfig*) 
                 (col '0) 
                 (eviscp 'nil)) 
     
      → 
    pretty-x
    Arguments
    x — The ACL2 objects to pretty-print.
    config — Optional pretty-printer configuration options.
        Guard (printconfig-p config).
    col — Optional starting column number.
        Guard (natp col).
    eviscp — Optional flag for use with eviscerated objects.
        Guard (booleanp eviscp).
    Returns
    pretty-x — Type (string-listp pretty-x).

    Definitions and Theorems

    Function: pretty-list-fn

    (defun pretty-list-fn (x config col eviscp)
           (declare (xargs :guard (and (printconfig-p config)
                                       (natp col)
                                       (booleanp eviscp))))
           (let ((acl2::__function__ 'pretty-list))
                (declare (ignorable acl2::__function__))
                (if (atom x)
                    nil
                    (cons (pretty (car x)
                                  :config config
                                  :col col
                                  :eviscp eviscp)
                          (pretty-list (cdr x)
                                       :config config
                                       :col col
                                       :eviscp eviscp)))))

    Theorem: string-listp-of-pretty-list

    (defthm string-listp-of-pretty-list
            (b* ((pretty-x (pretty-list-fn x config col eviscp)))
                (string-listp pretty-x))
            :rule-classes :rewrite)