This is the first release of `bmc' (bounded model checker).  It is
still considered alpha software and should be handled with great care.
A lot of features are missing.  Please keep in mind that this tool was
purely made for reasearch purposes.

INSTALL:
--------

  Adjust the settings in `Makefile' and type

    make depend
    make
  
  This will generate `bmc' and a set of generators for examples.

  You probably also want to get a copy of a SAT tool (like SATO from
  <http://www.cs.uiowa.edu/~hzhang/sato.html> for which a `run-script'
  is also provided).

USAGE:
------

  (1) For the supported syntax look at the examples in the `test'
  directory and the output of the `gen*' example generators.  It
  is similar to SMV.

  (2) For more background information see our TACAS'99 paper:

    Symbolic Model Checking without BDDs.
    A. Biere, A. Cimatti, E. Clarke and Y. Zhu.

  (3) In particular, to generate a propositional formula in DIMACS
  format for a bound of 1, and then run this formula through SATO
  you would do the following:

    ./bmc -dimacs -k 1 test/longmult.bmc | ./runsato -f -

  The script `runsato' will generate a counterexample if the propositional
  formula is satisfiable (or a counterexample of length 1 exists).
  Otherwise no counterexample is shown.  In this case it is proven
  that no counterexample of length 1 exists.

  (4) look at the options for bmc (`bmc -h'):  
    
     * `-base' and `-invar' for invariant checking

     * `-diameter' for checking the length of the diameter
  
  (5) Note that in this version only safety (AG) and liveness properties
  (AF) are supported.  However you can specify propositional fairness
  constraints.


                                                Armin Biere, February 1999
