English

Higher-order Program Verification as Satisfiability Modulo Theories with Algebraic Data-types

Logic in Computer Science 2013-06-25 v1

Abstract

We report on work in progress on automatic procedures for proving properties of programs written in higher-order functional languages. Our approach encodes higher-order programs directly as first-order SMT problems over Horn clauses. It is straight-forward to reduce Hoare-style verification of first-order programs into satisfiability of Horn clauses. The presence of closures offers several challenges: relatively complete proof systems have to account for closures; and in practice, the effectiveness of search procedures depend on encoding strategies and capabilities of underlying solvers. We here use algebraic data-types to encode closures and rely on solvers that support algebraic data-types. The viability of the approach is examined using examples from the literature on higher-order program verification.

Keywords

Cite

@article{arxiv.1306.5264,
  title  = {Higher-order Program Verification as Satisfiability Modulo Theories with Algebraic Data-types},
  author = {Nikolaj Bjorner and Ken McMillan and Andrey Rybalchenko},
  journal= {arXiv preprint arXiv:1306.5264},
  year   = {2013}
}
R2 v1 2026-06-22T00:38:24.725Z