Proceduri de decizie
programe Booleene satisfiabilitatea formulelor propozitionale programe aritmetice satisfiabilitatea formulelor propozitionale modulo teoria aritmeticii lineare programe pentru analiza managementului memoriei satisfiabilitatea formulelor propozitionale modulo teoria aritmeticii lineare + tablouri (arrays)
SAT prima problema NP-completa (Cook 1972) algoritmul Davis-Putnam (1960) bazat pe rezolutie poate utiliza spatiu de memorie exponential algoritm Davis-Putnam Logemann-Loveland DPLL (1962) bazat pe cautare constituie baza solverelor moderne Conflict-driven learning and non-chronological backtracking (1996) revenirea in forta a rezolutiei! SAT-solvere de succes: GRASP, SATO, Chaff, ZChaff, BerkMin,
Satisfiabilitate modulo teorii (SMT) SMT-solvere Alt-Ergo, Ario, Barcelogic, Beaver, Boolector, CVC, CVC Lite, CVC3, DPT (Intel), ExtSAT, Harvey, HTP, ICS (SRI), Jat, MathSAT, OpenSMT, Sateen, Simplify, Spear, STeP, STP, SVC, Sword, TSAT, UCLID, Yices (SRI), Zap, Zapato, Z3 (Microsoft)
3a: Daca b nu apare in nicio clauza din C, se elimina din C orice clauza care contine b 3b: Daca b nu apare in nicio clauza din C, se elimina din C orice clauza care contine b
Complexitate daca n este numarul de clauze din multimea de intrare, atunci numarul de clauze dupa a i-a iteratie este O(n^(2^i))
us/um/people/leonardo/oregon08.pdf
SMT sovere
slide-urile 60-79 din http://research.microsoft.com/en-
us/um/people/leonardo/oregon08.pdf
Applications
Extended Static Checking. Spec#, VCC, HAVOC ESC/Java Predicate Abstraction. SLAM/SDV (device driver verification). Test-case generation. Pex, Sage Bounded Model Checking (BMC) & k-induction. Symbolic Simulation. Planning & Scheduling. Equivalence checking.