Abstract
So far, results about variants, the finite variant property (FVP), and variant unification have been developed for equational theories \(E \cup B\) where B is a set of axioms having a finitary unification algorithm, and the equations E, oriented as rewrite rules \(\vec {E}\), are convergent modulo B. The extension to the case when B has an infinitary unification algorithm, for example because of non-commutative symbols having associative axioms, seems undeveloped. This paper takes a first step in developing such an extension. In particular, the relationships between the FVP and the boundedness properties, the identification of conditions on \(E \cup B\) ensuring FVP, and the effective computation of variants and variant unifiers are explored in detail. The extension from the finitary to the infinitary case includes both surprises and opportunities.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
If \(B = B_{0} \uplus U\), with \(B_{0}\) associativity and/or commutativity axioms, and U identity axioms, the B-preregularity notion can be broadened by requiring only that: (i) \(\varSigma \) is \(B_{0}\)-preregular in the standard sense that \( ls (u\rho )= ls (v\rho )\) for all \(u=v \in B_{0}\) and substitutions \(\rho \); and (ii) the axioms U oriented as rules \(\vec {U}\) are sort-decreasing in the sense explained in Sect. 2.2.
- 2.
Note that this class does not impose very strong restrictions on the rewrite rules of a convergent theory \(\vec {\mathcal {E}}\) that we want to check FB: all we would need is something like an “A-linearity” condition on rules \(l \rightarrow r\) in \(\vec {E}\). Call a sort s an A-sort (resp. A-reachable sort) if it is the sort of an associative but non-commutative symbol (resp. if there is a term t of sort s having a variable whose sort is an A-sort). Call \(l \rightarrow r\) A-linear iff any variable of l having an A-reachable sort appears only once in l.
- 3.
I am purposefully avoiding identity axioms because, thanks to the theory transformation \(\vec {\mathcal {E}} \mapsto \vec {\mathcal {E}}_{U}\) in [12] mapping a convergent \(\vec {\mathcal {E}}\) with identity axioms U into a semantically equivalent convergent \(\vec {\mathcal {E}}_{U}\) where such axioms have been transformed into rewrite rules, this involves no real loss of generality.
References
Alpuente, M., Cuenca-Ortega, A., Escobar, S., Meseguer, J.: A partial evaluation framework for order-sorted equational programs modulo axioms. J. Log. Algebraic Methods Program. 110, 100501 (2020)
Bae, K., Escobar, S., Meseguer, J.: Abstract logical model checking of infinite-state systems using narrowing. In: Rewriting Techniques and Applications (RTA 2013), LIPIcs, vol. 21, pp. 81–96. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2013)
Bouchard, C., Gero, K.A., Lynch, C., Narendran, P.: On forward closure and the finite variant property. In: Fontaine, P., Ringeissen, C., Schmidt, R.A. (eds.) FroCoS 2013. LNCS (LNAI), vol. 8152, pp. 327–342. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-40885-4_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
Ciobaca., S.: Verification of composition of security protocols with applications to electronic voting. Ph.D. thesis, ENS Cachan (2011)
Clavel, M., et al.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71999-1
Comon-Lundh, H., Delaune, S.: 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). https://doi.org/10.1007/978-3-540-32033-3_22
Dershowitz, N., Jouannaud, J.P.: Rewrite systems. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 243–320. North-Holland (1990)
van Deursen, A., Heering, J., Klint, P.: Language Prototyping: An Algebraic Specification Approach. World Scientific, Singapore (1996)
Durán, F., et al.: Programming and symbolic computation in Maude. J. Log. Algebr. Meth. Program. 110, 100497 (2020)
Durán, F., Eker, S., Escobar, S., Martí-Oliet, N., Meseguer, J., Talcott, C.: Associative unification and symbolic reasoning modulo associativity in Maude. In: Rusu, V. (ed.) WRLA 2018. LNCS, vol. 11152, pp. 98–114. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-99840-4_6
Durán, F., Lucas, S., Meseguer, J.: Termination modulo combinations of equational theories. In: Ghilardi, S., Sebastiani, R. (eds.) FroCoS 2009. LNCS (LNAI), vol. 5749, pp. 246–262. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04222-5_15
Durán, F., Meseguer, J.: Structured theories and institutions. Theor. Comput. Sci. 309(1–3), 357–380 (2003)
Ehrig, H., Mahr, B.: Fundamentals of Algebraic Specification 1. Springer, Heidelberg (1985)
Eker, S.: A pragmatic approach to implementing associative unification, unpublished manuscript. SRI International, circa (2015)
Escobar, S., Meadows, C., Meseguer, J.: Maude-NPA: cryptographic protocol analysis modulo equational properties. In: Aldini, A., Barthe, G., Gorrieri, R. (eds.) FOSAD 2007-2009. LNCS, vol. 5705, pp. 1–50. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03829-7_1
Escobar, S., Sasse, R., Meseguer, J.: Folding variant narrowing and optimal variant termination. J. Algebraic Logic Program. 81, 898–928 (2012)
Futatsugi, K., Diaconescu, R.: CafeOBJ Report. World Scientific, Singapore (1998)
Goguen, J., Meseguer, J.: Order-sorted algebra I: equational deduction for multiple inheritance, overloading, exceptions and partial operations. Theoret. Comput. Sci. 105, 217–273 (1992)
Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.P.: Introducing OBJ. In: Software Engineering with OBJ: Algebraic Specification in Action, pp. 3–167. Kluwer (2000)
Jouannaud, J.-P., Kirchner, C., Kirchner, H.: Incremental construction of unification algorithms in equational theories. In: Diaz, J. (ed.) ICALP 1983. LNCS, vol. 154, pp. 361–373. Springer, Heidelberg (1983). https://doi.org/10.1007/BFb0036921
Meier, S., Schmidt, B., Cremers, C., Basin, D.: The TAMARIN prover for the symbolic analysis of security protocols. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 696–701. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39799-8_48
Meseguer, J.: Order-sorted parameterization and induction. In: Palsberg, J. (ed.) Semantics and Algebraic Specification. LNCS, vol. 5700, pp. 43–80. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04164-8_4
Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoret. Comput. Sci. 96(1), 73–155 (1992)
Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Presicce, F.P. (ed.) WADT 1997. LNCS, vol. 1376, pp. 18–61. Springer, Heidelberg (1998). https://doi.org/10.1007/3-540-64299-4_26
Meseguer, J.: Variant-based satisfiability in initial algebras. Sci. Comput. Program. 154, 3–41 (2018)
Meseguer, J.: Generalized rewrite theories, coherence completion, and symbolic methods. J. Log. Algebr. Meth. Program. 110, 100483 (2020)
Meseguer, J., Skeirik, S.: Inductive reasoning with equality predicates, contextual rewriting and variant-based simplification. In: Escobar, S., Martí-Oliet, N. (eds.) WRLA 2020, LNCS vol. 12328, pp. 114–135 (2020)
Skeirik, S., Meseguer, J.: Metalevel algorithms for variant satisfiability. J. Log. Algebr. Meth. Program. 96, 81–110 (2018)
Skeirik, S., Stefanescu, A., Meseguer, J.: A constructor-based reachability logic for rewrite theories. Fundam. Inform. 173(4), 315–382 (2020)
Acknowledgements
My warmest thanks to Santiago Escobar and Steven Eker for many discussions that have helped me arrive at the ideas presented here. I cordially thank the referees for their very helpful suggestions to improve the paper. This work has been partially supported by NRL under contract N00173-17-1-G002.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Proof of Theorem 6
A Proof of Theorem 6
We just need to show that for each \(\mathbf{M} \in \mathcal {C}\) and sort s in \(\mathbf{M}\), \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\) is FB. But: (i) FB is a rule-local property: it holds iff it does for each rewrite rule; (ii) up to renaming to ensure symbol disjointness, the rewrite rules in \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\) are just the disjoint union of those in \(\vec {\mathbf {St}}[X]\) and those in \(\mathbf{M}\); (iii) by the construction of \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\), the rewrite rules in \(\mathbf{M}\) apply to the exact same terms in both \(\mathbf{M}\) and in \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\), and, since both the rules and the terms they apply to do not involve any operators in \(\vec {\mathbf {St}}[X]\), narrowing with those rules modulo the entire set of axioms \(A \uplus B_{\mathbf {M}}\), where A is the associativity axiom in \(\vec {\mathbf {St}}[X]\), is identical with narrowing with such rules modulo \(B_{\mathbf {M}}\) only. Therefore, the rules from \(\mathbf{M}\) are FB in \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\). Thus, all we need to check is that the rewrite rules in \(\vec {\mathbf {St}}[X]\) are FB in \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\). First of all, note that the axioms \(A \uplus B_{\mathbf {M}}\) in \(\vec {\mathbf {St}}[\vec {\mathbf {M}},X \mapsto s]\) only involve associativity and/or commutativity axioms. Since FB is a property satisfied by each rule, we just reason one rule at a time. I prove the FB property for the rules: (1) \(u \; \varepsilon \rightarrow u\) (2) \( first (x)\rightarrow x\), (3) \( first (x \;q)\rightarrow x\), (4) \( rest (x)\rightarrow \varepsilon \), and (5) \( rest (x \; q)\rightarrow q\).
Case (1). Up to A-equivalence and disregarding parentheses, the \(A \uplus B_{\mathbf {M}}\)-unification problem \(u \; \varepsilon = w\), where w is a non-variable term in \(\vec {\mathbf {St}}[ s ]\) not sharing any variables with \(u \; \varepsilon \) is just the \(A \uplus B_{\mathbf {M}}\)-unification problem \(u \; \varepsilon = w_{1} \; \ldots \; w_{n}\) with \(n \geqslant 1\) where each \(w_{i}\) is either: (i) a variable of sort \( St \) or (ii) a so-called A-alien subterm or constant of the form \(f(t_1 , \ldots , t_n)\) with f different from \(\_\;\_\). When \(n=1\), the only possible \(A \uplus B_{\mathbf {M}}\)-unifier exists when \(w_{1}\) is a variable v of sort \( St \) and is the unifier \(\{v \mapsto u \; \varepsilon \}\). When \(n\geqslant 2\), the only possible \(A \uplus B_{\mathbf {M}}\)-unifiers exist when either: (i) \(w_{n} = \varepsilon \), with unifier \(\{u \mapsto w_{1} \; \ldots \; w_{n-1}\}\), or (ii) \(w_{n}\) is a variable v of sort \( St \), with unifier \(\{u \mapsto w_{1} \; \ldots \; w_{n-1}, v \mapsto \varepsilon \}\).
Case (2). Up to A-equivalence and disregarding parentheses, the \(A \uplus B_{\mathbf {M}}\)-unification problem \( first (x) = w\) can only be solved if w is a term of the form \( first (w_{1} \; \ldots \; w_{n})\) with \(w_{y}\) a variable of sort \( NeSt \) or less, or an A-alien subterm of sort s or less, and has a solution only when \(n=1\) and either: (i) \(w_{1}\) is a variable \(q'\) of sort \( NeSt \), yielding the \(A \uplus B_{\mathbf {M}}\)-unifier \(\{q' \mapsto x\}\), or (ii) \(w_{1}\) is a variable y of sort s or less or an A-alien subterm of sort s or less, yielding the \(A \uplus B_{\mathbf {M}}\)-unifier \(\{x \mapsto w_{1}\}\).
Case (3). Up to A-equivalence and disregarding parentheses, the \(A \uplus B_{\mathbf {M}}\)-unification problem \( first (x \; q) = w\) can only be solved if w is a term of the form \( first (w_{1} \; \ldots \; w_{n})\) with \(w_{y}\) a variable of sort \( NeSt \) or less, or an A-alien subterm of sort s or less, and has a solution only when: (i) \(n=1\) and \(w_{1}\) is a variable \(q'\) of sort \( NeSt \), yielding the \(A \uplus B_{\mathbf {M}}\)-unifier \(\{q' \mapsto x \; q\}\), or (ii) \(n \geqslant 2\) and either (ii).1 \(w_{1}\) is a variable \(q'\) of sort \( NeSt \), yielding the \(A \uplus B_{\mathbf {M}}\)-unifier \(\{q' \mapsto x \; q \mapsto w_{2} \; \ldots \; w_{n}\}\), or (ii).2 \(w_{1}\) is either a variable of sort s or less, or an A-alien subterm of sort s or less, yielding the \(A \uplus B_{\mathbf {M}}\)-unifier \(\{x \mapsto w_{1}, q \mapsto w_{2} \; \ldots \; w_{n}\}\).
Cases (4), resp. (5), have proofs entirely analogous to Cases (2), resp. (3).
This finishes the proof of Theorem 6. \(\Box \)
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Meseguer, J. (2020). Variants in the Infinitary Unification Wonderland. In: Escobar, S., Martí-Oliet, N. (eds) Rewriting Logic and Its Applications. WRLA 2020. Lecture Notes in Computer Science(), vol 12328. Springer, Cham. https://doi.org/10.1007/978-3-030-63595-4_5
Download citation
DOI: https://doi.org/10.1007/978-3-030-63595-4_5
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-63594-7
Online ISBN: 978-3-030-63595-4
eBook Packages: Computer ScienceComputer Science (R0)