• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
      • Ipasir
      • Aignet
        • Base-api
        • Aignet-construction
        • Representation
        • Aignet-copy-init
        • Aignet-simplify-marked-with-tracking
        • Aignet-cnf
        • Aignet-simplify-with-tracking
        • Aignet-complete-copy
        • Aignet-eval
        • Semantics
        • Aignet-transforms
          • Aignet-comb-transforms
            • Fraig
            • Observability-fix
            • Constprop
            • Balance
            • Apply-m-assumption-n-output-output-transform-default
            • Obs-constprop
            • Apply-n-output-comb-transform-default
            • Rewrite
            • Comb-transform
            • Abc-comb-simplify
            • Prune
            • Apply-comb-transform-default
            • Rewrite!
            • M-assumption-n-output-comb-transform->name
            • N-output-comb-transform->name
            • Comb-transform->name
            • N-output-comb-transformlist
            • M-assumption-n-output-comb-transformlist
            • Comb-transformlist
            • Apply-comb-transform
          • Aignet-m-assumption-n-output-transforms
          • Aignet-n-output-comb-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
  • Aignet-transforms

Aignet-comb-transforms

Aignet transforms that simplify the network while preserving combinational equivalence

The functions apply-comb-transforms and apply-comb-transforms! may be used to apply several transforms to an aignet network, each of which preserves combinational equivalence with the original network. The transforms are chosen by listing several comb-transform objects, each of which is a configuration object for one of the supported transforms. The currently supported transforms are:

  • balance
  • fraig
  • rewrite
  • obs-constprop
  • observability-fix
  • constprop
  • prune
  • abc-comb-simplify

An additional "transform" that simply writes a snapshot of the network to an aiger file is also supported.

Subtopics

Fraig
Apply combinational SAT sweeping (fraiging) to remove redundancies in the input network.
Observability-fix
Transform the aignet so that some observability don't-care conditions don't affect the logical equivalence of nodes.
Constprop
Simplify a single-output aignet by assuming inputs from a top-level conjunction to be true.
Balance
Apply DAG-aware AND tree balancing to the network.
Apply-m-assumption-n-output-output-transform-default
Obs-constprop
Combine constprop and observability-fix for a transform that is sometimes somewhat better than simply running both in sequence.
Apply-n-output-comb-transform-default
Rewrite
Apply DAG-aware rewriting to the network.
Comb-transform
Configuration object for any combinational transform supported by apply-comb-transforms.
Abc-comb-simplify
Use the external tool ABC to apply a combinational simplification to the network, and assume the result correct.
Prune
Apply combinational pruning to remove unused nodes in the input network.
Apply-comb-transform-default
Rewrite!
Apply DAG-aware rewriting to the network.
M-assumption-n-output-comb-transform->name
N-output-comb-transform->name
Comb-transform->name
N-output-comb-transformlist
A list of n-output-comb-transform-p objects.
M-assumption-n-output-comb-transformlist
A list of m-assumption-n-output-comb-transform-p objects.
Comb-transformlist
A list of comb-transform-p objects.
Apply-comb-transform
Stub for an AIG transform that preserves combinational equivalence