Proof-relevant Horn Clauses for Dependent Type Inference and Term Synthesis

04/30/2018
by   František Farka, et al.
0

First-order resolution has been used for type inference for many years, including in Hindley- Milner type inference, type-classes, and constrained data types. Dependent types are a new trend in functional languages. In this paper, we show that proof-relevant first-order resolution can play an important role in automating type inference and term synthesis for dependently typed languages. We propose a calculus that translates type inference and term synthesis problems in a dependently typed language to a logic program and a goal in the proof-relevant first-order Horn clause logic. The computed answer substitution and proof term then provide a solution to the given type inference and term synthesis problem. We prove the decidability and soundness of our method. The paper is under consideration for acceptance in TPLP.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/12/2022

Functional Pearl: Dependent type inference via free higher-order unification

Many type theories rely significantly on dependent types. Implementing a...
research
06/09/2023

A Complete Proof Synthesis Method for the Cube of Type Systems

We present a complete proof synthesis method for the eight type systems ...
research
05/15/2023

Eigenvariables, bracketing and the decidability of positive minimal predicate logic

We give a new proof of a theorem of Mints that the positive fragment of ...
research
07/02/2021

Dependent Type Systems as Macros

We present Turnstile+, a high-level, macros-based metaDSL for building d...
research
10/02/2020

Proof Repair Across Type Equivalences

We describe a new approach to automatically repairing broken proofs in t...
research
12/19/2017

Mixin Composition Synthesis based on Intersection Types

We present a method for synthesizing compositions of mixins using type i...
research
05/31/2019

A Role for Dependent Types in Haskell (Extended version)

Modern Haskell supports zero-cost coercions, a mechanism where types tha...

Please sign up or login with your details

Forgot password? Click here to reset