Integrating Cardinality Constraints into Constraint Logic Programming with Sets

02/10/2021
by   Maximiliano Cristiá, et al.
0

Formal reasoning about finite sets and cardinality is an important tool for many applications, including software verification, where very often one needs to reason about the size of a given data structure and not only about what its elements are. The Constraint Logic Programming tool log provides a decision procedure for deciding the satisfiability of formulas involving very general forms of finite sets, without cardinality. In this paper we adapt and integrate a decision procedure for a theory of finite sets with cardinality into log. The proposed solver is proved to be a decision procedure for its formulas. Besides, the new CLP instance is implemented as part of the log tool. In turn, the implementation uses Howe and King's Prolog SAT solver and Prolog's CLP(Q) library, as an integer linear programming solver. The empirical evaluation of this implementation based on +250 real verification conditions shows that it can be useful in practice.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/06/2021

A Decision Procedure for a Theory of Finite Sets with Finite Integer Intervals

In this paper we extend a decision procedure for the Boolean algebra of ...
research
10/21/2019

Automated Reasoning with Restricted Intensional Sets

Intensional sets, i.e., sets given by a property rather than by enumerat...
research
05/03/2022

A Typechecker for a Set-Based Constraint Logic Programming Language

log (read 'setlog') is a Constraint Logic Programming (CLP) language and...
research
08/06/2022

A Set-Theoretic Decision Procedure for Quantifier-Free, Decidable Languages Extended with Restricted Quantifiers

Let ℒ_𝒳 be the language of first-order, decidable theory 𝒳. Consider the...
research
03/21/2017

On The Projection Operator to A Three-view Cardinality Constrained Set

The cardinality constraint is an intrinsic way to restrict the solution ...
research
07/08/2023

Comparing EventB, {log} and Why3 Models of Sparse Sets

Many representations for sets are available in programming languages lib...
research
06/29/2011

A Comparison of Lex Bounds for Multiset Variables in Constraint Programming

Set and multiset variables in constraint programming have typically been...

Please sign up or login with your details

Forgot password? Click here to reset