• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Debugging
    • Projects
    • Std
      • Std/lists
      • Std/alists
      • Obags
      • Std/util
        • Defprojection
        • Deflist
        • Defaggregate
        • Define
        • Defmapping
        • Defenum
        • Add-io-pairs
        • Defalist
        • Defmapappend
        • Defarbrec
        • Returns-specifiers
        • Define-sk
        • Defmax-nat
        • Defines
        • Error-value-tuples
        • Defmin-int
        • Deftutorial
        • Extended-formals
        • Defrule
        • Defval
        • Defsurj
        • Defiso
        • Defconstrained-recognizer
        • Deffixer
        • Defmvtypes
        • Defconsts
        • Support
          • Extract-keywords
          • Dumb-string-sublis
          • Look-up-return-vals
            • Raise
            • Logic-mode-p
            • Look-up-wrapper-args
            • Look-up-formals
            • Legal-kwds-p
            • Split-///
            • Keyword-legality
            • Getarg+
            • Var-is-stobj-p
            • Look-up-guard
            • Getarg
            • Cons-listp
            • Tuplep
            • Tuple-listp
            • Ends-with-period-p
          • Defthm-signed-byte-p
          • Defthm-unsigned-byte-p
          • Std/util-extensions
          • Defthm-natp
          • Defund-sk
          • Defmacro+
          • Defsum
          • Defthm-commutative
          • Definj
          • Defirrelevant
          • Defredundant
        • 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
    • Support

    Look-up-return-vals

    (look-up-return-vals fn world) returns the stobjs-out property for fn. This is a list that may contain nils and ACL2::stobj names, with the same length as the number of return vals for fn.

    Definitions and Theorems

    Function: look-up-return-vals

    (defun look-up-return-vals (fn world)
     (declare (xargs :guard (and (symbolp fn)
                                 (plist-worldp world))))
     (b*
      ((__function__ 'look-up-return-vals)
       (stobjs-out (getprop fn 'acl2::stobjs-out
                            :bad 'acl2::current-acl2-world
                            world))
       ((when (eq stobjs-out :bad))
        (raise "Can't look up stobjs-out for ~x0!" fn)
        '(nil))
       ((unless (and (consp stobjs-out)
                     (symbol-listp stobjs-out)))
        (raise
         "Expected stobjs-out to be a non-empty symbol-list, but ~
                      found ~x0."
         stobjs-out)
        '(nil)))
      stobjs-out))

    Theorem: symbol-listp-of-look-up-return-vals

    (defthm symbol-listp-of-look-up-return-vals
      (symbol-listp (look-up-return-vals fn world)))