English

$\{log\}$: Set Formulas as Programs

Logic in Computer Science 2021-04-19 v1 Programming Languages Software Engineering

Abstract

{log}\{log\} is a programming language at the intersection of Constraint Logic Programming, set programming and declarative programming. But {log}\{log\} is also a satisfiability solver for a theory of finite sets and finite binary relations. With {log}\{log\} programmers can write abstract programs using all the power of set theory and binary relations. These programs are not very efficient but they are very close to specifications. Then, their correctness is more evident. Furthermore, {log}\{log\} programs are also set formulas. Hence, programmers can use {log}\{log\} again to automatically prove their programs verify non trivial properties. In this paper we show this development methodology by means of several examples.

Keywords

Cite

@article{arxiv.2104.08130,
  title  = {$\{log\}$: Set Formulas as Programs},
  author = {Maximiliano Cristiá and Gianfranco Rossi},
  journal= {arXiv preprint arXiv:2104.08130},
  year   = {2021}
}