Hostname: page-component-89b8bd64d-9prln Total loading time: 0 Render date: 2026-05-07T17:00:50.283Z Has data issue: false hasContentIssue false

$\{log\}$: From a Constraint Logic Programming Language to a Formal Verification Tool

Published online by Cambridge University Press:  29 April 2026

MAXIMILIANO CRISTIÁ
Affiliation:
Universidad Nacional de Rosario, Argentina (e-mail: cristia@cifasis-conicet.gov.ar)
ALFREDO CAPOZUCCA
Affiliation:
Université du University of Luxembourg, Luxembourg (e-mail: alfredo.capozucca@uni.lu)
GIANFRANCO ROSSI
Affiliation:
Università degli Studi di Parma, Italy (e-mail: gianfranco.rossi@unipr.it)
Rights & Permissions [Opens in a new window]

Abstract

$\{log\}$ (read ‘setlog’) was born as a Constraint Logic Programming (CLP) language where sets and binary relations are first-class citizens, thus fostering set programming. Internally, $\{log\}$ is a constraint satisfiability solver implementing decision procedures for several fragments of set theory. Hence, $\{log\}$ can be used as a declarative, set, logic programming language and as an automated theorem prover for set theory. Over time $\{log\}$ has been extended with some components integrated to the satisfiability solver thus providing a formal verification environment. In this paper we make a comprehensive presentation of this environment which includes a language for the description of state machines based on set theory, an interactive environment for the execution of functional scenarios over state machines, a generator of verification conditions for state machines, automated verification of state machines, and test case generation. State machines are both, programs and specifications; exactly the same code works as a program and as its specification. In this way, with a few additions, a CLP language turned into a seamlessly integrated programming and automated proof system.

Information

Type
Original Article
Creative Commons
Creative Common License - CCCreative Common License - BY
This is an Open Access article, distributed under the terms of the Creative Commons Attribution licence (https://creativecommons.org/licenses/by/4.0/), which permits unrestricted re-use, distribution and reproduction, provided the original article is properly cited.
Copyright
© The Author(s), 2026. Published by Cambridge University Press
Figure 0

Fig 1. The stack of theories dealt with by $\{log\}$.

Figure 1

Fig 2. Standard partition for $S \cup T$, $S \cap T$ and $S \setminus T$.