• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
      • Satlink
      • Truth
      • Ubdds
      • Bdd
      • Faig
      • Bed
      • 4v
        • 4v-sexprs
        • 4v-monotonicity
        • 4v-operations
          • 4v-ite
          • 4v-res
          • 4v-not-list
          • 4v-unfloat
          • 4v-wand
          • 4v-wor
          • 4v-zif
          • 4v-tristate
          • 4v-xdet
          • 4v-xor
          • 4v-iff
          • 4v-and
          • 4v-or
          • 4v-not
          • 4v-pullup
          • 4v-and-list
            • 4v-ite*
          • Why-4v-logic
          • 4v-<=
          • 4vp
          • 4vcases
          • 4v-fix
          • 4v-lookup
      • Debugging
      • Projects
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • 4v-operations

    4v-and-list

    (4v-and-list x) conjoins a list of 4vp constants.

    Definitions and Theorems

    Function: 4v-and-list

    (defun 4v-and-list (x)
           (declare (xargs :guard t))
           (if (atom x)
               (4vt)
               (4v-and (car x) (4v-and-list (cdr x)))))

    Theorem: 4v-and-list-when-atom

    (defthm 4v-and-list-when-atom
            (implies (atom x)
                     (equal (4v-and-list x) (4vt))))

    Theorem: 4v-and-list-of-cons

    (defthm 4v-and-list-of-cons
            (equal (4v-and-list (cons a x))
                   (4v-and a (4v-and-list x))))

    Theorem: 4v-and-list-never-z

    (defthm 4v-and-list-never-z
            (equal (equal (4v-and-list x) (4vz))
                   nil))