Prof. Ofer Strichman

Information Systems Engineering



Prof. Strichman has been active in the formal verification community as of 1999. He has published two books: "Decision procedures – an algorithmic point of view" together with Daniel Kroening, and "Efficient decision procedures for validation", edited a third one and coauthored over 90 peer-reviewed articles in this field. He is also active in the SAT (Boolean satisfiability) community, and co-chaired the main conference SAT in 2010. Prof. Strichman is mostly known for his contributions to SAT (e.g., incremental satisfiability, phase saving), linear-time proof manipulation and bounded model-checking.


New: 2nd edition of 'Decision Procedures - an algorithmic point of view' (Jan 2017). You can get it here.

The first edition of this book was #1 best seller of Springer/CS in the 'theoretical computer science' series in the last decade, and one of the best sellers in all of Springer/CS's publications. 

2nd edition

[Note: owing to an error of the publisher, several hundred copies (a rough estimate) were printed and sold with the word 'editors' near the authors' names, and in certain locations these copies are still being sold. ]

Some links:

Publication list

Selected presentaions

Slides from courses that I teach


  • Please visit the Haifa solvers' suite for updated information on our solvers HaifaSAT, HaifaCSP, HMUC, HHLMUC, HSMTMUC and the benchmarking platform HBench.
  • The Regression Verification Tool (RVT) - proving the equivalence of programs.
  • pv - program visualizer. Builds an automata that represents a program's behavior, or traces that lead to an error. 
  • TVS: A translation validation tool from Simulink to C. 

You may want to see the presentations of the Haifa SAT/SMT seminar. 

Benchmarks: difficult benchmarks in CNF, OPB, SMT2, and WCNF formats, resulting from university scheduling problems, are available here.

Selected conference activities: I am PC-chairing HVC-2017.

Selected Publications

My publications page can be found here



Kroening Strichman cover small        1st editon:          

2nd edition       2nd edition (Jan 2017)

My PhD, republished here: 

(as an editor): 

Selected publications:

Ultimately Incremental SAT Proc. of the17th International conference on theory and applications of satisfiability testing(SAT'14). Together with Alexander Nadel and Vadim Ryvchin.

Efficient MUS extraction with Resolution Proc. of the 13thconference on Formal Methods in Computer Aided Design (FMCAD'13). Together with Vadim Ryvchin and Alexander Nadel.

Proving mutual termination of programs. Proc. ofthe eighthHaifaVerification Conference (HVC'12). Together with Dima Elenbogen and Shmuel Katz.

A proof producing CSP solver.Proc. of the 24thconference of theAssociation for the Advancement of Artificial Intelligence (AAAI'10). Together with Michael Veksler.

Regression verification: Proving the equivalence of similar programs.Software Testing, Verification and Reliability, 23(3) 241–258, 2013.Together with BennyGodliln.

Reducing the Size of Resolution Proofs in Linear Time. Journal onSoftware Tools and Technology Transfer (STTT),vol13, issue 3, page 263, 2011.Together with Omer Bar-Ilan,OdedFuhrmann,ShlomoHooryand OhadShacham.

Three optimizations for Assume-Guarantee reasoning with L*.Formal Methods in Systems Design, Vol. 32, number 3, pages 267–284, 2008. Together with Sagar Chaki.


Slides from courses that I teach


Formal verification of finite-state systems, model-checking and bounded model-checking. Decision procedures for first-order theories in the Satisfiability Modulo Theories (SMT) framework; SAT and CSP; Program equivalence checking


Current M.Sc. / Ph.D. Students and their projects

  • Ofer Guthman - SMT minimal core, and SAT techniques.
  • Yair Nof - approximations to combanitorial problems.

Past Students 

  • Maor Weizmann (2016) - new proof methods for regression verification. See Maor's thesis.

  • Michael Veksler (2014)  - Constraints Satisfaction Problem (CSP) solver based on multi-valued SAT techniques. See Michael's thesis.
  • Nir Drucker (2014) - Cyclic Routing of Unmanned Aerial Vehicles. See Nir's thesis
  • Vadim Ryvchin (2014) - Core algorithms for SAT and SAT-related problems. See Vadim's thesis.
  • Dima Elenbogen (2014) - Proving mutual termination of programs. See Dima's thesis.
  • Radislav (Slava) Vaisman (2013) (mostly supervised by Reuven Rubinstein) - Stochastic Enumeration Methods for Counting, Rare-events and Optimization
  • Moshe Emmer (2013) - Bounded model checking at word-level via Encodings into Efficient Propositional Logic (co-supervised with Y. Moses and M. Khasidashvili)
  • Mirron Rozanov (2011)- 1) developed an efficient decision procedure for Equality Logic. 2) developed a method for approximated model-counting. See Mirron's thesis.
  • Michael Ryabtsev (2009)  - developed : a Translation-Validation tool from Matlab's Simulink to C. See Michael's thesis.
  • Katya Kuchi (2008) - A probabilistic analysis of coverage methods. See Katya's thesis.
  • Dan Goldwasser (2008) - A theory-based decision heuristic for disjunctive linear arithmetic. See Dan's thesis.
  • Benny Godlin (2008) - Regression verification: theoretical and implementation aspects. See Benny's thesis and our joint Position paper about it.  See also my invited   about this work in CAV'09. Also see Benny's HRDAG's project, and his home page
  • Roman Gershman (2007) - Improvements of SAT solving techniques. See Roman's thesis and the powerful SAT solver HaifaSat that he developed as part of his thesis.
  • Maya Koifman (2006) - Minimizing unsatisfiable cores with Dominators. See Maya's thesis, and link to Core-Trimmer.
  • Orly Meir (2005) - A graph-based decision procedure for Equality Logic. See Orly's thesis.

Contact Info

email: ofers -the at sign-
Room 412 Bloomfield Building