• Top
    • Documentation
    • Books
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
        • Aig-constructors
        • Aig-vars
        • Aig-sat
        • Bddify
        • Aig-substitution
        • Aig-other
          • Best-aig
            • Aig-label-nodes
            • Aig-list-list-best
            • Aig-collect-andnode-labels
            • Aig-list-best-aux1
            • Aig-collect-labels
            • Aig-list-best
              • Aig-list-list-label-nodes
              • Aig-list-label-nodes
              • Aig-list-list-best-aux
              • Aig-count-andnode-labels
              • Aig-list-best-aux
              • Aig-count-labels
            • Aig2c
            • Expr-to-aig
            • Aiger-write
            • Aig-random-sim
            • Aiger-read
            • Aig-print
            • Aig-cases
          • Aig-semantics
          • Aig-and-count
        • 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
    • Best-aig

    Aig-list-best

    Top level function for choosing the best AIG out of a list.

    Signature
    (aig-list-best x) → best
    Arguments
    x — An AIG List, which should be non-empty.
    Returns
    best — The best AIG in x.

    This is easy to use: it handles all of the details of freeing the fast alists and memo tables it uses.

    Definitions and Theorems

    Function: aig-list-best

    (defun aig-list-best (x)
      (declare (xargs :guard t))
      (let ((__function__ 'aig-list-best))
        (declare (ignorable __function__))
        (b* (((mv ?free map)
              (cwtime (aig-list-label-nodes x 0 nil)
                      :mintime 1/2))
             (ret (cwtime (aig-list-best-aux x map)
                          :mintime 1/2)))
          (fast-alist-free map)
          (clear-memoize-table 'aig-collect-andnode-labels)
          (clear-memoize-table 'aig-collect-labels)
          ret)))