A First Step in the Translation of Alloy to Coq

Abstract : Alloy is both a formal language and a tool for software mod-eling. The language is basically first order relational logic. The analyzer is based on instance finding: it tries to refute assertions and if it succeeds it reports a counterexample. It works by translating Alloy models and instance finding into SAT problems. If no instance is found it does not mean the assertion is satisfied. Alloy relies on the small scope hypothesis: examining all small cases is likely to produce interesting counterexamples. This is very valuable when developing a system. However, Alloy cannot show their absence. In this paper, we propose an approach where Alloy can be used as a first step, and then using a tool we develop, Alloy models can be translated to Coq code to be proved correct interactively.
Complete list of metadatas

Cited literature [29 references]  Display  Hide  Download

Contributor : Frédéric Loulergue <>
Submitted on : Tuesday, October 15, 2019 - 6:58:59 PM
Last modification on : Friday, October 18, 2019 - 5:01:13 AM


Files produced by the author(s)


  • HAL Id : hal-02317118, version 1


Salwa Souaf, Frédéric Loulergue. A First Step in the Translation of Alloy to Coq. 21st International Conference on Formal Engineering Methods (ICFEM), 2019, Shenzen, China. ⟨hal-02317118⟩



Record views


Files downloads