• Top
    • Documentation
    • Books
    • 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
            • Aignet-fanins
            • Stype-count
            • 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
          • Typecode
          • Stypep
        • Aignet-copy-init
        • Aignet-simplify-with-tracking
        • Aignet-simplify-marked-with-tracking
        • Aignet-cnf
        • Aignet-simplify-marked
        • Aignet-complete-copy
        • Aignet-transforms
        • Aignet-eval
        • Semantics
        • Aignet-read-aiger
        • Aignet-write-aiger
        • Aignet-abc-interface
        • Utilities
      • Aig
      • Satlink
      • Truth
      • Ubdds
      • Bdd
      • Faig
      • Bed
      • 4v
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • 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.