• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
        • Lint
        • Mlib
        • Server
        • Kit
        • Printer
          • Ps
          • Basic-printing
            • Vl-println?
            • Vl-printable-p
            • Vl-print
            • Vl-col-after-printing-chars
            • Vl-print-strings-with-commas
              • Vl-print-strings-with-commas-aux
            • Vl-col-after-printing-string
            • Vl-string-needs-html-encoding-p
            • Vl-println-markup
            • Vl-print-strings-as-lines
            • Vl-print-url
            • Vl-print-nat
            • Vl-indent
            • Vl-println
            • Vl-print-markup
            • Vl-ps-seq
            • Vl-cw-ps-seq
            • Vl-when-html
            • Vl-ps-span
          • Verilog-printing
          • Printing-locally
          • Formatted-printing
          • Accessing-printed-output
          • Vl-printedlist
          • Json-printing
        • Esim-vl
        • Well-formedness
      • Sv
      • Vwsim
      • Fgl
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Testing-utilities
    • Math
  • Basic-printing

Vl-print-strings-with-commas

(vl-print-strings-with-commas x indent &key (ps 'ps)) prints the elements of x, a string list, separated by commas.

Signature
(vl-print-strings-with-commas x indent &key (ps 'ps)) → ps
Arguments
x — Guard (string-listp x).
indent — Guard (natp indent).

The output is automatically encoded and word wrapped, and each line is indented to column indent.

Definitions and Theorems

Function: vl-print-strings-with-commas-fn

(defun
    vl-print-strings-with-commas-fn
    (x indent ps)
    (declare (xargs :stobjs (ps)))
    (declare (xargs :guard (and (string-listp x) (natp indent))))
    (let ((__function__ 'vl-print-strings-with-commas))
         (declare (ignorable __function__))
         (let ((orig-indent (vl-ps->autowrap-ind)))
              (vl-ps-seq (vl-ps-update-autowrap-ind (lnfix indent))
                         (vl-indent indent)
                         (vl-print-strings-with-commas-aux x)
                         (vl-ps-update-autowrap-ind orig-indent)))))

Theorem: vl-print-strings-with-commas-fn-of-string-list-fix-x

(defthm vl-print-strings-with-commas-fn-of-string-list-fix-x
        (equal (vl-print-strings-with-commas-fn (string-list-fix x)
                                                indent ps)
               (vl-print-strings-with-commas-fn x indent ps)))

Theorem: vl-print-strings-with-commas-fn-string-list-equiv-congruence-on-x

(defthm
   vl-print-strings-with-commas-fn-string-list-equiv-congruence-on-x
   (implies
        (str::string-list-equiv x x-equiv)
        (equal (vl-print-strings-with-commas-fn x indent ps)
               (vl-print-strings-with-commas-fn x-equiv indent ps)))
   :rule-classes :congruence)

Theorem: vl-print-strings-with-commas-fn-of-nfix-indent

(defthm vl-print-strings-with-commas-fn-of-nfix-indent
        (equal (vl-print-strings-with-commas-fn x (nfix indent)
                                                ps)
               (vl-print-strings-with-commas-fn x indent ps)))

Theorem: vl-print-strings-with-commas-fn-nat-equiv-congruence-on-indent

(defthm
   vl-print-strings-with-commas-fn-nat-equiv-congruence-on-indent
   (implies
        (acl2::nat-equiv indent indent-equiv)
        (equal (vl-print-strings-with-commas-fn x indent ps)
               (vl-print-strings-with-commas-fn x indent-equiv ps)))
   :rule-classes :congruence)

Subtopics

Vl-print-strings-with-commas-aux