Home Services Technologies Company Careers Contact  

Salt ® & Shaker® Translation System

Salt & Shaker Home

Salt ® & Shaker® Translation System

SAT solvers are a powerful class of constraint solver but require real-world problems to be translated into their Byzantine CNF input format. Salt is a constraint logic language and translation tool that significantly simplifies the process of applying a SAT solver to complex constraint problems such as those arising from hardware and software verification, optimization, and planning.

The Salt language provides a higher-level representation of propositional logic than CNF. Syntactically similar to a machine assembly language, the Salt language provides built-in operators for expressing propositional, fixed-point arithmetic, pseudo-Boolean, and set theoretic constraints. The Salt language is rigorously specified and has intrinsic support for tracking, propagating, and manipulating arithmetic overflow constraints. The application- and solver-independent syntax is designed to be both easy to write and easy to generate from a script or application program.

The Salt translation tool generates the DIMACS format CNF accepted by most modern SAT solvers. Salt contains a powerful but efficient optimization system that generates CNF that has been shown to reduce solution times by more than 30% on certain classes of known-hard arithmetic problems over standard translation algorithms. Because Salt starts from a higher semantic level than raw CNF, it can perform optimizations that are intractable for simple preprocessing tools to replicate. Salt has been demonstrated to scale to problems requiring millions of CNF variables to represent.

Salt comes bundled with the Shaker companion tool that translates the output from a SAT solver back into a form that can be interpreted by a human or application software. Shaker completely eliminates the need to parse the individual variable assignments returned by a SAT solver. Taken together, Salt and Shaker act as a complete level of abstraction between the SAT solver and the application. With Salt and Shaker, no knowledge of CNF or conversion routines is necessary.

Salt ® & Shaker® Key Benefits

  • Productive: Salt can in integrated with existing tool flows. Time to translate problems into SAT and to interpret the results from SAT reduced from hours to minutes
  • Powerful: Produces CNF that reduces the search time of modern SAT solvers by more than 5x over standard encoding algorithms for many clases of hard problems significantly beyond what simple preprocessing tools can achieve
  • Expressive: Over 100 built in logic, set, and arithmetic operators
  • Tunable: Salt language and tool parameters provide the control necessary to fine tune the translation for any choice of solver
  • Complete: Salt and Shaker provide everything necessary to completely abstract any application from the underlying SAT solver
  • Flexible: Syntax provides mechanism, not policy; built-in operators can be combined to produce any choice of problem encoding
  • Scalable: Scales to any problem size a SAT solver can handle, including problems with over a million variables
  • Sound: Salt language has a rigorous formal specification
  • Easy to Use: Complete documentation and introductory examples are provided
  • Compatible: Produces the DIMACS specified CNF format accepted by most modern SAT solvers


Request a White Paper

Version 1.5 now available. For more information about Salt & Shaker, including performance results and licensing terms, please contact us.

Copyright © 1998-2008 Reservoir Labs, Inc.