Portus: Linking Alloy with SMT-based Finite Model Finding
Authors:
Ryan Dancy,
Nancy A. Day,
Owen Zila,
Khadija Tariq,
Joseph Poremba
Abstract:
Alloy is a well-known, formal, declarative language for modelling systems early in the software development process. Currently, it uses the Kodkod library as a back-end for finite model finding. Kodkod translates the model to a SAT problem; however, this method can often handle only problems of fairly low-size sets and is inherently finite. We present Portus, a method for translating Alloy into an…
▽ More
Alloy is a well-known, formal, declarative language for modelling systems early in the software development process. Currently, it uses the Kodkod library as a back-end for finite model finding. Kodkod translates the model to a SAT problem; however, this method can often handle only problems of fairly low-size sets and is inherently finite. We present Portus, a method for translating Alloy into an equivalent many-sorted first-order logic problem (MSFOL). Once in MSFOL, the problem can be evaluated by an SMT-based finite model finding method implemented in the Fortress library, creating an alternative back-end for the Alloy Analyzer. Fortress converts the MSFOL finite model finding problem into the logic of uninterpreted functions with equality (EUF), a decidable fragment of first-order logic that is well-supported in many SMT solvers. We compare the performance of Portus with Kodkod on a corpus of 64 Alloy models written by experts. Our method is fully integrated into the Alloy Analyzer.
△ Less
Submitted 23 May, 2025; v1 submitted 24 November, 2024;
originally announced November 2024.
Static Symmetry Breaking in Many-Sorted Finite Model Finding
Authors:
Joseph Poremba
Abstract:
Symmetry in finite model finding problems of many-sorted first-order logic (MSFOL) can be exploited to reduce the number of interpretations considered during search, thereby improving solver performance. In this thesis, we situate symmetry of many-sorted finite model finding (MSFMF) problems in a general framework used for constraint satisfaction problems (CSP). We survey and classify existing app…
▽ More
Symmetry in finite model finding problems of many-sorted first-order logic (MSFOL) can be exploited to reduce the number of interpretations considered during search, thereby improving solver performance. In this thesis, we situate symmetry of many-sorted finite model finding (MSFMF) problems in a general framework used for constraint satisfaction problems (CSP). We survey and classify existing approaches to symmetry for MSFOL as used in tools such as Paradox. We provide new insight into how sorts affect the existence of symmetry and how sort inference can be viewed as a symmetry detection mechanism. Finally, we present two new symmetry breaking schemes for MSFOL that are implemented at the MSFOL level and discuss when schemes can be combined. We prove the correctness of our new methods.
△ Less
Submitted 5 March, 2020;
originally announced March 2020.