Skip to main content

Variant-Based Satisfiability in Initial Algebras

  • Conference paper
  • First Online:

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 596))

Abstract

Although different satisfiability decision procedures can be combined by algorithms such as those of Nelson-Oppen or Shostak, current tools typically can only support a finite number of theories to use in such combinations. To make SMT solving more widely applicable, generic satisfiability algorithms that can allow a potentially infinite number of decidable theories to be user-definable, instead of needing to be built in by the implementers, are highly desirable. This work studies how folding variant narrowing, a generic unification algorithm that offers good extensibility in unification theory, can be extended to a generic variant-based satisfiability algorithm for the initial algebras of its user-specified input theories when such theories satisfy Comon-Delaune’s finite variant property (FVP) and some extra conditions. Several, increasingly larger infinite classes of theories whose initial algebras enjoy decidable variant-based satisfiability are identified and illustrated with examples.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Notes

  1. 1.

    Roughly, u is an EB-variant of a term t if u is the EB-canonical form of a substitution instance, \(t \theta \), of t (for a more careful definition see Definition 5). Therefore, the variants of t are intuitively the “irreducible patterns” to which t can be symbolically evaluated by the rules E modulo B. \(E \uplus B\) has the finite variant property if there is a finite set of most general variants, which are computed by folding variant narrowing.

  2. 2.

    For a discussion of similar but not exactly equivalent versions of the variant notion see [23]. Here I follow the formulation in [42].

  3. 3.

    Such decidable QF satisfiability is of course equivalent to the decidability of whether a sentence in the existential closure of such QF formulas belongs to the theory of \(T_{\varSigma /E'}\), which is how the decidability property is actually stated in [31].

  4. 4.

    By the assumption that \(\varSigma \)’s poset of sorts \((S,\leqslant )\) is locally finite, up to variable renaming the specializations of a finite set of variables form always a finite set. When \(\phi ' \gamma \not \in T_{\varOmega ^{\wedge }}(X)\) we may still have \(\phi ' \gamma \rho \in T_{\varOmega ^{\wedge }}(X)\) for some variable specialization \(\rho \) because a constructor symbol \(f:w \rightarrow s\) may have a subsort-overloaded typing \(f:w' \rightarrow s'\) that is not a constructor but a defined symbol (see Footnote 5 below for an example).

  5. 5.

    The following example illustrates all the issues involved. In the FVP decomposition \(\mathcal {Z}_{+}\) of the integers with addition of Example 10 in Sect. 6.2, the signature \(\varOmega \) of constructors contains two typings for \(+\), namely, \(\_+\_ : Nat \; Nat \rightarrow Nat \) and \(\_+\_ : NzNat \; NzNat \rightarrow NzNat \), with \( NzNat \) the subsort of non-zero naturals, and both operations associative-commutative, and having 0 as unit element (\( ACU \)). Instead, the typing \(\_+\_ : Int \; Int \rightarrow Int \) (also ACU) is not a constructor, but a function defined by equations. Let \(\phi \) be the equation \(x+y=x'+y'\), where all variables have sort \( Int \). It has the variant \((x+y=x'+y', id )\), and \(\gamma =\{x \mapsto x',y \mapsto y'\}\) is one of the ACU-unifiers of \(x+y=x'+y'\). Case (1) fails because \(x'+y'\) is not an \(\varOmega \)-term. However, the variable specialization \(\rho =\{x' \mapsto x''\!:\! Nat ,y' \mapsto y''\!:\! Nat \}\) yields the constructor unifier \( id \gamma \rho = \{x \mapsto x''\!:\! Nat ,y \mapsto y''\!:\! Nat , x' \mapsto x''\!:\! Nat ,y' \mapsto y''\!:\! Nat \}\) because now \( x''\!:\! Nat +y''\!:\! Nat \) is an \(\varOmega \)-term (property (ii) holds) and property (iii) also holds. Furthermore, \(\rho \) is maximal with properties (ii) and (iii). For example, \(\rho > \tau \) for \(\tau =\{x' \mapsto x'''\!:\! NzNat ,y' \mapsto y'''\!:\! NzNat \}\), so that the less general unifier \( id \gamma \tau \) is unnecessary.

  6. 6.

    Using a lazy \( DPLL (T)\) solver (see, e.g., [13]) we do not have to assume that \(\varphi \) is in DNF: the \( DPLL (T)\) solver will efficiently extract from \(\varphi \) the appropriate conjunctions of T-literals to check for satisfiability.

  7. 7.

    A complete set of constructor variants for a term t is obtained by inspecting each \((u,\theta ) \in [\![t ]\!]_{R,B}\) and either: (1) choosing \((u,\theta )\) when \(u \in T_{\varOmega }(X)\), or otherwise (2) choosing those \((u\rho ,\theta \rho )\) such that \(\rho \) is a variable specialization and: (i) \(u \rho \in T_{\varOmega }(X)\), (ii) \((u\rho ,\theta \rho )\) is a variant of t, and (iii) \(\rho \) is maximal with properties (i)–(ii).

  8. 8.

    An order-sorted version \(\mathcal {N}_{+}\) of \(\mathcal {N}^{u}_{+}\) is obtained by adding a subsort inclusion \( NzNat < Nat \), where \( NzNat \) denotes the non-zero naturals, typing 1 with sort \( NzNat \), and adding the typing \(\_+\_ : NzNat \; NzNat \rightarrow NzNat \). \(\mathcal {N}_{+}\) is also OS-compact for the exact same reasons. A reduction of satisfiability in the initial agebra of \(\mathcal {N}_{+}\) to satisfiability in the initial algebra of \(\mathcal {N}^{u}_{+}\) is discussed in [69]. \(\mathcal {N}_{+}\) makes the language more expressive: instead of stating \(x \not = 0\) we can just type x as having sort \( NzNat \).

  9. 9.

    See [69] for a version \(\mathcal {N}_{+,>}\) of natural Pressburger arithmetic in which \(>\) is only explictly defined in the positive case.

  10. 10.

    Note the interesting phenomenon, impossible in a many-sorted setting, that a subsort-polymorphic symbol like s or p can be a constructor for some typings and a defined symbol for other typings.

  11. 11.

    See [69] for an even simpler version \(\mathcal {Z}_{+,>}\) of integer Presburger arithmetic in which \(>\) is only explicitly defined in the positive case.

  12. 12.

    This violates the general assumption that sorts are non-empty; however, parameter sorts instantiated to target theories with non-empty sorts become non-empty.

  13. 13.

    There is no real loss of generality because we can make it so by renaming its sorts and operations. In fact, disjointness must in any case be enforced by the “pushout construction” for parameter instantiation, implicitly described in what follows for this simple class of uni-parametric parameterized theories.

  14. 14.

    For more details about sufficient completeness of parameterized OS theories and methods for checking it see [67].

  15. 15.

    For combining variant-based decision procedures with other decision procedures, the order-sorted NO combination method in [82] will be particulary useful.

References

  1. Alpuente, M., Escobar, S., Iborra, J.: Termination of narrowing revisited. Theor. Comput. Sci. 410(46), 4608–4625 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  2. Alpuente, M., Escobar, S., Iborra, J.: Modular termination of basic narrowing and equational unification. Log. J. IGPL 19(6), 731–762 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  3. Aoto, T., Stratulat, S.: Decision procedures for proving inductive theorems without induction. In: Proceedings of PPDP2014, pp. 237–248. ACM (2014)

    Google Scholar 

  4. Armando, A., Bonacina, M.P., Ranise, S., Schulz, S.: New results on rewrite-based satisfiability procedures. ACM Trans. Comput. Log. 10(1) (2009)

    Google Scholar 

  5. Armando, A., Castellini, C., Giunchiglia, E.: SAT-based procedures for temporal reasoning. In: Biundo, S., Fox, M. (eds.) ECP 1999. LNCS, vol. 1809, pp. 97–108. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  6. Armando, A., Ranise, S., Rusinowitch, M.: A rewriting approach to satisfiability procedures. Inf. Comput. 183(2), 140–164 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  7. Audemard, G., Bertoli, P.G., Cimatti, A., Kornilowicz, A., Sebastiani, R.: A SAT based approach for solving formulas over boolean and linear mathematical propositions. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, pp. 195–210. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  8. Baader, F., Schulz, K.: Unification in the union of disjoint equational theories: combining decision procedures. J. Symbolic Comput. 21, 211–243 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  9. Baader, F., Schulz, K.U.: Combination techniques and decision problems for disunification. Theor. Comput. Sci. 142(2), 229–255 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  10. Baader, F., Schulz, K.U.: Combining constraint solving. In: Comon, H., Marché, C., Treinen, R. (eds.) CCL 1999. LNCS, vol. 2002, pp. 104–158. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  11. Bae, K., Meseguer, J.: Infinite-state model checking of LTLR formulas using narrowing. In: Escobar, S. (ed.) WRLA 2014. LNCS, vol. 8663, pp. 113–129. Springer, Heidelberg (2014)

    Google Scholar 

  12. Barrett, C., Shikanian, I., Tinelli, C.: An abstract decision procedure for satisfiability in the theory of inductive data types. J. Satisfiability Boolean Model. Comput. 3, 21–46 (2007)

    MathSciNet  MATH  Google Scholar 

  13. Barrett, C., Tinelli, C.: Satisfiability modulo theories. In: Clarke, E., Henzinger, T., Veith, H. (eds.) Handbook of Model Checking. Springer (2017, to appear)

    Google Scholar 

  14. Barrett, C.W., Dill, D.L., Stump, A.: Checking satisfiability of first-order formulas by incremental translation to SAT. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 236–249. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  15. Basin, D.A., Ganzinger, H.: Automated complexity analysis based on ordered resolution. J. ACM 48(1), 70–109 (2001)

    Article  MathSciNet  Google Scholar 

  16. Bobot, F., Conchon, S., Contejean, E., Lescuyer, S.: Implementing polymorphism in SMT solvers. In: Proceedings of 6th International Workshop on Satisfiability Modulo Theories and 1st International Workshop on Bit-Precise Reasoning. SMT 2008/BPR 2008, pp. 1–5. ACM (2008)

    Google Scholar 

  17. Bonacina, M.P., Echenim, M.: On variable-inactivity and polynomial \({\cal {T}}\)-satisfiability procedures. J. Log. Comput. 18(1), 77–96 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  18. Lynch, C., Gero, K.A., Narendran, P., Bouchard, C.: On forward closure and the finite variant property. In: Fontaine, P., Ringeissen, C., Schmidt, R.A. (eds.) FroCoS 2013. LNCS, vol. 8152, pp. 327–342. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  19. Boudet, A.: Combining unification algorithms. J. Symb. Comput. 16(6), 597–626 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  20. Bradley, A.R., Manna, Z.: The Calculus of Computation - Decision Procedures with Applications to Verification. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  21. Bryant, R.E., Lahiri, S.K., Seshia, S.A.: Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 78–92. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Chadha, R., Kremer, S., Ciobâcă, Ş.: Automated verification of equivalence properties of cryptographic protocols. In: Seidl, H. (ed.) Programming Languages and Systems. LNCS, vol. 7211, pp. 108–127. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  23. Cholewa, A., Meseguer, J., Escobar, S.: Variants of variants and the finite variant property. Technical report, CS Department University of Illinois at Urbana-Champaign, February 2014. http://hdl.handle.net/2142/47117

  24. Ciobaca, S.: Verification of composition of security protocols with applications to electronic voting. Ph.D. thesis, ENS Cachan (2011)

    Google Scholar 

  25. Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C. (eds.): All About Maude. LNCS, vol. 4350. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  26. Cohen, P.: Set Theory and the Continuum Hypothesis. W.A. Benjamin, New York (1966)

    MATH  Google Scholar 

  27. Comon, H., Dauchet, M., Gilleron, R., Löding, C., Jacquemard, F., Lugiez, D., Tison, S., Tommasi, M.: Tree automata techniques and applications (2007). http://www.grappa.univ-lille3.fr/tata. 12th October 2007

  28. Comon, H., Lescanne, P.: Equational problems and disunification. J. Symbolic Comput. 7, 371–425 (1989)

    Article  MathSciNet  MATH  Google Scholar 

  29. Comon, H.: Complete axiomatizations of some quotient term algebras. Theor. Comput. Sci. 118(2), 167–191 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  30. Comon, H., Delor, C.: Equational formulae with membership constraints. Inf. Comput. 112(2), 167–216 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  31. Delaune, S., Comon-Lundh, H.: The finite variant property: how to get rid of some algebraic properties. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 294–307. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  32. Dershowitz, N., Jouannaud, J.P.: Rewrite systems. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 243–320. North-Holland, Amsterdam (1990)

    Google Scholar 

  33. Dovier, A., Piazza, C., Rossi, G.: A uniform approach to constraint-solving for lists, multisets, compact lists, and sets. ACM Trans. Comput. Log. 9(3) (2008)

    Google Scholar 

  34. Dovier, A., Policriti, A., Rossi, G.: A uniform axiomatic view of lists, multisets, and sets, and the relevant unification algorithms. Fundam. Inf. 36(2–3), 201–234 (1998)

    MathSciNet  MATH  Google Scholar 

  35. Dross, C., Conchon, S., Kanig, J., Paskevich, A.: Adding Decision Procedures to SMT Solvers using Axioms with Triggers. Journal of Automated Reasoning (2016) (accepted for publication). https://hal.archives-ouvertes.fr/hal-01221066

  36. Echenim, M., Peltier, N.: An instantiation scheme for satisfiability modulo theories. J. Autom. Reasoning 48(3), 293–362 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  37. Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 1. Springer, Heidelberg (1985)

    Book  MATH  Google Scholar 

  38. Eker, S.: Fast sort computations for order-sorted matching and unification. In: Agha, G., Danvy, O., Meseguer, J. (eds.) Formal Modeling: Actors, Open Systems, Biological Systems. LNCS, vol. 7000, pp. 299–314. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  39. Lynch, C.A., Narendran, P., Escobar, S., Meseguer, J., Liu, Z., Santiago, S., Kapur, D., Sasse, R., Meadows, C., Erbatur, S.: Asymmetric unification: a new unification paradigm for cryptographic protocol analysis. In: Bonacina, M.P. (ed.) CADE 2013. LNCS, vol. 7898, pp. 231–248. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  40. Escobar, S., Meadows, C., Meseguer, J.: Maude-NPA: cryptographic protocol analysis modulo equational properties. In: Aldini, A., Barthe, G., Gorrieri, R. (eds.) FOSAD 2007/2008/2009 Tutorial Lectures. LNCS, vol. 5705, pp. 1–50. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  41. Escobar, S., Sasse, R., Meseguer, J.: Folding variant narrowing and optimal variant termination. In: Ölveczky, P.C. (ed.) WRLA 2010. LNCS, vol. 6381, pp. 52–68. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  42. Escobar, S., Sasse, R., Meseguer, J.: Folding variant narrowing and optimal variant termination. J. Algebraic Log. Program. 81, 898–928 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  43. Falke, S., Kapur, D.: Rewriting induction + Linear arithmetic = Decision procedure. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS, vol. 7364, pp. 241–255. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  44. Fay, M.: First-order unification in an equational theory. In: Proceedings of the 4th Workshop on Automated Deduction, pp. 161–167 (1979)

    Google Scholar 

  45. Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonizer and Solver. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 246–249. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  46. Flanagan, C., Joshi, R., Ou, X., Saxe, J.B.: Theorem proving using lazy proof explication. In: Hunt Jr., W.A., Somenzi, F. (eds.) CAV 2003. LNCS, vol. 2725, pp. 355–367. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  47. Gallier, J.H., Snyder, W.: Complete sets of transformations for general E-unification. Theor. Comput. Sci. 67(2–3), 203–260 (1989). http://dx.doi.org/10.1016/0304-3975(89)90004--2

    Google Scholar 

  48. Giesl, J., Kapur, D.: Decidable classes of inductive theorems. In: Goré, R.P., Leitsch, A., Nipkow, T. (eds.) IJCAR 2001. LNCS (LNAI), vol. 2083, pp. 469–484. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  49. Giesl, J., Kapur, D.: Deciding inductive validity of equations. In: Baader, F. (ed.) CADE 2003. LNCS (LNAI), vol. 2741, pp. 17–31. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  50. Goguen, J., Burstall, R.: Institutions: abstract model theory for specification and programming. J. ACM 39(1), 95–146 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  51. Goguen, J., Meseguer, J.: Order-sorted algebra I. Theor. Comput. Sci. 105, 217–273 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  52. Goguen, J., Meseguer, J.: Models and equality for logical programming. In: Ehrig, H., Kowalski, R., Levi, G., Montanari, U. (eds.) TAPSOFT’87. LNCS, vol. 250, pp. 1–22. Springer, Heidelberg (1987)

    Google Scholar 

  53. Escobar, S., Meseguer, J., Santiago, S., Meadows, C., González-Burgueño, A.: Analysis of the IBM CCA security API protocols in Maude-NPA. In: Chen, L., Mitchell, C. (eds.) SSR 2014. LNCS, vol. 8893, pp. 111–130. Springer, Heidelberg (2014)

    Google Scholar 

  54. Gramlich, B.: Modularity in term rewriting revisited. Theor. Comput. Sci. 464, 3–19 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  55. Hendrix, J., Meseguer, J., Clavel, M.: A sufficient completeness reasoning tool for partial specifications. In: Giesl, J. (ed.) RTA 2005. LNCS, vol. 3467, pp. 165–174. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  56. Meseguer, J., Ohsaki, H., Hendrix, J.: A sufficient completeness checker for linear order-sorted specifications modulo axioms. In: Furbach, U., Shankar, N. (eds.) IJCAR 2006. LNCS (LNAI), vol. 4130, pp. 151–155. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  57. Hullot, J.M.: Canonical forms and unification. In: Bibel, W., Kowalski, R. (eds.) 5th Conference on Automated Deduction. LNCS, vol. 87, pp. 318–334. Springer, Heidelberg (1980)

    Google Scholar 

  58. Jouannaud, J.P., Kirchner, C., Kirchner, H.: Incremental construction of unification algorithms in equational theories. In: Diaz, J. (ed.) Automata, Languages and Programming. LNCS, vol. 154, pp. 361–373. Springer, Heidelberg (1983)

    Chapter  Google Scholar 

  59. Jouannaud, J.P., Kirchner, H.: Completion of a set of rules modulo a set of equations. SIAM J. Comput. 15, 1155–1194 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  60. Kapur, D., Narendran, P.: Complexity of unification problems with associative-commutative operators. J. Autom. Reasoning 9(2), 261–288 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  61. Ringeissen, C., Tran, D.-K., Ranise, S., Kirchner, H.: On superposition-based satisfiability procedures and their combination. In: Van Hung, D., Wirsing, M. (eds.) ICTAC 2005. LNCS, vol. 3722, pp. 594–608. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  62. Krstić, S., Goel, A., Tinelli, C., Grundy, J.: Combined satisfiability modulo parametric theories. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 602–617. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  63. Lynch, C., Morawska, B.: Automatic decidability. In: Proceedings of LICS 2002, p. 7. IEEE Computer Society (2002)

    Google Scholar 

  64. Tran, D.-K., Lynch, C.: Automatic decidability and combinability revisited. In: Pfenning, F. (ed.) CADE 2007. LNCS (LNAI), vol. 4603, pp. 328–344. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  65. Maher, M.J.: Complete axiomatizations of the algebras of finite, rational and infinite trees. In: Proceedings of LICS 1988, pp. 348–357. IEEE Computer Society (1988)

    Google Scholar 

  66. Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Parisi-Presicce, F. (ed.) WADT 1997. LNCS, vol. 1376, pp. 18–61. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  67. Meseguer, J.: Order-sorted parameterization and induction. In: Palsberg, J. (ed.) Semantics and Algebraic Specification. LNCS, vol. 5700, pp. 43–80. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  68. Meseguer, J.: Strict coherence of conditional rewriting modulo axioms. Technical report, C.S. Department, University of Illinois at Urbana-Champaign, August 2014. http://hdl.handle.net/2142/50288

  69. Meseguer, J.: Variant-based satisfiability in initial algebras. Technical report, University of Illinois at Urbana-Champaign, November 2015. http://hdl.handle.net/2142/88408

  70. Meseguer, J., Goguen, J.: Order-sorted algebra solves the constructor-selector, multiple representation and coercion problems. Inf. Comput. 103(1), 114–158 (1993)

    Article  MathSciNet  MATH  Google Scholar 

  71. Meseguer, J., Skeirik, S.: Equational formulas and pattern operations in initial order-sorted algebras. In: Falaschi, M., et al. (eds.) LOPSTR 2015. LNCS, vol. 9527, pp. 36–53. Springer, Heidelberg (2015). doi:10.1007/978-3-319-27436-2_3

    Chapter  Google Scholar 

  72. de Moura, L., Rueß, H.: Lemmas on demand for satisfiability solvers. In: Proceedings of the Fifth International Symposium on the Theory and Applications of Satisfiability Testing (SAT 2002), May 2002

    Google Scholar 

  73. Nelson, G., Oppen, D.C.: Simplification by cooperating decision procedures. ACM Trans. Program. Lang. Syst. 1(2), 245–257 (1979)

    Article  MATH  Google Scholar 

  74. Nelson, G., Oppen, D.C.: Fast decision procedures based on congruence closure. J. ACM 27(2), 356–364 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  75. 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)

    Article  MathSciNet  Google Scholar 

  76. Oppen, D.C.: Complexity, convexity and combinations of theories. Theor. Comput. Sci. 12, 291–302 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  77. Schmidt, B., Meier, S., Cremers, C.J.F., Basin, D.A.: Automated analysis of Diffie-Hellman protocols and advanced security properties. In: Proceedings of CSF 2012, pp. 78–94. IEEE (2012)

    Google Scholar 

  78. Shostak, R.E.: Deciding combinations of theories. J. ACM 31(1), 1–12 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  79. Slagle, J.R.: Automated theorem-proving for theories with simplifiers commutativity, and associativity. J. ACM 21(4), 622–642 (1974)

    Article  MathSciNet  MATH  Google Scholar 

  80. Snyder, W.: A Proof Theory for General Unification. Birkhäuser, Basel (1991)

    Book  MATH  Google Scholar 

  81. Stump, A., Barrett, C.W., Dill, D.L., Levitt, J.R.: A decision procedure for an extensional theory of arrays. In: Proceedings of LICS 2001, pp. 29–37. IEEE Computer Society (2001)

    Google Scholar 

  82. Tinelli, C., Zarba, C.G.: Combining decision procedures for sorted theories. In: Alferes, J.J., Leite, J. (eds.) JELIA 2004. LNCS (LNAI), vol. 3229, pp. 641–653. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  83. Toyama, Y.: Counterexamples to termination for the direct sum of term rewriting systems. Inf. Process. Lett. 25(3), 141–143 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  84. Yang, F., Escobar, S., Meadows, C., Meseguer, J., Narendran, P.: Theories of homomorphic encryption, unification, and the finite variant property. In: Proceedings of PPDP 2014, pp. 123–133. ACM (2014)

    Google Scholar 

Download references

Acknowledgements

I thank the organizers of FTSCS 2015 for inviting me to present these ideas in Paris, and the FTSCS participants for their interest and very helpful comments. I thank Andrew Cholewa, Steven Eker, Santiago Escobar, Ralf Sasse, and Carolyn Talcott for their contributions to the development of the theory and Maude implementation of folding variant narrowing. I have learned much about satisfiability from Maria-Paola Bonacina, Vijay Ganesh and Cesare Tinelli along many conversations; I am most grateful to them for their kind enlightenment. I also thank the following persons for their very helpful comments on earlier drafts: Maria-Paola Bonacina, Santiago Escobar, Dorel Lucau, Peter Ölveczky, Vlad Rusu, Ralf Sasse, Natarajan Shankar, and Cesare Tinelli. The pioneering work of Hubert Comon-Lundh about compact theories [29], and that of him with Stephanie Delaune about the finite variant property [31], have both been important sources of inspiration for the ideas presented here. This work has been partially supported by NSF Grant CNS 13-19109.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to José Meseguer .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing Switzerland

About this paper

Cite this paper

Meseguer, J. (2016). Variant-Based Satisfiability in Initial Algebras. In: Artho, C., Ölveczky, P. (eds) Formal Techniques for Safety-Critical Systems. FTSCS 2015. Communications in Computer and Information Science, vol 596. Springer, Cham. https://doi.org/10.1007/978-3-319-29510-7_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-29510-7_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-29509-1

  • Online ISBN: 978-3-319-29510-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics