In ASP (Answer Set Programming), programs are written in a higher-level declarative language and then grounded in a deterministic way to generate an ASP instance using a grounder like lparse or gringo.
Are there popular grounders the SAT community uses for generating instances? In other words, is there something that could take an expression such as:
vertex(a; b; c).
isRed(V) \/ isBlue (V) \/ isGreen(V) :- vertex(V).
and generate a DIMACS file from it?
In general, how are SAT competition instances generated?