$\{log\}$: Set Formulas as Programs
Maximiliano Cristi\'a, Gianfranco Rossi

TL;DR
The paper introduces $ ext{log}$, a programming language combining set theory and logic, enabling the writing of high-level, verifiable programs that can also serve as formulas for automatic correctness proofs.
Contribution
It presents $ ext{log}$ as a novel language that unifies programming and formal verification using set formulas and logic, demonstrating its development methodology through examples.
Findings
$ ext{log}$ allows writing abstract, specification-like programs.
Programs in $ ext{log}$ can be automatically verified for correctness.
$ ext{log}$ integrates programming and proof within a unified framework.
Abstract
is a programming language at the intersection of Constraint Logic Programming, set programming and declarative programming. But is also a satisfiability solver for a theory of finite sets and finite binary relations. With 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, programs are also set formulas. Hence, programmers can use again to automatically prove their programs verify non trivial properties. In this paper we show this development methodology by means of several examples.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Formal Methods in Verification
