DeepAI AI Chat
Log In Sign Up

Higher-Order Constrained Horn Clauses and Refinement Types

by   Toby Cathcart Burn, et al.

Motivated by applications in automated verification of higher-order functional programs, we develop a notion of constrained Horn clauses in higher-order logic and a decision problem concerning their satisfiability. We show that, although satisfiable systems of higher-order clauses do not generally have least models, there is a notion of canonical model obtained through a reduction to a problem concerning a kind of monotone logic program. Following work in higher-order program verification, we develop a refinement type system in order to reason about and automate the search for models. This provides a sound but incomplete method for solving the decision problem. Finally, we show that an extension of the decision problem in which refinement types are used directly as guards on existential quantifiers can be reduced to the original problem. This result can be used to show that properties of higher-order functions that are definable using refinement types are also expressible using higher-order constrained Horn clauses.


page 1

page 2

page 3

page 4


Higher-Order MSL Horn Constraints

The monadic shallow linear (MSL) class is a decidable fragment of first-...

Defunctionalization of Higher-Order Constrained Horn Clauses

Building on the successes of satisfiability modulo theories (SMT), Bjørn...

Refinements of Futures Past: Higher-Order Specification with Implicit Refinement Types (Extended Version)

Refinement types decorate types with assertions that enable automatic ve...

Functional Extensionality for Refinement Types

Refinement type checkers are a powerful way to reason about functional p...

Local Refinement Typing

We introduce the Fusion algorithm for local refinement type inference, y...

Refinement Type Directed Search for Meta-Interpretive-Learning of Higher-Order Logic Programs

The program synthesis problem within the Inductive Logic Programming (IL...

Omega: An Architecture for AI Unification

We introduce the open-ended, modular, self-improving Omega AI unificatio...