• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
      • Std/lists
      • Std/alists
      • Obags
      • Std/util
      • Std/strings
      • Std/io
      • Std/osets
      • Std/system
      • Std/basic
      • Std/typed-lists
        • Std/typed-lists/character-listp
        • Std/typed-lists/symbol-listp
        • Std/typed-lists/boolean-listp
        • Std/typed-lists/string-listp
        • Std/typed-lists/eqlable-listp
        • Theorems-about-true-list-lists
        • Std/typed-lists/atom-listp
        • Unsigned-byte-listp
        • Cons-listp
          • Cons-listp-basics
        • Cons-list-listp
        • Signed-byte-listp
        • String-or-symbol-listp
      • 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/typed-lists
  • Alistp

Cons-listp

Like alistp but doesn't require that the final cdr is nil.

Signature
(cons-listp x) → std::bool

This is an ordinary std::deflist. It is "loose" in that it does not care whether x is nil-terminated.

Definitions and Theorems

Function: cons-listp

(defun cons-listp (x)
       (declare (xargs :guard t))
       (let ((__function__ 'cons-listp))
            (declare (ignorable __function__))
            (if (consp x)
                (and (consp (car x))
                     (cons-listp (cdr x)))
                t)))

Subtopics

Cons-listp-basics
Basic theorems about cons-listp, generated by std::deflist.