Software Quality Journal

, Volume 21, Issue 1, pp 101–126

Relational analysis of (co)inductive predicates, (co)algebraic datatypes, and (co)recursive functions

Article

DOI: 10.1007/s11219-011-9148-5

Cite this article as:
Blanchette, J.C. Software Qual J (2013) 21: 101. doi:10.1007/s11219-011-9148-5

Abstract

We present techniques for applying a finite relational model finder to logical specifications that involve high-level definitional principles such as (co)inductive predicates, (co)algebraic datatypes, and (co)recursive functions. In contrast to previous work, which focused on algebraic datatypes and restricted occurrences of unbounded quantifiers in formulas, we can handle arbitrary formulas by means of a three-valued Kleene logic. The techniques form the basis of the counterexample generator Nitpick for Isabelle/HOL. As case studies, we consider formulas about an inductively defined context-free grammar, a functional implementation of AA trees, and a coalgebraic list datatype.

Keywords

Model finding Higher-order logic First-order relational logic 

Copyright information

© Springer Science+Business Media, LLC 2011

Authors and Affiliations

  1. 1.Institut für InformatikTechnische Universität MünchenMunichGermany