3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-28 08:58:44 +00:00

check for logic in solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-11-04 15:19:11 +00:00
parent c0fb2eafe5
commit 51a4085910
6 changed files with 213 additions and 128 deletions

40
src/solver/smt_logics.h Normal file
View file

@ -0,0 +1,40 @@
/*++
Copyright (c) 2016 Microsoft Corporation
Module Name:
smt_logics.h
Abstract:
Module for recognizing SMT logics.
Author:
Nikolaj Bjorner (nbjorner) 2016-11-4
Revision History:
--*/
#ifndef SMT_LOGICS_H_
#define SMT_LOGICS_H_
class smt_logics {
public:
smt_logics() {}
static bool supported_logic(symbol const & s);
static bool logic_has_reals_only(symbol const& l);
static bool logic_is_all(symbol const& s) { return s == "ALL"; }
static bool logic_has_uf(symbol const& s);
static bool logic_has_arith(symbol const & s);
static bool logic_has_bv(symbol const & s);
static bool logic_has_array(symbol const & s);
static bool logic_has_seq(symbol const & s);
static bool logic_has_fpa(symbol const & s);
static bool logic_has_horn(symbol const& s);
static bool logic_has_fd(symbol const& s) { return s == "QF_FD"; }
static bool logic_has_datatype(symbol const& s);
};
#endif /* SMT_LOGICS_H_ */