Semseter Project: Generalized Computational Caching

Problem Description

In building a cache for Satisfiability, it is necessary to have a standard input formal for describing SAT problems. The language most widely used by SAT solvers is DIMACS.

Truth value assignments

If the cache can return one or more thruth value assignments, then types must be defined for an assignment and for a set of assginments.

Cache Query API

A simple API for a SAT Cache can consist of this one function:

Query(P)

Submit a SAT problem P (presumably as a DIMACS file or equivalent representation) to the cache and recieve one of these responses:

Cache Assertion API

If external loading of the cache is allowed, these additional functions can be implemented.

Assert_sat(P, v)

Assert that satisfiability of problem P has truth value v.

Assert_soln(P, a)

Assert that truth value assignment a satisfies problem P.

Assert_easy(P, m)

Assert that determining the solvability of P is easy using method m.