Abstract
Lightweight formal methods, of which Alloy is a prime example, combine the rigour of mathematics without compromising simplicity of use and suitable tool support. In some cases, however, the verification of safety or mission critical software entails the need for more sophisticated technologies, typically based on theorem provers. This explains a number of attempts to connect Alloy to specific theorem provers documented in the literature. This chapter, however, takes a different perspective: instead of focusing on one more combination of Alloy with still another prover, it lays out the foundations to fully integrate this system in the Hets platform which supports a huge network of logics, logic translators and provers. This makes possible for Alloy specifications to “borrow” the power of several, non dedicated proof systems. The chapter extends the authors’ previous work on this subject by developing in full detail the semantical foundations for this integration, including a formalisation of Alloy as an institution, and introducing a new, more general translation of the latter to second-order logic.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
To represent a tuple of \(n\) elements, \(v_1, \dots , v_n\), we use notations \((v_1, \dots , v_n)\) and \(v_1, \dots , v_n\) interchangeably, the latter being usually chosen if potential ambiguity is ruled out by the context.
- 2.
Full models at github.com/nevrenato/IRI_FMI_Annex.
References
Arkoudas, K., Khurshid, S., Marinov, D., Rinard, M.: Integrating model checking and theorem proving for relational reasoning. In: 7th International Seminar on Relational Methods in Computer Science (RelMiCS 2003). Lecture Notes in Computer Science, vol. 3015, pp. 21–33 (2003)
Baumgartner, P., Fuchs, A., Tinelli, C.: Implementing the model evolution calculus. Int. J. Artif. Intell. Tools 15(1), 21–52 (2006)
Benzmüller, C., Rabe, F., Sutcliffe, G.: Thf0—the core of the tptp language for higher-order logic. In: Proceedings of the 4th International Joint Conference on Automated Reasoning, IJCAR ’08, pp. 491–506. Berlin, Heidelberg, Springer (2008)
Benzmüller, C., Theiss, F., Paulson, L., Fietzke, A.: LEO-II—a cooperative automatic theorem prover for higher-order logic. In: Armando A., Baumgartner P., Dowek G. (eds.) Automated Reasoning, 4th International Joint Conference, IJCAR 2008, Sydney, Australia, August 12–15, 2008, Proceedings. LNCS, vol. 5195, pp. 162–170. Springer (2008)
Braüner, T.: Proof-theory of propositional hybrid logic. Hybrid Logic and Its Proof-Theory (2011)
Diaconescu, R.: Institution-independent Model Theory. Birkhäuser, Basel (2008)
Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. J. ACM 39, 95–146 (January 1992)
Hildebrandt, T.T., Mukkamala, R.R.: Declarative event-based workflow as distributed dynamic condition response graphs. In Proceedings of the 3rd PLACES Workshop, EPTCS, vol. 69, pp. 59–73 (2010)
Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)
Macedo, N., Cunha, A.: Automatic unbounded verification of Alloy specifications with Prover9. CoRR, abs/1209.5773 (2012)
Madeira, A., Faria, J.M., Martins, M.A., Barbosa, L.S.: Hybrid specification of reactive systems: an institutional approach. In: Barthe G., Pardo A., Schneider G. (eds.) Software Engineering and Formal Methods (SEFM 2011, Montevideo, Uruguay, November 14–18, 2011). Lecture Notes in Computer Science, vol. 7041, pp. 269–285. Springer (2011)
Manzano, M.: Extensions of First Order Logic. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1996)
Martins, M.A., Madeira, A., Diaconescu, R., Barbosa, L.S.: Hybridization of institutions. In: Corradini A., Klin B., Cîrstea C. (eds.) Algebra and Coalgebra in Computer Science (CALCO 2011, Winchester, UK, August 30–September 2, 2011). Lecture Notes in Computer Science, vol. 6859, pp. 283–297. Springer (2011)
Mossakowski, T., Haxthausen, A., Sannella, D., Tarlecki, A.: CASL: The common algebraic specification language: semantics and proof theory. Comput. Inform. 22, 285–321 (2003)
Mossakowski, T., Maeder, C., Lüttich, K.: The heterogeneous tool set, Hets. In: Grumberg O., Huth M. (eds.) Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2007—Braga, Portugal, March 24 - April 1, 2007). Lecture Notes in Computer Science, vol. 4424, pp. 519–522. Springer (2007)
Mukkamala, R.R.: A formal model for declarative workflows: dynamic condition response graphs. PhD thesis, IT University of Copenhagen (2012)
Neves, R., Madeira, A., Martins, M.A., Barbosa, L.S.: Giving alloy a family. In: Zhang C., Joshi J., Bertino E., Thuraisingham B. (eds.) Proceedings of 14th IEEE International conference on information reuse and intergration, pp. 512–519. IEEE Press (2013)
Nipkow, T., Wenzel, M., Paulson, L.C.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. Springer, Berlin (2002)
Riazanov, A., Voronkov, A.: The design and implementation of vampire. AI Commun. 15(2–3), 91–110 (August 2002)
Ulbrich, M., Geilmann, U., El Ghazi, A.A., Taghdiri, M.: A proof assistant for alloy specifications. In: Flanagan C., König B. (eds.) Proceedings of the 18th International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS), Lecture Notes in Computer Science, vol. 7214, pp. 422–436. Springer (2012)
Weidenbach, C., Dimova, D., Fietzke, A., Kumar, R., Suda, M., Wischnewski, P.: SPASS version 3.5. In: Schmidt R.A. (ed.) Proceedings of the 22nd International Conference on Automated Deduction, CADE 2009, Lecture Notes in Artificial Intelligence, vol. 5663, pp. 140–145. Springer (2009)
Acknowledgments
This work is funded by ERDF—European Regional Development Fund through the COMPETE Programme (operational programme for competitiveness) and by National Funds through FCT, the Portuguese Foundation for Science and Technology, within projects FCOMP-01-0124-FEDER-028923, project FCOMP-01-0124-FEDER-022690 and NORTE-01-0124-FEDER-000060.
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Appendix A: Proofs
Appendix A: Proofs
1.1 A.1 Lemma 1
The following commuting diagram of Alloy signature morphisms is a strong amalgamation square.
Proof.
Let \(M_1\) be an \((S,m,R,X + \{x\})\)–model, and \(M_2\) an \((S',m',R',X')\)–model, such that \(Mod^\mathcal {A}(x)(M_1) = Mod^\mathcal {A}(\varphi )(M_2)\). Thus, for any \(\pi \in S_t, M_{1\pi } = M_{2\varphi _{kd}(\pi )}\), for any \(\pi \in R_w, M_{1\pi } = M_{2\varphi _{rl}(\pi )}\), for any \(\pi \in X,\) \(M_{1\pi } = M_{2\varphi _{vr}(\pi )}\), and \(|M_1| = |M_2|\).
Then, let us define an \((S',m',R,',X' + \{x\})\)-model \(M'\) by stating that: For all \(\pi \in S'_t, M_{2\pi } = M'_{\pi }\); for all \(\pi \in R'_w, M'_{\pi } = M_{2\pi }\); for all \(\pi \in X', M_{2\pi } = M'_\pi \); \(|M_2| = |M'|\), and \(M_{1x} = M'_x\). Clearly, \(M_1 = Mod^\mathcal {A}(\varphi ')(M')\) and \(M_2 = Mod^\mathcal {A}(x^\varphi )(M')\). Also it is not difficult to show that \(M'\) is unique. Therefore the diagram above is a strong amalgamation square. \(\square \)
1.2 A.2 Lemma 2
For any signature morphism \(\varphi : \varSigma \rightarrow \varSigma '\) in \(Sign^\mathcal {A}\), any \(\varSigma \)–expression \(e\), and any \(\varSigma '\)–model \(M'\),
Proof.
Consider first the case \(e := \pi \), for \(\pi \in (R_\varSigma )_w\):
Proofs for when \(\pi \in (S_\varSigma )_{All}\) or \(\pi \in X_\varSigma \) are analogous.
When \(e := e + e'\):
Proofs for the remaining operators are analogous. \(\square \)
1.3 A.3 Lemma 3
The following commuting square of model morphisms and model transformations is a strong amalgamation square,
Proof.
Let \(M_1\) be an \((S,m,R,X + \{x\})\)–model and \(M_2\) a \((S',F',P')\)–model such that \(Mod^\mathcal {A}(x^\beta )(M_1) = \beta _{(S,m,R,X)}(M_2)\). I.e., for any \(\pi \in S_{All}\,\cup \, R_w \,\cup \, X\), \(M_{1\pi } = M_{2\pi }\) and \(|M_1|=|M_2|\).
Then let us define an \((S',F'+ \{x\},P')\)–model \(M'\) such that for any \(s \in S', |M'_s| = |M_{2s}|\); for any \(\sigma \in F'_w, M'_\sigma = M_{2\sigma }\); for any \(\pi \in P'_w, M'_\pi = M_{2\pi }\); \(M'_{x} = \{M_{1x}\}\). Clearly, we have \(M_1 = \beta _{(S,m,R,X+\{x\})}(M')\) and \(M_2 = Mod^{\textsc {SOL}^{pres}}(x)(M')\). Moreover, it is not difficult to show that \(M'\) is unique. Therefore the diagram above is a strong amalgamation square. \(\square \)
1.4 A.4 Lemma 4
Let \(\varSigma = (S_\varSigma ,m_\varSigma ,R_\varSigma ,X_\varSigma )\) be a signature in \(Sign^\mathcal {A}\), \(M'\) a \(\varPhi (\varSigma )\)-model \(M'\), and \(e\) a \(\varSigma \)-expression. Then, for any tuple \((v_1,\dots ,v_n) \in X_\varSigma \) with \(n = |e|\), we have
Proof.
When \(e := \pi , \pi \in (R_\varSigma )_w \cup (S_\varSigma )_{All}\):
When \(e := \pi , \pi \in X_\varSigma \):
When \(e := e \> .\> e'\):
When \(e :\)= ⌃\(e\):
When \(e := {\sim }e\):
When \(e := e + e'\):
Proofs for the remaining cases are analogous. \(\square \)
1.5 A.5 Theorem 2
The satisfaction condition holds in \((\varPhi ,\alpha ,\beta ) : \textsc {Alloy}\ \rightarrow \textsc {SOL}^{pres}\). I.e., given a signature \(\varSigma \in |Sign^\mathcal {A}|\), a \(\varPhi (\varSigma )\)-model \(M'\), and a \(\varSigma \)-sentence \(\rho \)
Proof.
When \(\rho := e \> \mathtt {in} \> e'\):
When \(\rho := \mathtt {not}\; \rho \):
For implication the proof is analogous
When \(\rho := ( \mathtt {all} \> x : e) \> \rho \):
\(\square \)
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this chapter
Cite this chapter
Neves, R., Madeira, A., Martins, M., Barbosa, L. (2014). An Institution for Alloy and Its Translation to Second-Order Logic. In: Bouabana-Tebibel, T., Rubin, S. (eds) Integration of Reusable Systems. Advances in Intelligent Systems and Computing, vol 263. Springer, Cham. https://doi.org/10.1007/978-3-319-04717-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-04717-1_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-04716-4
Online ISBN: 978-3-319-04717-1
eBook Packages: EngineeringEngineering (R0)