• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Debugging
    • Projects
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
      • Proof-builder
      • Hons-and-memoization
      • Events
      • History
      • Parallelism
      • Programming
        • Defun
        • Declare
        • Stobj
        • State
        • Memoize
        • Mbe
        • Io
        • Apply$
        • System-utilities
        • Defpkg
        • Mutual-recursion
        • Arrays
        • Programming-with-state
        • Characters
        • Loop$
        • Time$
        • Defmacro
        • Defconst
        • Guard
        • Evaluation
        • Equality-variants
        • Fast-alists
          • Slow-alist-warning
          • Hons-acons
          • Fast-alist-fork
          • Hons-acons!
          • With-fast-alist
          • Fast-alist-clean
          • Fast-alist-pop
          • Fast-alist-free
          • Fast-alist-pop*
          • Hons-get
          • Hons-assoc-equal
          • Make-fast-alist
          • Make-fal
          • Fast-alist-free-on-exit
          • With-stolen-alist
          • Fast-alist-fork!
          • Fast-alist-summary
          • Fast-alist-clean!
          • Fast-alist-len
          • With-stolen-alists
          • Fast-alists-free-on-exit
          • Cons-subtrees
          • With-fast-alists
          • Hons-make-list
          • Compilation
          • Hons
          • ACL2-built-ins
          • Advanced-features
          • Set-check-invariant-risk
          • Developers-guide
          • Numbers
          • Irrelevant-formals
          • Efficiency
          • Introduction-to-programming-in-ACL2-for-those-who-know-lisp
          • Redefining-programs
          • Lists
          • Invariant-risk
          • Errors
          • Defabbrev
          • Conses
          • Alists
          • Set-register-invariant-risk
          • Program-wrapper
          • Strings
          • Get-internal-time
          • Basics
          • Packages
          • System-attachments
          • Defmacro-untouchable
          • Primitive
          • <<
          • Revert-world
          • Set-duplicate-keys-action
          • Unmemoize
          • Symbols
          • Def-list-constructor
          • Easy-simplify-term
          • Defiteration
          • Defopen
          • Sleep
        • Real
        • ACL2-tutorial
        • Debugging
        • Miscellaneous
        • Prover-output
        • Built-in-theorems
        • Macros
        • Interfacing-tools
        • About-ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Fast-alists
    • Make-list

    Hons-make-list

    Like make-list, but produces honses.

    Definitions and Theorems

    Function: hons-make-list-acc

    (defun hons-make-list-acc (n val ac)
           (declare (xargs :guard t))
           (mbe :logic (make-list-ac n val ac)
                :exec (if (not (posp n))
                          ac
                          (hons-make-list-acc (1- n)
                                              val (hons val ac)))))