Deciding functional lists with sublist sets

Thomas Wies, Marco Muñiz, Viktor Kuncak

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

Motivated by the problem of deciding verification conditions for the verification of functional programs, we present new decision procedures for automated reasoning about functional lists. We first show how to decide in NP the satisfiability problem for logical constraints containing equality, constructor, selectors, as well as the transitive sublist relation. We then extend this class of constraints with operators to compute the set of all sublists, and the set of objects stored in a list. Finally, we support constraints on sizes of sets, which gives us the ability to compute list length as well as the number of distinct list elements. We show that the extended theory is reducible to the theory of sets with linear cardinality constraints, and therefore still in NP. This reduction enables us to combine our theory with other decidable theories that impose constraints on sets of objects, which further increases the potential of our decidability result in verification of functional and imperative software.

Original languageEnglish (US)
Title of host publicationVerified Software
Subtitle of host publicationTheories, Tools, Experiments - 4th International Conference, VSTTE 2012, Proceedings
Pages66-81
Number of pages16
DOIs
StatePublished - 2012
Event4th International Conference on Verified Software: Theories, Tool and Experiments, VSTTE 2012 - Philadelphia, PA, United States
Duration: Jan 28 2012Jan 29 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7152 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Other

Other4th International Conference on Verified Software: Theories, Tool and Experiments, VSTTE 2012
CountryUnited States
CityPhiladelphia, PA
Period1/28/121/29/12

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Computer Science(all)

Fingerprint Dive into the research topics of 'Deciding functional lists with sublist sets'. Together they form a unique fingerprint.

Cite this