• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
        • Warnings
        • Primitives
        • Use-set
        • Syntax
        • Getting-started
        • Utilities
        • Loader
        • Transforms
        • Lint
          • Vl-lintconfig-p
          • Lucid
          • Skip-detection
          • Vl-lintresult-p
          • Lint-warning-suppression
          • Condcheck
          • Selfassigns
          • Leftright-check
          • Dupeinst-check
          • Oddexpr-check
          • Remove-toohard
          • Qmarksize-check
          • Portcheck
          • Duplicate-detect
          • Vl-print-certain-warnings
          • Duperhs-check
          • *vl-lint-help*
          • Lint-stmt-rewrite
          • Drop-missing-submodules
          • Check-case
            • Vl-modulelist-check-case
            • Vl-collect-ieqv-strings
              • Vl-collect-ieqv-strings-aux
            • Vl-find-case-equivalent-strings
            • Vl-module-check-case
            • Vl-design-check-case
            • Vl-equiv-strings-to-lines
          • Drop-user-submodules
          • Check-namespace
          • Vl-lint
        • Mlib
        • Server
        • Kit
        • Printer
        • Esim-vl
        • Well-formedness
      • Sv
      • Fgl
      • Vwsim
      • Vl
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Check-case

Vl-collect-ieqv-strings

(vl-collect-ieqv-strings a x) returns all strings in the list x that are case-equivalent to the string a.

Signature
(vl-collect-ieqv-strings a x) → equiv-strs
Arguments
a — Guard (stringp a).
x — Guard (string-listp x).
Returns
equiv-strs — Type (string-listp equiv-strs), given (string-listp x).

This is pretty dumb, but we at least avoid downcasing a repeatedly. Linear in the length of x.

Definitions and Theorems

Function: vl-collect-ieqv-strings

(defun vl-collect-ieqv-strings (a x)
  (declare (xargs :guard (and (stringp a) (string-listp x))))
  (let ((__function__ 'vl-collect-ieqv-strings))
    (declare (ignorable __function__))
    (vl-collect-ieqv-strings-aux (str::downcase-string a)
                                 x)))

Theorem: string-listp-of-vl-collect-ieqv-strings

(defthm string-listp-of-vl-collect-ieqv-strings
  (implies (string-listp x)
           (b* ((equiv-strs (vl-collect-ieqv-strings a x)))
             (string-listp equiv-strs)))
  :rule-classes :rewrite)

Subtopics

Vl-collect-ieqv-strings-aux