diff options
author | Alan Mishchenko <alanmi@berkeley.edu> | 2020-01-18 16:42:02 -0800 |
---|---|---|
committer | Alan Mishchenko <alanmi@berkeley.edu> | 2020-01-18 16:42:02 -0800 |
commit | 19b8d9bf7ca6c9d51ea829b40c46a801a1ac0e11 (patch) | |
tree | 7d40f8a950af15698f993b7f6eabe275e0499a39 | |
parent | 4853ae9cab699ff2cde629c85d9291c48ce20f54 (diff) | |
download | abc-19b8d9bf7ca6c9d51ea829b40c46a801a1ac0e11.tar.gz abc-19b8d9bf7ca6c9d51ea829b40c46a801a1ac0e11.tar.bz2 abc-19b8d9bf7ca6c9d51ea829b40c46a801a1ac0e11.zip |
Adding CNF variable mapping rules.
-rw-r--r-- | src/base/io/io.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/base/io/io.c b/src/base/io/io.c index 8cc78623..49e1def1 100644 --- a/src/base/io/io.c +++ b/src/base/io/io.c @@ -2248,6 +2248,17 @@ usage: fprintf( pAbc->Err, "\t-v : toggle printing verbose information [default = %s]\n", fVerbose? "yes" : "no" ); fprintf( pAbc->Err, "\t-h : print the help massage\n" ); fprintf( pAbc->Err, "\tfile : the name of the file to write\n" ); + fprintf( pAbc->Err, "\n" ); + fprintf( pAbc->Err, "\t CNF variable mapping rules:\n" ); + fprintf( pAbc->Err, "\n" ); + fprintf( pAbc->Err, "\t Assume CNF has N variables, with variable IDs running from 0 to N-1.\n" ); + fprintf( pAbc->Err, "\t Variable number 0 is not used in the CNF.\n" ); + fprintf( pAbc->Err, "\t Variables 1, 2, 3,... <nPOs> represent POs in their natural order.\n" ); + fprintf( pAbc->Err, "\t Variables N-<nPIs>, N-<nPIs>+1, N-<nPIs>+2, ... N-1, represent PIs in their natural order.\n" ); + fprintf( pAbc->Err, "\t The internal variables are ordered in a reverse topological order from outputs to inputs.\n" ); + fprintf( pAbc->Err, "\t That is, smaller variable IDs tend to be closer to the outputs, while larger\n" ); + fprintf( pAbc->Err, "\t variable IDs tend to be closer to the inputs. It was found that this ordering\n" ); + fprintf( pAbc->Err, "\t leads to faster SAT solving for hard UNSAT CEC problems.\n" ); return 1; } |