• Top
    • Documentation
    • Books
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
        • Aig-constructors
        • Aig-vars
        • Aig-sat
        • Bddify
        • Aig-substitution
        • Aig-other
          • Best-aig
          • Aig2c
            • Aig2c-config-p
              • Aig2c-config
              • Make-aig2c-config
              • Change-aig2c-config
              • Make-honsed-aig2c-config
              • Honsed-aig2c-config
              • Aig2c-boolean-sanity-check-p
                • Aig2c-config->type
                • Aig2c-config->prefix
                • Aig2c-config->op-not
                • Aig2c-config->op-and
              • Aig2c-compile
              • Aig2c-maketemps
              • Aig2c-main
              • Aig2c-prologue
              • Aig2c-maketemps-list
              • Aig2c-epilogue
              • Aig2c-main-list
            • 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
      • Std
      • Community
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Aig2c-config-p

    Aig2c-boolean-sanity-check-p

    Signature
    (aig2c-boolean-sanity-check-p type op-and op-not) → *
    Arguments
    type — Guard (stringp type).
    op-and — Guard (stringp op-and).
    op-not — Guard (stringp op-not).

    Definitions and Theorems

    Function: aig2c-boolean-sanity-check-p

    (defun aig2c-boolean-sanity-check-p (type op-and op-not)
     (declare (xargs :guard (and (stringp type)
                                 (stringp op-and)
                                 (stringp op-not))))
     (let ((__function__ 'aig2c-boolean-sanity-check-p))
      (declare (ignorable __function__))
      (b*
       ((tokens (str::strtok type '(#\Space #\Newline #\Tab)))
        ((unless (or (equal tokens '("bool"))
                     (equal tokens '("const" "bool"))))
         t)
        ((unless (and (equal op-and "&&")
                      (equal op-not "!")))
         (raise
          "Insane AIG2C configuration.  You are trying to make an aig2c ~
                    configuration using bool variables, but with operators other ~
                    than && and !.  The bitwise operators won't work here.  See ~
                    :xdoc aig2c-config-p for more information.")))
       t)))