NAIL094Decision procedures and verification

Petr Kučera, KTIML MFF UK

Backbones

We say that a literal \(l\) is a bacbone of \(\varphi\) if \(l\) is in every model of \(\varphi\), or in other words the value of \(l\) is implied by \(\varphi\), i.e. \(\varphi\models l\). Write a program which uses a SAT solver as an oracle and finds all backbones of a given CNF \(\varphi\). The CNF is given in DIMACS format (also described in the first task.

Evaluate your program on several SATLIB Benchmark Problems and write a report on the results.