Skip to main content

An Institution for Alloy and Its Translation to Second-Order Logic

  • Chapter
  • First Online:
Book cover Integration of Reusable Systems

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 263))

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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

Institutional subscriptions

Notes

  1. 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. 2.

    Full models at github.com/nevrenato/IRI_FMI_Annex.

References

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

    Google Scholar 

  2. Baumgartner, P., Fuchs, A., Tinelli, C.: Implementing the model evolution calculus. Int. J. Artif. Intell. Tools 15(1), 21–52 (2006)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  5. Braüner, T.: Proof-theory of propositional hybrid logic. Hybrid Logic and Its Proof-Theory (2011)

    Google Scholar 

  6. Diaconescu, R.: Institution-independent Model Theory. Birkhäuser, Basel (2008)

    Google Scholar 

  7. Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. J. ACM 39, 95–146 (January 1992)

    Google Scholar 

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

    Google Scholar 

  9. Jackson, D.: Software Abstractions: Logic, Language, and Analysis. The MIT Press, Cambridge (2006)

    Google Scholar 

  10. Macedo, N., Cunha, A.: Automatic unbounded verification of Alloy specifications with Prover9. CoRR, abs/1209.5773 (2012)

    Google Scholar 

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

    Google Scholar 

  12. Manzano, M.: Extensions of First Order Logic. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, Cambridge (1996)

    Google Scholar 

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

    Google Scholar 

  14. Mossakowski, T., Haxthausen, A., Sannella, D., Tarlecki, A.: CASL: The common algebraic specification language: semantics and proof theory. Comput. Inform. 22, 285–321 (2003)

    Google Scholar 

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

    Google Scholar 

  16. Mukkamala, R.R.: A formal model for declarative workflows: dynamic condition response graphs. PhD thesis, IT University of Copenhagen (2012)

    Google Scholar 

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

    Google Scholar 

  18. Nipkow, T., Wenzel, M., Paulson, L.C.: Isabelle/HOL: A Proof Assistant for Higher-Order Logic. Springer, Berlin (2002)

    Google Scholar 

  19. Riazanov, A., Voronkov, A.: The design and implementation of vampire. AI Commun. 15(2–3), 91–110 (August 2002)

    Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

Download references

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

Authors

Corresponding authors

Correspondence to Renato Neves or Luís Barbosa .

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.

figure j

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'\),

$$({M'} \upharpoonright {\varphi })_e = M'_{Exp(\varphi )(e)}$$

Proof.

Consider first the case \(e := \pi \), for \(\pi \in (R_\varSigma )_w\):

figure k

Proofs for when \(\pi \in (S_\varSigma )_{All}\) or \(\pi \in X_\varSigma \) are analogous.

When \(e := e + e'\):

figure l

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,

figure m

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

figure n

Proof.

When \(e := \pi , \pi \in (R_\varSigma )_w \cup (S_\varSigma )_{All}\):

figure o

When \(e := \pi , \pi \in X_\varSigma \):

figure p

When \(e := e \> .\> e'\):

figure q

When \(e :\)= ⌃\(e\):

figure r
figure s
figure t
figure u

When \(e := {\sim }e\):

figure v

When \(e := e + e'\):

figure w

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 \)

figure x

Proof.

When \(\rho := e \> \mathtt {in} \> e'\):

figure y

When \(\rho := \mathtt {not}\; \rho \):

figure z

For implication the proof is analogous

When \(\rho := ( \mathtt {all} \> x : e) \> \rho \):

figure aa

\(\square \)

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics