• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
        • Symbolic-test-vectors
          • Defstv
          • Stv-compile
            • Stv-expand-input-entry
            • Stv-expand-output-entry
            • Stv-restrict-alist
            • Stv-extraction-alists
            • Stv-expand-input-lines
            • Stv-expand-input-entries
            • Stv-expand-output-entries
            • Stv-expand-output-lines
            • Stv-expand-internal-lines
            • Stv-expand-internal-line
            • Stv-forge-state-bit
            • Stv-gensyms
              • Stv-gensyms-aux
              • Safe-pairlis-onto-acc
            • Symbolic-test-vector-format
            • Stv-implementation-details
            • Compiled-stv-p
            • Stv-run-for-all-dontcares
            • Stv-run
            • Stv-process
            • Stv-run-check-dontcares
            • Symbolic-test-vector-composition
            • Stv-expand
            • Stv-easy-bindings
            • Stv-debug
            • Stv-run-squash-dontcares
            • Stvdata-p
            • Stv-doc
            • Stv2c
            • Stv-widen
            • Stv-out->width
            • Stv-in->width
            • Stv-number-of-phases
            • Stv->outs
            • Stv->ins
            • Stv-suffix-signals
            • Stv->vars
          • Esim-primitives
          • E-conversion
          • Esim-steps
          • Patterns
          • Mod-internal-paths
          • Defmodules
          • Esim-simplify-update-fns
          • Esim-tutorial
          • Esim-vl
        • Vl2014
        • Sv
        • Fgl
        • Vwsim
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Stv-gensyms

    Stv-gensyms-aux

    Signature
    (stv-gensyms-aux prefix n acc) → syms
    Arguments
    prefix — Guard (stringp prefix).
    n — Guard (natp n).
    Returns
    syms — Type (symbol-listp syms), given (symbol-listp acc).

    Definitions and Theorems

    Function: stv-gensyms-aux

    (defun stv-gensyms-aux (prefix n acc)
      (declare (xargs :guard (and (stringp prefix) (natp n))))
      (let ((__function__ 'stv-gensyms-aux))
        (declare (ignorable __function__))
        (b* (((when (zp n)) acc)
             (n (- n 1))
             (sym1 (intern$ (str::cat prefix "[" (str::natstr n)
                                      "]")
                            "ACL2")))
          (stv-gensyms-aux prefix n (cons sym1 acc)))))

    Theorem: symbol-listp-of-stv-gensyms-aux

    (defthm symbol-listp-of-stv-gensyms-aux
      (implies (symbol-listp acc)
               (b* ((syms (stv-gensyms-aux prefix n acc)))
                 (symbol-listp syms)))
      :rule-classes :rewrite)

    Theorem: len-of-stv-gensyms-aux

    (defthm len-of-stv-gensyms-aux
      (equal (len (stv-gensyms-aux prefix n acc))
             (+ (len acc) (nfix n))))