SAT and SMT Based Model Checking of Concurrent Systems