mirror of
https://github.com/Z3Prover/z3
synced 2026-02-15 05:11:49 +00:00
62 lines
1.3 KiB
C++
62 lines
1.3 KiB
C++
/*++
|
|
Copyright (c) 2011 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
sat_tactic.cpp
|
|
|
|
Abstract:
|
|
|
|
Tactic for using the SAT solver and its preprocessing capabilities.
|
|
|
|
Author:
|
|
|
|
Leonardo (leonardo) 2011-10-26
|
|
|
|
Tactic Documentation:
|
|
|
|
## Tactic sat
|
|
|
|
### Short Description
|
|
|
|
Try to solve goal using a SAT solver
|
|
|
|
## Tactic sat-preprocess
|
|
|
|
### Short Description
|
|
|
|
Apply SAT solver preprocessing procedures (bounded resolution, Boolean constant propagation, 2-SAT, subsumption, subsumption resolution).
|
|
|
|
### Example
|
|
|
|
```z3
|
|
(declare-const a Bool)
|
|
(declare-const b Bool)
|
|
(declare-const c Bool)
|
|
(declare-const d Bool)
|
|
(declare-const e Bool)
|
|
(declare-const f Bool)
|
|
(declare-fun p (Bool) Bool)
|
|
(assert (=> a b))
|
|
(assert (=> b c))
|
|
(assert a)
|
|
(assert (not c))
|
|
(apply sat-preprocess)
|
|
```
|
|
|
|
--*/
|
|
#pragma once
|
|
|
|
#include "util/params.h"
|
|
class ast_manager;
|
|
class tactic;
|
|
|
|
tactic * mk_sat_tactic(ast_manager & m, params_ref const & p = params_ref());
|
|
|
|
tactic * mk_sat_preprocessor_tactic(ast_manager & m, params_ref const & p = params_ref());
|
|
|
|
/*
|
|
ADD_TACTIC('sat', '(try to) solve goal using a SAT solver.', 'mk_sat_tactic(m, p)')
|
|
ADD_TACTIC('sat-preprocess', 'Apply SAT solver preprocessing procedures (bounded resolution, Boolean constant propagation, 2-SAT, subsumption, subsumption resolution).', 'mk_sat_preprocessor_tactic(m, p)')
|
|
*/
|
|
|