• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
      • Std/lists
      • Std/alists
        • Alist-keys
        • Remove-assocs
        • Alist-vals
        • Alist-map-vals
          • Alist-map-vals-functions-and-macros
          • Alist-map-vals-theorems
        • Std/alists/strip-cdrs
        • Hons-rassoc-equal
        • Alist-map-keys
        • Std/alists/hons-assoc-equal
        • Fal-extract
        • Std/alists/strip-cars
        • Fal-find-any
        • Fal-extract-vals
        • Std/alists/abstract
        • Fal-all-boundp
        • Std/alists/alistp
        • Append-alist-vals
        • Append-alist-keys
        • Alist-equiv
        • Hons-remove-assoc
        • Std/alists/pairlis$
        • Alists-agree
        • Worth-hashing
        • Sub-alistp
        • Alist-fix
        • Std/alists/remove-assoc-equal
        • Std/alists/assoc-equal
      • Obags
      • Std/util
      • Std/strings
      • Std/io
      • Std/osets
      • Std/system
      • Std/basic
      • Std/typed-lists
      • Std/bitsets
      • Std/testing
      • Std/typed-alists
      • Std/stobjs
      • Std-extensions
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Testing-utilities
    • Math
  • Std/alists
  • Alists

Alist-map-vals

Values of the map represented by an alist.

General Forms:
(alist-map-vals alist)
(alist-map-vals alist :test 'eql)   ; same as above (eql as equality test)
(alist-map-vals alist :test 'eq)    ; same, but eq is equality test
(alist-map-vals alist :test 'equal) ; same, but equal is equality test

This returns the list of values of the alist, after removing any shadowed pairs. When an alist represents a map, any shadowed pairs are irrelevant. This function is similar to strip-cdrs and alist-vals, except that these two may return values from shadowed pairs. This function is a companion of alist-map-keys. This function returns the range or image (depending on nomenclature) of the map represented by an alist.

The optional keyword, :test, has no effect logically, but provides the test (default eql) used for comparing the keys of the alist in order to remove shadowed pairs.

The guard for a call of alist-map-vals depends on the test. In all cases, the argument must satisfy alistp. If the test is eql, the argument must satisfy eqlable-alistp. If the test is eq, the argument must satisfy symbol-alistp.

See equality-variants for a discussion of the relation between alist-map-vals and its variants:

(alist-map-vals-eq alist) is equivalent to (alist-map-vals alist :test 'eq);

(alist-map-vals-equal alist) is equivalent to (alist-map-vals alist :test 'equal).

In particular, reasoning about any of these primitives reduces to reasoning about the function alist-map-vals-equal.

Subtopics

Alist-map-vals-functions-and-macros
Definitions of the alist-map-vals functions and macros, and basic theorems about them.
Alist-map-vals-theorems
Theorems about alist-map-vals.