• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • 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-restrict-alist-aux
              • 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
              • 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-restrict-alist

    Stv-restrict-alist-aux

    Signature
    (stv-restrict-alist-aux name phase entries acc) → acc
    Arguments
    name — Guard (atom-listp name).
    phase — Guard (natp phase).
    Returns
    acc — Type (alistp acc), given (alistp acc).

    Definitions and Theorems

    Function: stv-restrict-alist-aux

    (defun stv-restrict-alist-aux (name phase entries acc)
     (declare (xargs :guard (and (atom-listp name) (natp phase))))
     (let ((__function__ 'stv-restrict-alist-aux))
       (declare (ignorable __function__))
       (b*
         (((when (atom entries)) acc)
          (name-at-phase
               (stv-suffix-signals name
                                   (str::cat ".P" (str::natstr phase))))
          (val-at-phase (car entries))
          (acc (safe-pairlis-onto-acc name-at-phase val-at-phase acc)))
         (stv-restrict-alist-aux name (+ 1 phase)
                                 (cdr entries)
                                 acc))))

    Theorem: alistp-of-stv-restrict-alist-aux

    (defthm alistp-of-stv-restrict-alist-aux
      (implies
           (alistp acc)
           (b* ((acc (stv-restrict-alist-aux name phase entries acc)))
             (alistp acc)))
      :rule-classes :rewrite)