• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
      • Ipasir
      • Aignet
        • Base-api
        • Aignet-construction
        • Representation
          • Aignet-impl
          • Node
          • Network
          • Combinational-type
          • Stypep
            • Sequential-type
          • Typecode
        • Aignet-copy-init
        • Aignet-simplify-marked-with-tracking
        • Aignet-cnf
        • Aignet-simplify-with-tracking
        • Aignet-complete-copy
        • Aignet-eval
        • Semantics
        • Aignet-transforms
        • Aignet-simplify-marked
        • Aignet-read-aiger
        • Aignet-write-aiger
        • Aignet-abc-interface
        • Utilities
      • Aig
      • Satlink
      • Truth
      • Ubdds
      • Bdd
      • Faig
      • Bed
      • 4v
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Testing-utilities
    • Math
  • Representation

Stypep

Sequential type of a logical AIG node.

Recall that AIG nodes are represented as lists like (:pi), (:gate fanin0 fanin1), etc.

The sequential type of such a type is just its leading keyword. The valid sequential types are:

  • :const for the special constant node
  • :and for an AND gate node
  • :xor for an XOR gate node
  • :pi or :po for primary input/output nodes
  • :reg for register nodes (register outputs)
  • :nxst for next state nodes (register inputs)

See also combinational-type for a combinational (instead of sequential) view of AIG node types.

This is an ordinary defenum.

Function: stypep

(defun stypep (x)
       (declare (xargs :guard t))
       (or (eq x ':pi)
           (eq x ':reg)
           (eq x ':po)
           (eq x ':nxst)
           (eq x ':and)
           (eq x ':xor)
           (eq x ':const)))

Theorem: type-when-stypep

(defthm type-when-stypep
        (implies (stypep x)
                 (if (symbolp x)
                     (if (not (equal x 't))
                         (not (equal x 'nil))
                         'nil)
                     'nil))
        :rule-classes :compound-recognizer)

Subtopics

Sequential-type
See stypep.