Abstract
The main topic of this article are SGGS decision procedures for fragments of first-order logic without equality. SGGS (Semantically-Guided Goal-Sensitive reasoning) is an attractive basis for decision procedures, because it generalizes to first-order logic the Conflict-Driven Clause Learning (CDCL) procedure for propositional satisfiability. As SGGS is both refutationally complete and model-complete in the limit, SGGS decision procedures are model-constructing. We investigate the termination of SGGS with both positive and negative results: for example, SGGS decides Datalog and the stratified fragment (including Effectively PRopositional logic) that are relevant to many applications. Then we discover several new decidable fragments, by showing that SGGS decides them. These fragments have the small model property, as the cardinality of their SGGS-generated models can be upper bounded, and for most of them termination tools can be applied to test a set of clauses for membership. We also present the first implementation of SGGS—the Koala theorem prover—and we report on experiments with Koala.
Similar content being viewed by others
Notes
The name of the procedure in [63] is DPLL(\({{\mathcal {T}}}\)), but the recent literature calls it CDCL(\({{\mathcal {T}}}\)), since the DPLL (Davis-Putnam-Logemann-Loveland) [27] and CDCL procedures have been recognized as distinct. The same remark applies to DPLL(\(\varGamma \!+\!{{\mathcal {T}}}\)) [21].
An SGGS-splitting is trivial if it produces a singleton partition, such as when trying to split a ground clause or trying to split a clause by a more general one.
The SGGS-derivation with \(I^-\) given for this set in [17, Ex. 11] is incorrect.
For PVD also the finite basis approach applies implying the small model property [17].
SGGS and Koala do not have a built-in treatment of equality.
The average TPTP ratings of the discovered restrained, sort-restrained, and sort-refined-PVD problems are 0.06, 0.08, and 0.08, respectively.
Koala is available at https://github.com/bytekid/koala.
The experimental data are posted at http://cl-informatik.uibk.ac.at/users/swinkler/koala/, http://profs.sci.univr.it/~bonacina/sggs.html or https://github.com/bytekid/koala.
References
Abadi, A., Rabinovich, A., Sagiv, M.: Decidable fragments of many-sorted logic. J. Symb. Comput. 45(2), 153–172 (2010). https://doi.org/10.1016/j.jsc.2009.03.003
Ackermann, W.: Solvable Cases of the Decision Problem. North Holland, Amsterdam (1954). https://doi.org/10.1007/BFb0022557
Alagi, G., Weidenbach, C.: NRCL – a model building approach to the Bernays-Schönfinkel fragment. In: C. Lutz, S. Ranise (eds.) Proceedings of FroCoS-10, Lecture Notes in Artificial Intelligence, vol. 9322, pp. 69–84. Springer, Berlin (2015). https://doi.org/10.1007/978-3-319-24246-0_5
Andréka, H., van Benthem, J., Nemeti, I.: Modal logics and bounded fragments of predicate logic. J. Phil. Log. 27(3), 217–274 (1998). https://doi.org/10.1023/A:1004275029985
Bachmair, L., Tiwari, A., Vigneron, L.: Abstract congruence closure. J. Autom. Reason. 31(2), 129–168 (2003). https://doi.org/10.1023/B:JARS.0000009518.26415.49
Barbosa, H., Barrett, C.W., Brain, M., Kremer, G., Lachnitt, H., Mann, M., Mohamed, A., Mohamed, M., Niemetz, A., Nötzli, A., Ozdemir, A., Preiner, M., Reynolds, A., Sheng, Y., Tinelli, C., Zohar, Y.: CVC5: A versatile and industrial-strength SMT solver. In: D. Fisman, G. Rosu (eds.) Proceedings of TACAS-28, Lecture Notes in Computer Science, vol. 13243, pp. 415–442. Springer, Berlin (2022). https://doi.org/10.1007/978-3-030-99524-9_24
Barrett, C.W., Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Splitting on demand in SAT modulo theories. In: M. Hermann, A. Voronkov (eds.) Proceedings of LPAR-13, Lecture Notes in Artificial Intelligence, vol. 4246, pp. 512–526. Springer, Berlin (2006). https://doi.org/10.1007/11916277_35
Baumgartner, P.: Hyper tableaux – the next generation. In: H. de Swart (ed.) Proceedings of TABLEAUX-7, Lecture Notes in Artificial Intelligence, vol. 1397, pp. 60–76. Springer, Berlin (1998)
Baumgartner, P., Schmidt, R.A.: Blocking and other enhancements for bottom-up model generation methods. J. Autom. Reason. 64, 197–251 (2020). https://doi.org/10.1007/s10817-019-09515-1
Baumgartner, P., Tinelli, C.: The model evolution calculus as a first-order DPLL method. Artif. Intell. 172(4–5), 591–632 (2008). https://doi.org/10.1016/j.artint.2007.09.005
Baumgartner, P., Furbach, U., Niemelä, I.: Hyper tableaux. In: J.J. Alferes, L.M. Pereira, E. Orłowska (eds.) Proceedings of JELIA-5, Lecture Notes in Artificial Intelligence, vol. 1126, pp. 1–17. Springer, Berlin (1996)
Baumgartner, P., Fuchs, A., Tinelli, C.: Implementing the model evolution calculus. Int. J. Artif. Intell. Tools 15(1), 21–52 (2006). https://doi.org/10.1142/S0218213006002552
Baumgartner, P., Furbach, U., Pelzer, B.: The hyper tableaux calculus with equality and an application to finite model computation. J. Log. Comput. 20(1), 77–109 (2008)
Bernays, P., Schönfinkel, M.: Zum Entscheidungsproblem der mathematischen Logik. Math. Ann. 99, 342–372 (1928). https://doi.org/10.1007/BF01459101
Bonacina, M.P.: On conflict-driven reasoning. In: N. Shankar, B. Dutertre (eds.) Proceedings of the 6th Workshop on Automated Formal Methods (AFM) May 2017, Kalpa Publications, vol. 5, pp. 31–49. EasyChair (2018). https://doi.org/10.29007/spwm
Bonacina, M.P., Dershowitz, N.: Canonical ground Horn theories. In: A. Voronkov, C. Weidenbach (eds.) Programming Logics: Essays in Memory of H. Ganzinger, Lecture Notes in Computer Science, vol. 7797, pp. 35–71. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-37651-1_3
Bonacina, M.P., Winkler, S.: SGGS decision procedures. In: N. Peltier, V. Sofronie-Stokkermans (eds.) Proceedings of IJCAR-10, Lecture Notes in Artificial Intelligence, vol. 12166, pp. 356–374. Springer, Berlin (2020). https://doi.org/10.1007/978-3-030-51074-9_20
Bonacina, M.P., Hsiang, J.: On the modelling of search in theorem proving - towards a theory of strategy analysis. Inf. Comput. 147, 171–208 (1998). https://doi.org/10.1006/inco.1998.2739
Bonacina, M.P., Plaisted, D.A.: Semantically-guided goal-sensitive reasoning: model representation. J. Autom. Reason. 56(2), 113–141 (2016). https://doi.org/10.1007/s10817-015-9334-4
Bonacina, M.P., Plaisted, D.A.: Semantically-guided goal-sensitive reasoning: inference system and completeness. J. Autom. Reason. 59(2), 165–218 (2017). https://doi.org/10.1007/s10817-016-9384-2
Bonacina, M.P., Lynch, C.A., de Moura, L.: On deciding satisfiability by theorem proving with speculative inferences. J. Autom. Reason. 47(2), 161–189 (2011). https://doi.org/10.1007/s10817-010-9213-y
Bonacina, M.P., Furbach, U., Sofronie-Stokkermans, V.: On first-order model-based reasoning. In: N. Martí-Oliet, P. Olveczky, C. Talcott (eds.) Logic, Rewriting, and Concurrency: Essays Dedicated to José Meseguer, Lecture Notes in Computer Science, vol. 9200, pp. 181–204. Springer, Berlin (2015). https://doi.org/10.1007/978-3-319-23165-5_8
Bonacina, M.P., Graham-Lengrand, S., Shankar, N.: Conflict-driven satisfiability for theory combination: transition system and completeness. J. Autom. Reason. 64(3), 579–609 (2020). https://doi.org/10.1007/s10817-018-09510-y
Bonacina, M.P., Graham-Lengrand, S., Shankar, N.: Conflict-driven satisfiability for theory combination: lemmas, modules, and proofs. J. Autom. Reason. 66(1), 43–91 (2022). https://doi.org/10.1007/s10817-021-09606-y
Caferra, R., Leitsch, A., Peltier, N.: Automated Model Building. Kluwer Academic Publishers, Oxford (2004). https://doi.org/10.1007/978-1-4020-2653-9
Ceri, S., Gottlob, G., Tanca, L.: What you always wanted to know about Datalog (and never dared to ask). IEEE Trans. Knowl. Data Eng. 1(1), 146–166 (1989). https://doi.org/10.1109/69.43410
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem-proving. C. ACM 5(7), 394–397 (1962). https://doi.org/10.1145/368273.368557
de Moura, L., Jovanović, D.: A model-constructing satisfiability calculus. In: R. Giacobazzi, J. Berdine, I. Mastroeni (eds.) Proceedings of VMCAI-14, Lecture Notes in Computer Science, vol. 7737, pp. 1–12. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-35873-9_1
de Nivelle, H., de Rijke, M.: Deciding the guarded fragments by resolution. J. Symb. Comput. 35(1), 21–58 (2003). https://doi.org/10.1016/S0747-7171(02)00092-5
Dershowitz, N.: Orderings for term-rewriting systems. Theoret. Comput. Sci. 17(3), 279–301 (1982). https://doi.org/10.1016/0304-3975(82)90026-3
Dershowitz, N., Plaisted, D.A.: Rewriting. In: J.A. Robinson, A. Voronkov (eds.) Handbook of Automated Reasoning, vol. 1, chap. 9, pp. 535–610. Elsevier (2001). https://doi.org/10.1016/b978-044450813-3/50011-4
Downey, P.J., Sethi, R., Tarjan, R.E.: Variations on the common subexpression problem. J. ACM 27(4), 758–771 (1980). https://doi.org/10.1145/322217.322228
Duarte, A., Korovin, K.: Implementing superposition in iProver (system description). In: N. Peltier, V. Sofronie-Stokkermans (eds.) Proceedings of IJCAR-10, Lecture Notes in Computer Science, vol. 12167, pp. 388–397. Springer, Berlin (2020). https://doi.org/10.1007/978-3-030-51054-1_24
Fermüller, C.G., Leitsch, A.: Model building by resolution. In: E. Börger, G. Jäger, H. Kleine Büning, S. Martini (eds.) Proceedings of CSL-6, Lecture Notes in Computer Science, vol. 702, pp. 134–148. Springer, Berlin (1993). https://doi.org/10.1007/3-540-56992-8_10
Fermüller, C.G., Salzer, G.: Ordered paramodulation and resolution as decision procedure. In: A. Voronkov (ed.) Proceedings of LPAR-4, Lecture Notes in Artificial Intelligence, vol. 698, pp. 122–133. Springer, Berlin (1993). https://doi.org/10.1007/3-540-56944-8_47
Fermüller, C.G., Leitsch, A., Hustadt, U., Tammet, T.: Resolution decision procedures. In: Handbook of Automated Reasoning, pp. 1791–1849. Elsevier and MIT Press, Amsterdam and Cambridge (2001). https://doi.org/10.1016/b978-044450813-3/50027-8
Fiori, A., Weidenbach, C.: SCL clause learning from simple models. In: P. Fontaine (ed.) Proceedings of CADE-27, Lecture Notes in Artificial Intelligence, vol. 11716, pp. 233–249. Springer, Berlin (2019). https://doi.org/10.1007/978-3-030-29436-6_14
Fontaine, P.: Combinations of theories for decidable fragments of first-order logic. In: S. Ghilardi, R. Sebastiani (eds.) Proceedings of FroCoS-7, Lecture Notes in Artificial Intelligence, vol. 5749, pp. 263–278. Springer, Berlin (2009). https://doi.org/10.1007/978-3-642-04222-5_16
Ganzinger, H., Korovin, K.: New directions in instantiation-based theorem proving. In: Proceedings of LICS-18, pp. 55–64. IEEE (2003)
Giesl, J., Aschermann, C., Brockschmidt, M., Emmes, F., Frohn, F., Fuhs, C., Hensel, J., Otto, C., Plücker, M., Schneider-Kamp, P., Ströder, T., Swiderski, S., Thiemann, R.: Analyzing program termination and complexity automatically with AProVE. J. Autom. Reason. 58(1), 3–31 (2017). https://doi.org/10.1007/s10817-016-9388-y
Grädel, E., Kolaitis, P.G., Vardi, M.Y.: On the decision problem for two-variable first-order logic. Bull. Symb. Log. 3, 53–69 (1997). https://doi.org/10.2307/421196
Hsiang, J., Rusinowitch, M.: Proving refutational completeness of theorem proving strategies: the transfinite semantic tree method. J. ACM 38(3), 559–587 (1991). https://doi.org/10.1145/116825.116833
Hustadt, U., Schmidt, R.A., Georgieva, L.: A survey of decidable first-order fragments and description logics. J. of Relational Methods in Computer Science 1, 251–276 (2004). https://doi.org/10.1007/978-3-642-37651-1_15
Joyner, W.H., Jr.: Resolution strategies as decision procedures. J. ACM 23(3), 398–417 (1976). https://doi.org/10.1145/321958.321960
Knuth, D.E., Bendix, P.B.: Simple word problems in universal algebras. In: J. Leech (ed.) Proceedings of the Conference on Computational Problems in Abstract Algebras, pp. 263–298. Pergamon Press (1970). https://doi.org/10.1016/B978-0-08-012975-4
Korovin, K.: Inst-Gen – a modular approach to instantiation-based automated reasoning. In: A. Voronkov, C. Weidenbach (eds.) Programming Logics: Essays in Memory of H. Ganzinger, Lecture Notes in Computer Science, vol. 7797, pp. 239–270. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-37651-1_10
Korovin, K.: Non-cyclic sorts for first-order satisfiability. In: P. Fontaine, C. Ringeissen, R.A. Schmidt (eds.) Proceedings of FroCoS-9, Lecture Notes in Artificial Intelligence, vol. 8152, pp. 214–228. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-40885-4_15
Korp, M., Sternagel, C., Zankl, H., Middeldorp, A.: Tyrolean Termination Tool 2. In: R. Treinen (ed.) Proceedings of RTA-20, Lecture Notes in Computer Science, vol. 5595, pp. 295–304. Springer, Berlin (2009). https://doi.org/10.1007/978-3-642-02348-4_21
Kounalis, E., Rusinowitch, M.: On word problems in Horn theories. In: E. Lusk, R. Overbeek (eds.) Proceedings of CADE-9, Lecture Notes in Computer Science, vol. 310, pp. 527–537. Springer, Berlin (1988). https://doi.org/10.1007/BFb0012854
Kounalis, E., Rusinowitch, M.: On word problems in Horn theories. J. Symb. Comput. 11(1–2), 113–128 (1991). https://doi.org/10.1016/S0747-7171(08)80134-4
Kovács, L., Voronkov, A.: First-order theorem proving and Vampire. In: N. Sharygina, H. Veith (eds.) Proceedings of CAV-25, Lecture Notes in Computer Science, vol. 8044, pp. 1–35. Springer, Berlin (2013). https://doi.org/10.1007/978-3-642-39799-8_1
Lamotte-Schubert, M., Weidenbach, C.: BDI: a new decidable clause class. J. Log. Comput. 27(2), 441–468 (2017). https://doi.org/10.1093/logcom/exu074
Lee, S.J., Plaisted, D.A.: Eliminating duplication with the hyperlinking strategy. J. Autom. Reason. 9, 25–42 (1992)
Ludwig, M., Waldmann, U.: An extension of the Knuth-Bendix ordering with LPO-like properties. In: N. Dershowitz, A. Voronkov (eds.) Proceedings of LPAR-14, Lecture Notes in Artificial Intelligence, vol. 4790, pp. 348–362. Springer, Berlin (2007). https://doi.org/10.1007/978-3-540-75560-9_26
Manthey, R., Bry, F.: SATCHMO: a theorem prover implemented in Prolog. In: E. Lusk, R. Overbeek (eds.) Proceedings of CADE-9, Lecture Notes in Computer Science, vol. 310, pp. 415–434. Springer, Berlin (1988). https://doi.org/10.1007/BFb0012847
Marques Silva, J., Lynce, I., Malik, S.: Conflict-driven clause learning SAT solvers. In: A. Biere, M. Heule, H. Van Maaren, T. Walsh (eds.) Handbook of Satisfiability, Frontiers in Artificial Intelligence and Applications, vol. 185, pp. 131–153. IOS Press (2009). https://doi.org/10.3233/978-1-58603-929-5-131
McMillan, K.L.: Developing distributed protocols with Ivy. Slides from http://vmcaischool19.tecnico.ulisboa.pt/ (2019)
Mei, H., Qin, G., Xu, M., Esiner, J.: Neural Datalog through time: informed temporal modeling via logical specification. In: H. Daumé III, A. Singh (eds.) Proceedings of ICML-37, Proceedings of Machine Learning Research, vol. 119, pp. 6808–6819 (2020)
Navarro, J.A., Voronkov, A.: Proof systems for effectively propositional logic. In: A. Armando, P. Baumgartner, G. Dowek (eds.) Proceedings of IJCAR-4, Lecture Notes in Artificial Intelligence, vol. 5195, pp. 426–440. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-71070-7_36
Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. J. ACM 27(2), 356–364 (1980). https://doi.org/10.1145/322186.322198
Nicolas, J.M.: Logic for improving integrity checking in relational databases. Acta Infor. 18(3), 227–253 (1982). https://doi.org/10.1145/322186.322198
Nieuwenhuis, R., Oliveras, A.: Fast congruence closure and extensions. Inf. Comput. 205(4), 557–580 (2007). https://doi.org/10.1016/j.ic.2006.08.009
Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT modulo theories: from an abstract Davis-Putnam-Logemann-Loveland procedure to DPLL(T). J. ACM 53(6), 937–977 (2006)
Padon, O., McMillan, K.L., Panda, A., Sagiv, M., Shoham, S.: Ivy: Safety verification by interactive generalization. SIGPLAN Notices 51(6), 614–630 (2016). https://doi.org/10.1145/2980983.2908118
Piskac, R., de Moura, L., Bjørner, N.: Deciding effectively propositional logic using DPLL and substitution sets. J. Autom. Reason. 44(4), 401–424 (2010). https://doi.org/10.1007/978-3-540-71070-7_35
Plaisted, D.A., Zhu, Y.: The Efficiency of Theorem Proving Strategies. Friedr. Vieweg & Sohn, Berlin (1997)
Plaisted, D.A., Zhu, Y.: Ordered semantic hyper linking. J. Autom. Reason. 25, 167–217 (2000)
Ramsey, F.P.: On a problem in formal logic. Proc. Lond. Math. Soc. 30, 264–286 (1930). https://doi.org/10.1112/plms/s2-30.1.264
Reger, G., Suda, M., Voronkov, A.: Playing with AVATAR. In: A.P. Felty, A. Middeldorp (eds.) Proceedings of CADE-25, Lecture Notes in Artificial Intelligence, vol. 9195, pp. 399–415. Springer, Berlin (2015). https://doi.org/10.1007/978-3-319-21401-6_28
Riazanov, A.: Implementing an efficient theorem prover. Ph.D. thesis, Department of Computer Science, The University of Manchester (2003)
Robinson, J.A.: Automatic deduction with hyper-resolution. Int. J. of Computer Mathematics 1, 227–234 (1965). https://doi.org/10.2307/2272384
Robinson, J.A.: A machine oriented logic based on the resolution principle. J. ACM 12(1), 23–41 (1965). https://doi.org/10.1145/321250.321253
Rubio, A.: A fully syntactic AC-RPO. Inf. Comput. 178(2), 515–533 (2002). https://doi.org/10.1006/inco.2002.3158
Schulz, S., Cruanes, S., Vukmirovic, P.: Faster, higher, stronger: E 2.3. In: P. Fontaine (ed.) Proceedings of CADE-27, Lecture Notes in Computer Science, vol. 11716, pp. 495–507. Springer, Berlin (2019). https://doi.org/10.1007/978-3-030-29436-6_29
Scott, D.: A decision method for validity of sentences in two variables. J. Symb. Log. 27, 377–377 (1962)
Slagle, J.R.: Automatic theorem proving with renamable and semantic resolution. J. ACM 14(4), 687–697 (1967). https://doi.org/10.1145/321420.321428
Sutcliffe, G.: The TPTP Problem Library and Associated Infrastructure. From CNF to TH0, TPTP v6.4.0. J. Autom. Reason. 59(4), 483–502 (2017). https://doi.org/10.1007/s10817-009-9143-8
van Gelder, A., Topor, R.W.: Safety and translation of relational calculus queries. ACM Trans. Database Syst. 16(2), 235–278 (1991). https://doi.org/10.1145/114325.103712
Waldmann, U., Schmidt, R.A.: Modal tableau systems with blocking and congruence closure. In: H. de Nivelle (ed.) Proceedings of TABLEAUX-24, Lecture Notes in Artificial Intelligence, vol. 9323, pp. 38–53. Springer, Berlin (2015). https://doi.org/10.1007/978-3-319-24312-2_4
Weidenbach, C.: Combining superposition, sorts and splitting. In: A. Robinson, A. Voronkov (eds.) Handbook of Automated Reasoning, vol. 2, pp. 1965–2012. Elsevier, Amsterdam (2001). https://doi.org/10.1016/b978-044450813-3/50029-1
Acknowledgements
We thank Konstantin Korovin for the iProver (v2.8) code for basic data structures, term indexing, and type inference, imported in Koala. Parts of this work were done while the first author was visiting the Simons Institute for the Theory of Computing, the Leibniz Zentrum für Informatik at Schloss Dagstuhl, and the Computer Science Laboratory of SRI International, whose support is greatly appreciated.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This research was funded in part by grant “Ricerca di base 2017” of the Università degli Studi di Verona. Authors are listed alphabetically.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Bonacina, M.P., Winkler, S. Semantically-Guided Goal-Sensitive Reasoning: Decision Procedures and the Koala Prover. J Autom Reasoning 67, 6 (2023). https://doi.org/10.1007/s10817-022-09656-w
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10817-022-09656-w