Published March 15, 2024 | Version v1
Dataset Open

CNF Encoded Isomorphic and Optimized Miters from Hardware Model Checking Competition 2012 Models

  • 1. Albert-Ludwigs-Universität Freiburg

Description

These miter benchmarks are used in a paper on congruence closure in 2024.

The miter AIGs in the [`aig`](aig) directory are the same as those used to
generate CNFs of miter benchmarks submitted to the SAT Challenge in 2012.
Some of them have regularly been used in the SAT Competitions since then.

The AIGs are separated into two sets:

- [`aig/iso`](aig/iso) miters of isomorphic circuits
- [`aig/opt`](aig/opt) miters of optimized versus original circuit

The first set checks equivalence of one circuit with itself in the
[`aig/iso`](aig/iso) (isomorphic) sub-directory and second set contains
equivalence checking problems (aka miters) comparing the original circuit
with an optimized version in the [`aig/opt`](aig/opt) (optimized)
sub-directory.  The optimized versions of the circuits were obtained in 2012
by the `dc2` script for [ABC](https://people.eecs.berkeley.edu/~alanmi/abc).
We did not re-run ABC with a newer version in order to make sure we have as
base-line in our experiments the same CNFs, as they are well-known, i.e., 
they have been used in the SAT competitions for several years.

Note that the original AIGER models have state elements (called "latches"
in AIGER terminology), but both the optimization with ABC as well as our
equivalence checking is purely combinational, by treating latches as
additional pseudo inputs, and next-state functions as output-functions.  The
miters were accordingly generated (by the 2011 version) of `aigmiter` using
the `-c` option.  For the same reason as for ABC explained above, we did not
rerun `aigmiter` either.

We then encoded the two sets of AIGs into CNF in two different ways.
The first encoding just uses a simple Tseitin encoding, without
Plaisted-Greenbaum optimization, i.e., using the `--no-pg` option, as in 2012.
Even though we use a new version of `aigtocnf` in `src/aiger/aigtocnf.c` we
made sure that identical CNFs are generated for this first encoding variant
by checking that the MD5 sum of the (actually compressed) CNF files match.
This required to disable a newly introduced cone-of-influence (COI)
optimization with `--no-coi` which skips unreachable gates even when the
Plaisted-Greenbaum optimization is disabled.

The second variant of the encoding detects XOR and ITE gates by pattern
matching and produces more concise CNFs by skipping internal AND gates
of detected XOR and ITE gates producing a direct encoding instead.

This gives the following sets of CNFs;

- [`cnf/ands/iso`](cnf/ands/iso) isomorphic circuits with ANDs only
- [`cnf/ands/opt`](cnf/ands/opt) optimized versus original with ANDs only
- [`cnf/xits/iso`](cnf/xits/isor) isomorphic circuits with ANDs, XORs, ITEs
- [`cnf/xits/opt`](cnf/xits/opt) optimized versus original with ANDs, XORs, ITEs

All the CNFs in these directories have the same original file name of the
AIGER model to simplify run-time comparison.  In `cnf/all` we further
provide links with qualified names to distinguish them.

Files

hwmcc12miters.zip

Files (2.6 GB)

Name Size Download all
md5:21f22199fcfce7012e649fc8a75ec6b2
2.6 GB Preview Download