• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
      • Satlink
      • Truth
      • Ubdds
        • Equal-by-eval-bdds
        • Ubdd-constructors
        • Eval-bdd
        • Ubddp
        • Ubdd-fix
        • Q-sat
        • Bdd-sat-dfs
        • Eval-bdd-list
        • Qcdr
        • Qcar
        • Q-sat-any
        • Canonicalize-to-q-ite
        • Ubdd-listp
        • Qcons
        • Bdd
        • Faig
        • Bed
        • 4v
      • Projects
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Ubdds

    Qcons

    Raw construtor for UBDDs.

    (qcons x y) constructs the UBDD whose true branch is x and whose false branch is y. It handles any collapsing which needs to occur.

    Definitions and Theorems

    Function: qcons$inline

    (defun qcons$inline (x y)
           (declare (xargs :guard t))
           (if (if (eq x t)
                   (eq y t)
                   (and (eq x nil) (eq y nil)))
               x (hons x y)))