• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
      • Ipasir
      • Aignet
        • Base-api
        • Aignet-construction
        • Representation
          • Aignet-impl
          • Node
          • Network
            • Lookup-id
            • Lookup-stype
            • Aignet-extension-p
            • Aignet-nodes-ok
            • Aignet-outputs-aux
            • Aignet-nxsts-aux
            • Fanin
            • Aignet-outputs
            • Lookup-reg->nxst
            • Aignet-lit-fix
            • Stype-count
            • Aignet-fanins
            • Aignet-nxsts
            • Aignet-idp
            • Aignet-norm
            • Aignet-norm-p
            • Aignet-id-fix
            • Fanin-count
            • Proper-node-listp
              • Proper-node-listp-basics
            • Fanin-node-p
            • Node-list
            • Aignet-litp
          • Combinational-type
          • Stypep
          • Typecode
        • Aignet-copy-init
        • Aignet-simplify-marked-with-tracking
        • Aignet-cnf
        • Aignet-simplify-with-tracking
        • Aignet-complete-copy
        • Aignet-eval
        • Semantics
        • Aignet-transforms
        • Aignet-simplify-marked
        • Aignet-read-aiger
        • Aignet-write-aiger
        • Aignet-abc-interface
        • Utilities
      • Aig
      • Satlink
      • Truth
      • Ubdds
      • Bdd
      • Faig
      • Bed
      • 4v
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Testing-utilities
    • Math
  • Network

Proper-node-listp

(proper-node-listp x) recognizes lists where every element satisfies proper-node-p.

Signature
(proper-node-listp x) → std::bool

This is an ordinary deflist. It is "strict" in that it requires x to be a "properly" nil-terminated list.

Definitions and Theorems

Function: proper-node-listp

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

Theorem: proper-node-listp-implies-node-listp

(defthm proper-node-listp-implies-node-listp
        (implies (proper-node-listp x)
                 (node-listp x)))

Subtopics

Proper-node-listp-basics
Basic theorems about proper-node-listp, generated by deflist.