Hi Jon,
If you know in advance that there aren't going to be too many possible
counter-examples then it's not terrible to eliminate them one-by-one.
If you'd like to stick with the SMTLIB language. STP's SMTLIB2 parser
has a partial implementation of the command language, which allows you
to push on extra constriants. STP currently doesn't maintain SAT
solver state between pushes. So you'll probably find it much faster to
use the version of MathSAT submitted to this year's SMTCOMP
application track.
If you have lots of counter examples it's best to output the CNF from
STP and use a specialised #SAT solver. When I last looked the sharpSAT
was the best for the problems I was solving. If you do this you'll
need to use as a minimum: --exit-after-CNF --output-CNF -r --
config_pure-literals=0 . These options could be enough to preserve the
number of counter examples--- but I'm not sure.
> Also, on the side, what are the "-c" and "-d" flags purposes? I can
> read what they're documented as. I just don't see different output
> when using or not using the "-p" flag.
They turn on options that are turned on by default, so in effect don't
do anything.
Welcome to the group,
Trevor.