Abstract
We show that tableau methods for satisfiability in nonclassical logics can be supported naturally in SMT solving via the framework of userpropagators. By way of demonstration, we implement the description logic \(\mathcal {ALC}\) in the Z3 SMT solver and show that working with userpropagators allows us to significantly outperform encodings to firstorder logic with relatively little effort. We promote userpropagators for creating solvers for nonclassical logics based on tableau calculi.
We thank Nikolaj Bjørner for discussions on this topic. We acknowledge funding from the ERC Consolidator Grant ARTIST 101002685, the TU Wien SecInt Doctoral College, and the FWF SFB project SpyCoDe F8504.
You have full access to this open access chapter, Download conference paper PDF
Keywords
1 Introduction
Satisfiability modulo theory (SMT) solvers, e.g. [4, 14, 29], mostly implement CDCL(\(\mathcal {T}\)) [6, 27] to combine propositional satisfiability (SAT) solving with theoryspecific decision procedures. Due to the modular nature of the underlying CDCL(\(\mathcal {T}\)) algorithm, not only can SMT solvers reason in combinations of theories, but it is even possible to add and control custom firstorder theories by attaching new decision procedures, as recently introduced in the userpropagator framework [8]. The underlying logic in the SMT solving community is classical firstorder logic. When moving towards nonclassical logics, such as modal or description logics [2, 9, 21], tableau calculi provide common ground [13]. The resulting proof procedures behave very differently to SMT solvers [16, 22].
In this paper, we argue that it is time to join forces. We show that tableau methods can be integrated naturally into SMT solving (Sect. 3). In so doing, we promote userpropagators [8] for guiding nonclassical reasoning within SMT solving. We demonstrate our work within the Z3 SMT solver [29] and show that this approach outperforms two standard Z3 implementations based on quantification (Sect. 4). Finally, we discuss an alternative encoding for nonboolean based logics capable of dealing with explicit noncontainment (Sect. 5).
Related Work. SAT/SMT solving driven by instantiation rules from modal and description logic tableaux have been investigated [1, 20, 33], as has porting classical tableau rules to SMT [10], as has intuitionistic logic [12, 15]. Our work applies user propagation as a framework for implementing nonclassical logics, but also for theories that have tableau rules, such as strings [26] or finite sets [3]. MetTeL 2 [37, 38] can automatically synthesize solvers from tableau rules expressed in a domainspecific input language: complex features that cannot be expressed in the input language can be implemented by manually changing the output program generated by the tool.
Another approach to nonclassical logics translates nonclassical input to SAT/SMT [11, 23], firstorder or higherorder logic [18, 19, 31, 32, 35, 36] via a shallow embedding. After translation, a SAT/SMT solver or automatic theorem provers (ATPs) can be used for reasoning. ATPs typically work poorly esspecially on satisfiable instances from such translations [25, 39, 40]. Solvers do not usually take into account metalogical properties of the considered nonclassical logic. If at all, such properties are communicated to a solver via further lemmas or finetuning the solver’s configuration. Our approach allows us to directly encode expert knowledge of the considered logic. Additionally, our approach allows reasoning in multiple nonclassical logics simultaneously and supports theory reasoning.
2 Background and Challenges
Background. We assume familiarity with basics of classical firstorder logic [34], SMT solving [7] , and the description logic \(\mathcal {ALC}\) [2]. To avoid confusion with firstorder quantifiers, we use modal syntax to write \(\mathcal {ALC}{}\) formulas \(\varphi \) as
where A is a (theory^{Footnote 1}) atom and r a modality/role. The logical connectives \(\Rightarrow \), \(\wedge \), and \(\bot \) are defined as usual. The modal operator \(\Diamond _r\) is defined as the dual of \(\Box _r\). We assume a problem in \(\mathcal {ALC}{}\) is given by a knowledge base \(\langle TBox, ABox \rangle \). Elements in TBox are of the form \(global(\varphi )\)^{Footnote 2} and are intended to be true in all worlds. Elements in ABox are of the form \(w_i : \varphi \), asserting “\(\varphi \) holds in world \(w_i\)”; or \(r_k : (w_i, w_j)\), asserting “\(r_k\) relates worlds \(w_i\) and \(w_j\)”. In case no ABox is given, we assume the existence of an implicit world \(w_0\). The truthvalue of a formula \(\varphi \) under such a Kripke interpretation is given as in [2].
SMT Challenges for FirstOrder Translation of Description Logics. We motivate our work by considering the \(\mathcal {ALC}\) knowledge base
One may reason about this formula by (i) translating it into classical firstorder logic via the standard translation [9]; and (ii) using a decision procedure handling uninterpreted functions and quantifiers to establish satisfiability of the translated formula. In particular, step (i) translates (1) into the firstorder formula
where \(reach^r\) is an uninterpreted function symbol. Then, in step (ii) SMT solving over (2) instantiates the universallyquantified variable x with \(w_0\), using for example modelbased quantifier instantiation (MBQI) [17]. Skolemization introduces two new constants \(w_1\) and \(w_2\), which results in the quantifierfree instance:
from which the partial interpretation
can be deduced. The symbol \(*\) is undetermined and represents an arbitrary Boolean value. Assume that the SMT solver sets \(*\) to \(\bot \) in order to complete the partial model (4) for checking (2): As the solver cannot derive equalities among the world constants \(w_0, w_1, w_2\), the solver has to check all three constants with respect to the universal quantifier of (2). As \(w_1\) and \(w_2\) violate the universal quantifier, further constants are generated by Skolemization, but (2) remains violated and the sequence of MBQI steps repeat indefinitely. Choosing \(\top \) for \(*\) avoids such failure, but increases the burden of SMT solving, as the solver must consider all potential relations among all constants (here, \(w_0, w_1\) and \(w_2\)) and eliminate such relations stepwise again as they lead to conflicts. Randomly choosing \(\top \) or \(\bot \) for completing the partial model (4) of (2) is not a solution either, as it combines the disadvantages of both approaches.
3 Tableau as a Decision Procedure in CDCL(\(\mathcal {T}\))
Addressing the above challenges, we advocate userpropagators for tailored SMT solving, providing efficient implementations of custom tableau reasoners. We propose using the lemma generation process of CDCL(\(\mathcal {T}\)), explained below, to simulate rule application of tableau calculi.
In a nutshell, the CDCL(\(\mathcal {T}\)) infrastructure [6] introduces fresh Boolean variables to name theory atoms of an input formula; the resulting propositional skeleton is then solved by an ordinary SAT solver. If a propositional model is found, theory solvers are asked if the model is correct with respect to theory atoms. These specialized procedures may introduce further “lemma” formulas to the Boolean abstraction or report conflicts directly, forcing the SAT solver to “correct” the Boolean interpretation. This is repeated until all theory solvers agree on the Boolean assignment or the Boolean abstraction becomes unsatisfiable.
UserPropagators in CDCL(\(\mathcal {T}\)) with Tableau Methods. Our solution builds a custom reasoner using the userpropagator framework [8]. Algorithm 1 shows underlined parts relevant for the following discussion. The custom reasoner is implemented by providing the methods push, pop, fixed and final in some programming language. The method abstr(f) is a method to be applied a priori solving. All other methods are those of the SMT solver.
We can simulate a tableau calculus whose rules are of the abstract form shown in Fig. 1. We use signed formulas of the form \(sign : \circ (\bar{\varphi })\), where sign is a member of a fixed set, usually truth values, and \(\circ \) is a logical operator applied to operands/subformulas \(\bar{\varphi }\). Each \(P_i\) asserts that a signed formula is (not) contained in a label \(\mathcal {L}(w)\). Labels are sets of signed formulas with known sign at some node w on the current branch. Rules may only add signed formulas to labels and create new branches. We assume the input is satisfiable, in case no more rule is applicable.
This means, we consider sound, confluent, and nondestructive tableaux with signed formulas [34] and explicit labelled nodes [24], which are straightforward in our framework. Many calculi [13], including those for propositional logics, firstorder logics, various modal/description logics, and several manyvalued logics, can naturally be expressed within Fig. 1. The main steps of our work towards integrating tableau reasoning in SMT solving can be illustrated using a running example in \(\mathcal {ALC}{}\). The tableaux rules for \(\mathcal {ALC}{}\) in our notation are detailed in Fig. 2.
Example 1 (Running Example)
Consider the \(\mathcal {ALC}{}\) knowledge base:
where Alive (Alive), Hum (Human), and age depend on the current world, but recordLifespan does not; age and recordLifespan are of integral sort; p (parent) and f (friend) denote roles; and eva and paul are named worlds.
3.1 SMTLIB Encoding and Custom SMT Theory
To enable SMTbased tableau reasoning, we encode nonclassical logic features directly in an extension of the SMTLIB input standard [5]. In particular, we encode nonclassical logic symbols with the help of uninterpreted function symbols and sorts, yielding an SMT theory of nonclassical logic.
Example 2
(\(\mathcal {ALC}\) Knowledge Base in SMTLIB). For \(\mathcal {ALC}{}\), we introduce the uninterpreted Relation and World sorts and the following functions:
where B is the sort of Booleans and world represents the current world^{Footnote 3}. Functions may have an extra “World” argument to denote their dependency on some world. With these syntactic features on top of SMTLIB, Example 1 is encoded as
3.2 Preprocessing (Abstr)
Next, we traverse the syntax tree of the parsed problem and introduce fresh userfunction symbols to abstract away subformulas we want to observe. All instances of introduced userfunctions are automatically associated with our userpropagator and thus Boolean assignments to those instances might be reported by the SMT core by calling the fixed method. We might add a node parameter of an uninterpreted sort to userfunctions to store additional information, such as the current world in Kripke semantics. As we go, we build a treeshaped abstraction data structure for keeping track of abstracted subformulas and efficiently applying tableau rules. Only the root of the abstraction is passed to the SMT solver. Furthermore, we apply (logicspecific) simplifications.
Example 3
(Preprocessing and Abstraction). Recall Example 1. We replace all operators handled by tableau rules by fresh userfunctions: here, for the occurrences of \(\Box _r \varphi \), \(global(\varphi )\), and for theory atoms. Worlddependent terms and some operators, such as \(\Box \), require a node argument denoting the world in which they are evaluated. To ease instantiating multiple instances of the formulas, we use an unbounded variable x as the node argument. We obtain the SMT abstraction of Example 1 given in Fig. 3. G denotes applications of the globalrule, \(M^r\) applications of \(\Box _r\), and T arbitrary theory atoms. ABox elements are encoded directly by instantiating the node arguments accordingly (e.g., \(\lnot M_1^f(eva)\)).
3.3 Populating Languages (Fixed)
Whenever the SAT core assigns a variable \(V_i(w) \mapsto value\) , we look up the operator \(\circ \) and its operands abstracted by \(V_i\) during preprocessing. We add \(\circ \), together with the auxiliary symbol and its operands \(\bar{\varphi }_i\), to the respective label set^{Footnote 4} such that \(\hat{\mathcal {L}}(w) := \hat{\mathcal {L}}(w) \cup \{ (value : \circ , V_i, \bar{\varphi }_i) \}\) As the userpropagator reports only assignments to formulas that were previously abstracted away by userfunctions, we might also need to abstract away other formulas for which we are not interested in adding additional rules, in order to be notified when these elements are added to some labels. For example, if we must observe 0: \((\varphi _1 \wedge \varphi _2) \in \mathcal {L}(w)\), we can replace \(\wedge \) by a userfunction. Usually, the tableau is closed (i.e. conflict) automatically if we have formulas of different sign. If the calculus has more complicated closing conditions, they can be reported explicitly by propagating a conflict.
Example 4
(Tracking Assignments to Arbitrary Subformulas). To keep track of all relevant Boolean assignments to atoms, we replace all atoms by userfunctions, including complex theory atoms such as \(age(w) \le recordLifespan\) as shown in Fig. 3. To preserve semantics, we add the definitions of the abstracted atoms by propagation For example, within Example 1 we might eagerly propagate
as soon as \(T_1(w)\) is assigned the Boolean value.
3.4 Rule Application (Final)
Whenever the solver found a Boolean assignment such that the propositional abstraction of its extended SMT problem (Sect. 3.1) is satisfied, we apply logicspecific tableau rules by iterating over the set \(\hat{\mathcal {L}}(w)\) for every node w until no more tableau rules are applicable. A propagation claim is of the form \(J_1, \ldots , J_m \vdash C\). An arbitrary number of them can be added by the userpropagator within fixed and final, indicating that the SAT core needs to assign \(C \mapsto 1\) justified by the expressions \(J_1, \ldots , J_m\); here, C may be an arbitrary Boolean expression. Consider a tableau rule R as in Fig. 1 and assume that R is applied because \(\{ P'_1, \ldots , P'_m \} \subseteq \{ P_1, \ldots , P_n \}\) are satisfied, obtaining
where \(Just(P'_i)\) is \(J_i\). We give C as a formula in disjunctive normal form (DNF)
simulating application of the rule R. We note that by using relevancy propagation [28] SMT solving may enjoy tableaustyle branching, such that only one disjunct of the above DNF is chosen and reported assigned; unnecessary Boolean assignments are not reported to the userpropagator. We distinguish between two types of \(P'_i\) in (5): (i) those asserting elements are in the label, where \(P'_i\) is \(sign : \circ (\bar{\varphi }) \in \mathcal {L}(w)\); and (ii) those that assert the opposite, where \(P'_i\) is \(sign : \circ (\bar{\varphi }) \notin \mathcal {L}(w)\).
Justifying (i) is straightforward, as there must be an auxiliary userfunction denoting that the respective element is contained in the label. We therefore have \(sign : \circ (\bar{\varphi }), V, \bar{\varphi } \in \hat{\mathcal {L}}(w)\) and define \(Just(P'_i)\) to be the equality \(V = sign\). Case (ii) cannot be justified in general in our encoding because some assignments might not have been reported due to relevancy propagation. However, justifications for noncontainment constraints may be omitted in the following scenarios:

1.
The expression C can be simplified to \(\top \) with respect to the current SAT assignment and hence Lemma (5) and its justifications are irrelevant. Consider \(F(w) \mapsto 0\) where F(w) is a userfunction used to replace \(A \wedge B\) in some node w (see \(\wedge \) rule in Fig. 2) and \(0: A \in \hat{\mathcal {L}}(w)\). Propagating \(F(w) \vdash A(w) = \bot \vee B(w) = \bot \) has no effect, as the SMT solver detects that the consequent is already satisfied and ignores (5).

2.
Applying R without satisfying the negative containment condition does not affect soundness or completeness and we make sure that we do not apply R infinitely often. Consider \(F(w) \mapsto 0\) where F(w) replaces \(\Box A\) in some node w (see \(\Box \) rule in Fig. 2). Applying this rule once or finitely often does not affect soundness or completeness in \(\mathcal {ALC}{}\).
In either scenario, we do not justify that the respective conditions \(P_i'\) are satisfied, but only check \(P_i'\) before application of R (e.g. checking if a world is blocked). We hence set \(Just(P'_i)\) to \(\top \).
Example 5
(Applying Rules). Recall Example 1. Consider 1: \(M_2^p \in \hat{\mathcal {L}}(eva)\), 0: \(M_3^p \in \hat{\mathcal {L}}(eva)\) and 1: \(G \in \hat{\mathcal {L}}\). SMT solving may propagate in final
by a 0: \(\Box \)rule instance of Fig. 1, where mary is a fresh world. The next final callback might then propagate (because of the 1: \(\Box \) and 1: global rules)
3.5 Backtracking (Push+pop)
Backtracking in the CDCL core of SMT solving uses justifications provided for propagation claims. Our SMTbased tableau reasoner has to reset (pop) its state to a previouslysaved state (push), by restoring the value of \(\hat{\mathcal {L}}(w)\) to the one it had in the previous state. However, unlike tableau calculi, subformulas introduced by rule application may persist after backtracking because of conflict learning and similar techniques, which can result in the solver assigning these atoms unnecessarily. These spurious assignments correspond to adding elements to some label \(\mathcal {L}(w)\) without a respective rule being applicable and hence, it might happen that \(\hat{\mathcal {L}}(w) \ne \mathcal {L}(w)\). We can nonetheless apply rules resulting from spurious assignments as if they were not spurious: mostly, the solver will either justify the spurious elements anyway later or, in the case of a conflict, backtrack and undo these assignments.
Example 6
(Spurious Assignments). Recall Example 1. Suppose paul has a parent mary, generated by \(M_3^p(paul) \mapsto 0\) using the 0: \(\Box \)rule. Further, assume mary has a parent sam, generated by \(M_3^p(mary) \mapsto 0\). On conflict, the SMT solver might backtrack to a state before assigning \(M_3^p(paul) \mapsto 0\). The tableaubased theory solver removes \(reach^p(sam)\) from \(\hat{\mathcal {L}}(mary)\), as well as \(reach^p(mary)\) from \(\hat{\mathcal {L}}(paul)\). However, the solver may not “forget” the existence of atoms \(M_3^p(mary)\) and \(M_3^p(paul)\). It may therefore happen that \(M_3^p(mary)\) is assigned later without first generating mary via \(M_3^p(paul) \mapsto 0\). We ignore this spurious assignment, as the solver may later again assign \(M_3^p(paul) \mapsto 0\), ex post facto justifying the existence of mary. If this justification is not given later and we encounter a conflict, the solver backtracks and removes the spurious assignment. If it leads to a model, we ignore everything in the model resulting from the spurious assignment.
4 Implementation and Experiments
We implemented^{Footnote 5} our tableau reasoning approach from Sect. 3 in the Z3 SMT solver [29]. We compare our implementation applying user propagation over the custom SMT theory of Sect. 3.1 against our implementation using two translations of modal logic to firstorder logic, viz. the standard translation [9] and iterative deepening using cardinality assumptions. We considered altogether 400 satisfiable and 185 unsatisfiable benchmarks in the modal logic K [30]. Our initial experiments using a 60second timeout are summarized in Table 1, showing that applying our userpropagator framework performs the best. This is partially so because quantifier reasoning in Z3 comes with MBQI overhead (Sect. 2). Finite model building performs poorly for large minimal models.
5 Conclusion and Discussion
We introduce an SMTbased reasoning framework for tableau methods, encoding tableau rules directly in SMT and applying userpropagators for custom reasoning. When implemented and evaluated using the Z3 SMT solver, our results outperform alternative encodings of the modal logic K. However, implementing logics via userpropagators requires further knowledge about the considered nonclassical logics for tailored support towards, e.g., conflict learning and theory reasoning.
Beyond the Boolean Basis and Alternative Encodings. We so far considered an assignment \(V \mapsto value\) to denote that \(value: V \in \mathcal {L}(w)\) and only capture \(value: V \notin \mathcal {L}(w)\) implicitly. This can be generalized to n mutuallyexclusive truth values by using \(\lceil log_2(n)\rceil \) Boolean variables. If, on the other hand, we need to justify that some element is not in our label, we can use a different encoding with each potential value encoded by a single Boolean. In this case, we use \(bit_{sign}(V) = true\) to represent \(V \in \mathcal {L}(w)\) instead of \(V = sign\).
Example 7
(Ternary Logic). Consider a threevalued logic with values true, false, and undefined. The first encoding represents each truth value as a list of two bits where 00 represents false, 01 true, and 10 undefined respectively. The case of 11 is invalid. The second uses a list of three bits, one for each potential value. For each introduced subformula, we additionally propagate the cardinality constraint that exactly one bit has to be set to 1. This encoding incorporates the usual assumption that \(value_1 : \circ \in \mathcal {L}(w)\) and \(value_2 : \circ \in \mathcal {L}(w)\) with \(value_1 \ne value_2\) represents a conflict, but could be dropped in cases where this is not desired.
Theories and NonClassical Logic A challenging question arises when considering theories in combination with nonBoolean based logics. As we abstract away theory atoms (Example 3) and add them again on demand (Example 4), we can customize what and how theory atoms are passed to the SMT solver. For ternary logic, we might propagate the theory atom positively when assigned true, for false its negation, and nothing when the value is undefined.
Notes
 1.
this is an addition to the classical definition of \(\mathcal {ALC}{}\).
 2.
we write the more usual form \(\varphi _1 \sqsubseteq \varphi _2\) as \(global(\varphi _1 \Rightarrow \varphi _2)\).
 3.
which will be eliminated during preprocessing.
 4.
\(\hat{\mathcal {L}}(w)\) are sets maintained by the userpropagator code to simulate \(\mathcal {L}(w)\).
 5.
References
Areces, C., Fontaine, P., Merz, S.: Modal satisfiability via SMT solving. In: Software, Services, and Systems, pp. 30–45 (2015). https://doi.org/10.1007/9783319155456_5
Baader, F., Horrocks, I., Lutz, C., Sattler, U.: An Introduction to Description Logic (2017)
Bansal, K., Barrett, C.W., Reynolds, A., Tinelli, C.: Reasoning with finite sets and cardinality constraints in SMT. Log. Methods Comput. Sci. 14(4), 1–31 (2018). https://doi.org/10.23638/LMCS14(4:12)2018
Barbosa, H., et al.: cvc5: a versatile and industrialstrength SMT solver. In: TACAS 2022. LNCS, vol. 13243, pp. 415–442. Springer, Cham (2022). https://doi.org/10.1007/9783030995249_24
Barrett, C., Fontaine, P., Tinelli, C.: The Satisfiability Modulo Theories Library (SMTLIB) (2016). http://SMTLIB.org
Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Satisfiability, 2nd edn., vol. 336, pp. 1267–1329 (2021)
Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Satisfiability, 2nd edn., pp. 1267–1329 (2021). https://doi.org/10.3233/FAIA201017
Bjørner, N.S., Eisenhofer, C., Kovács, L.: Satisfiability modulo custom theories in Z3. In: VMCAI, pp. 91–105 (2023). https://doi.org/10.1007/9783031249501_5
Blackburn, P., van Benthem, J.: Modal logic: a semantic perspective. In: Handbook of Modal Logic, pp. 1–84 (2007). https://doi.org/10.1016/s15702464(07)800048
Bury, G., Cruanes, S., Delahaye, D.: SMT solving modulo tableau and rewriting theories. In: SMT (2018)
Caridroit, T., Lagniez, J., Berre, D.L., de Lima, T., Montmirail, V.: A satbased approach for solving the modal logic s5satisfiability problem. In: AAAI, pp. 3864–3870 (2017). https://doi.org/10.1609/aaai.v31i1.11128
Claessen, K., Rosén, D.: SAT modulo intuitionistic implications. In: LPAR, pp. 622–637 (2015). https://doi.org/10.1007/9783662488997_43
D’Agostino, M., Gabbay, D.M., Hähnle, R., Posegga, J.: Handbook of tableau methods (2013). https://doi.org/10.1007/9789401717540
Dutertre, B.: Yices 2.2. In: CAV, pp. 737–744 (2014). https://doi.org/10.1007/9783319088679_49
Fiorentini, C., Goré, R., GrahamLengrand, S.: A prooftheoretic perspective on smtsolving for intuitionistic propositional logic. In: TABLEAUX, pp. 111–129 (2019). https://doi.org/10.1007/9783030290269_7
Fitting, M.: Tableau methods of proof for modal logics. Notre Dame J. Formal Log. 13(2), 237–247 (1972). https://doi.org/10.1305/ndjfl/1093894722
Ge, Y., de Moura, L.M.: Complete instantiation for quantified formulas in satisfiability modulo theories. In: CAV, pp. 306–320 (2009). https://doi.org/10.1007/9783642026584_25
Gleißner, T., Steen, A.: The MET: the art of flexible reasoning with modalities. In: RuleML+RR, pp. 274–284 (2018). https://doi.org/10.1007/9783319999067_19
Gleißner, T., Steen, A., Benzmüller, C.: Theorem provers for every normal modal logic. In: LPAR, pp. 14–30 (2017). https://doi.org/10.29007/jsb9
Goré, R., Kikkert, C.: CEGARTableaux: improved modal satisfiability via modal clauselearning and SAT. In: TABLEAUX, pp. 74–91. https://doi.org/10.1007/9783030860592_5
Goré, R., Nguyen, L.A.: Analytic cutfree tableaux for regular modal logics of agent beliefs. In: CLIMA, pp. 268–287 (2007). https://doi.org/10.1007/9783540888338_15
Goré, R., Olesen, K., Thomson, J.: Implementing tableau calculi using BDDs: BDDTab system description. In: IJCAR, pp. 337–343 (2014). https://doi.org/10.1007/9783319085876_25
Haarslev, V., Sebastiani, R., Vescovi, M.: Automated reasoning in \(\cal{ALCQ} \) via SMT. In: CADE, pp. 283–298 (2011). https://doi.org/10.1007/9783642224386_22
Horrocks, I., Sattler, U., Tobies, S.: Practical reasoning for expressive description logics. In: LPAR, pp. 161–180 (1999). https://doi.org/10.1007/3540482423_11
Horrocks, I., Voronkov, A.: Reasoning support for expressive ontology languages using a theorem prover. In: FoIKS, pp. 201–218 (2006). https://doi.org/10.1007/11663881_12
Liang, T., Reynolds, A., Tsiskaridze, N., Tinelli, C., Barrett, C., Deters, M.: An efficient SMT solver for string constraints. Formal Methods Syst. Des. 48(3), 206–234 (2016). https://doi.org/10.1007/s1070301602476
MarquesSilva, J., Lynce, I., Malik, S.: Conflictdriven clause learning SAT Solvers. In: Handbook of Satisfiability, 2nd edn., vol. 336, pp. 133–182 (2021)
de Moura, L., Bjørner, N.: Relevancy Propagation. Technical Report MSRTR2007140, Microsoft Research, Technical Report (2007), https://www.microsoft.com/enus/research/wpcontent/uploads/2016/02/tr2007140.pdf
de Moura, L.M., Bjørner, N.S.: Z3: an efficient SMT solver. In: TACAS, pp. 337–340 (2008). https://doi.org/10.1007/9783540788003_24
Nalon, C., Hustadt, U., Papacchini, F., Dixon, C.: Local reductions for the modal cube. In: IJCAR, pp. 486–505 (2022). https://doi.org/10.1007/9783031107696_29
Schmidt, R.A., Hustadt, U.: The axiomatic translation principle for modal logic. ACM Trans. Comput. Log. 8(4), 19 (2007). https://doi.org/10.1145/1276920.1276921
Schneider, M., Sutcliffe, G.: Reasoning in the OWL 2 full ontology language using firstorder automated theorem proving. In: CADE, pp. 461–475 (2011). https://doi.org/10.1007/9783642224386_35
Sebastiani, R.: From KSAT to delayed theory combination: exploiting DPLL outside the SAT domain. In: FroCoS, pp. 28–46 (2007). https://doi.org/10.1007/9783540746218_2
Smullyan, R.M.: Firstorder logic (1995). https://doi.org/10.1007/9783642867187
Steen, A.: An extensible logic embedding tool for lightweight nonclassical reasoning (short paper). In: PAAR (2022)
Steen, A., Fuenmayor, D., Gleißner, T., Sutcliffe, G., Benzmüller, C.: Automated reasoning in nonclassical logics in the TPTP world. In: PAAR (2022)
Tishkovsky, D., Schmidt, R.A., Khodadadi, M.: MetTeL\({}^{\text{2}}\): towards a tableau prover generation platform. In: PAAR, pp. 149–162 (2012). https://doi.org/10.29007/1c73
Tishkovsky, D., Schmidt, R.A., Khodadadi, M.: The tableau prover generator MetTeL2. In: JELIA, pp. 492–495 (2012). https://doi.org/10.1007/9783642333538_41
Tsarkov, D., Horrocks, I.: DL reasoner vs. firstorder prover. In: DL (2003)
Tsarkov, D., Riazanov, A., Bechhofer, S., Horrocks, I.: Using Vampire to reason with OWL. In: ISWC, pp. 471–485 (2004). https://doi.org/10.1007/9783540304753_33
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Open Access This chapter is licensed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license and indicate if changes were made.
The images or other third party material in this chapter are included in the chapter's Creative Commons license, unless indicated otherwise in a credit line to the material. If material is not included in the chapter's Creative Commons license and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder.
Copyright information
© 2023 The Author(s)
About this paper
Cite this paper
Eisenhofer, C., Alassaf, R., Rawson, M., Kovács, L. (2023). NonClassical Logics in Satisfiability Modulo Theories. In: Ramanayake, R., Urban, J. (eds) Automated Reasoning with Analytic Tableaux and Related Methods. TABLEAUX 2023. Lecture Notes in Computer Science(), vol 14278. Springer, Cham. https://doi.org/10.1007/9783031435133_2
Download citation
DOI: https://doi.org/10.1007/9783031435133_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 9783031435126
Online ISBN: 9783031435133
eBook Packages: Computer ScienceComputer Science (R0)