• Top
    • Documentation
    • Books
    • 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
          • Name-database
            • Vl-namedb
            • Vl-namedb-plain-name
            • Vl-namedb-pset-fix
            • Vl-namedb-plain-names
            • Vl-namedb-indexed-name
            • Vl-namedb-pmap-fix
            • Vl-unlike-any-prefix-p
            • Vl-namedb-pmap-okp
            • Vl-namedb-allnames
              • Vl-starting-namedb
              • Vl-pgenstr-highest
              • Vl-namedb-pset-okp
              • Vl-pgenstr-p
              • Vl-pgenstr->val
              • Vl-free-namedb
              • Vl-namedb-plain-name-quiet
              • Vl-pgenstr-highest-of-alist-keys
              • Vl-pgenstr
              • Vl-empty-namedb
              • Vl-namedb-nameset
              • Vl-unlike-any-prefix-p-of-alist-keys
              • Vl-namedb-prefixmap
            • Vl-gc
            • Make-lookup-alist
            • Symbol-list-names
            • Html-encoding
            • Nats-from
            • Redundant-mergesort
            • Longest-common-prefix
            • Vl-edition-p
            • Nat-listp
            • Vl-plural-p
            • Vl-remove-keys
            • Sum-nats
            • Vl-maybe-nat-listp
            • Url-encoding
            • Fast-memberp
            • Vl-string-keys-p
            • Max-nats
            • Longest-common-prefix-list
            • Character-list-listp
            • Vl-string-list-values-p
            • Vl-character-list-list-values-p
            • Remove-from-alist
            • Prefix-of-eachp
            • Vl-maybe-string-listp
            • Pos-listp
            • Vl-string-values-p
            • String-list-listp
            • True-list-listp
            • Symbol-list-listp
            • Explode-list
            • All-have-len
            • Min-nats
            • Debuggable-and
            • Vl-starname
            • Remove-equal-without-guard
            • String-fix
            • Longer-than-p
            • Clean-alist
            • Anyp
            • Or*
            • Fast-alist-free-each-alist-val
            • And*
            • Not*
            • Free-list-of-fast-alists
            • *nls*
          • Loader
          • Transforms
          • Lint
          • Mlib
          • Server
          • Kit
          • Printer
          • Esim-vl
          • Well-formedness
        • Sv
        • Fgl
        • Vwsim
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Name-database

    Vl-namedb-allnames

    (vl-namedb-p x) returns a list of all names that are considered to be used by the name db.

    Signature
    (vl-namedb-allnames db) → allnames
    Arguments
    db — Guard (vl-namedb-p db).
    Returns
    allnames — Type (string-listp allnames).

    This function is not particularly efficient, and probably should not ordinarily be executed in real programs. Its main purpose is to establish the freshness guarantee for name DBs, described in vl-namedb-p.

    Definitions and Theorems

    Function: vl-namedb-allnames

    (defun vl-namedb-allnames (db)
      (declare (xargs :guard (vl-namedb-p db)))
      (let ((__function__ 'vl-namedb-allnames))
        (declare (ignorable __function__))
        (alist-keys (vl-namedb->names db))))

    Theorem: string-listp-of-vl-namedb-allnames

    (defthm string-listp-of-vl-namedb-allnames
      (b* ((allnames (vl-namedb-allnames db)))
        (string-listp allnames))
      :rule-classes :rewrite)

    Theorem: vl-namedb-allnames-of-vl-namedb-fix-db

    (defthm vl-namedb-allnames-of-vl-namedb-fix-db
      (equal (vl-namedb-allnames (vl-namedb-fix db))
             (vl-namedb-allnames db)))

    Theorem: vl-namedb-allnames-vl-namedb-equiv-congruence-on-db

    (defthm vl-namedb-allnames-vl-namedb-equiv-congruence-on-db
      (implies (vl-namedb-equiv db db-equiv)
               (equal (vl-namedb-allnames db)
                      (vl-namedb-allnames db-equiv)))
      :rule-classes :congruence)