English
Related papers

Related papers: Proof Relevant Corecursive Resolution

200 papers

Horn clauses and first-order resolution are commonly used to implement type classes in Haskell. Several corecursive extensions to type class resolution have recently been proposed, with the goal of allowing (co)recursive dictionary…

Programming Languages · Computer Science 2016-12-09 František Farka , Ekaterina Komendantskaya , Kevin Hammond

We establish proof-theoretic, constructive and coalgebraic foundations for proof search in coinductive Horn clause theories. Operational semantics of coinductive Horn clause resolution is cast in terms of coinductive uniform proofs; its…

Logic in Computer Science · Computer Science 2022-03-16 Henning Basold , Ekaterina Komendantskaya , Yue Li

We propose a new type-theoretic approach to SLD-resolution and Horn-clause logic programming. It views Horn formulas as types, and derivations for a given query as a construction of the inhabitant (a proof-term) for the type given by the…

Logic in Computer Science · Computer Science 2015-10-16 Peng Fu , Ekaterina Komendantskaya

Coinduction occurs in two guises in Horn clause logic: in proofs of circular properties and relations, and in proofs involving construction of infinite data. Both instances of coinductive reasoning appeared in the literature before, but a…

Logic in Computer Science · Computer Science 2019-03-19 Ekaterina Komendantskaya , Yue Li

We propose to study proof search from a coinductive point of view. In this paper, we consider intuitionistic logic and a focused system based on Herbelin's LJT for the implicational fragment. We introduce a variant of lambda calculus with…

Logic in Computer Science · Computer Science 2013-09-05 José Espírito Santo , Ralph Matthes , Luís Pinto

Logic programming (LP) is a programming language based on first-order Horn clause logic that uses SLD-resolution as a semi-decision procedure. Finite SLD-computations are inductively sound and complete with respect to least Herbrand models…

Logic in Computer Science · Computer Science 2017-05-05 Ekaterina Komendantskaya , Patricia Johann , Martin Schmidt

In recent work we have shown how it is possible to define very precise type systems for object-oriented languages by abstractly compiling a program into a Horn formula f. Then type inference amounts to resolving a certain goal w.r.t. the…

Programming Languages · Computer Science 2010-06-09 Davide Ancona , Giovanni Lagorio

Coinduction occurs in two guises in Horn clause logic: in proofs of self-referencing properties and relations, and in proofs involving construction of (possibly irregular) infinite data. Both instances of coinductive reasoning appeared in…

Logic in Computer Science · Computer Science 2018-09-14 Ekaterina Komendantskaya Dr , Yue Li

We propose abstract compilation for precise static type analysis of object-oriented languages based on coinductive logic programming. Source code is translated to a logic program, then type-checking and inference problems amount to queries…

Programming Languages · Computer Science 2017-09-15 Luca Franceschini , Davide Ancona , Ekaterina Komendantskaya

A theory of recursive and corecursive definitions has been developed in higher-order logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists; greatest fixedpoints express coinductive…

Logic in Computer Science · Computer Science 2007-05-23 Lawrence C. Paulson

Verification problems of programs written in various paradigms (such as imperative, logic, concurrent, functional, and object-oriented ones) can be reduced to problems of solving Horn clause constraints on predicate variables that represent…

Programming Languages · Computer Science 2016-10-24 Hiroshi Unno , Sho Torii

The purpose of this paper is to develop and study recursive proofs of coinductive predicates. Such recursive proofs allow one to discover proof goals in the construction of a proof of a coinductive predicate, while still allowing the use of…

Logic in Computer Science · Computer Science 2018-02-21 Henning Basold

We consider constrained Horn clause solving from the more general point of view of solving formula equations. Constrained Horn clauses correspond to the subclass of Horn formula equations. We state and prove a fixed-point theorem for Horn…

Logic in Computer Science · Computer Science 2021-09-13 Stefan Hetzl , Johannes Kloibhofer

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…

Programming Languages · Computer Science 2017-08-02 Toby Cathcart Burn , C. -H. Luke Ong , Steven J. Ramsay

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…

Logic in Computer Science · Computer Science 2018-05-01 František Farka , Ekaterina Komendantskya , Kevin Hammond

Clocked Type Theory (CloTT) is a type theory for guarded recursion useful for programming with coinductive types, allowing productivity to be encoded in types, and for reasoning about advanced programming language features using an abstract…

Logic in Computer Science · Computer Science 2018-04-19 Bassel Mannaa , Rasmus Ejlers Møgelberg

We develop a dependent type theory that is based purely on inductive and coinductive types, and the corresponding recursion and corecursion principles. This results in a type theory with a small set of rules, while still being fairly…

Logic in Computer Science · Computer Science 2016-05-10 Henning Basold , Herman Geuvers

Inference systems are a widespread framework used to define possibly recursive predicates by means of inference rules. They allow both inductive and coinductive interpretations that are fairly well-studied. In this paper, we consider a…

Logic in Computer Science · Computer Science 2023-06-22 Francesco Dagnino

Coinduction refers to both a technique for the definition of infinite streams, so-called codata, and a technique for proving the equality of coinductively specified codata. This article first reviews coinduction in declarative programming.…

Programming Languages · Computer Science 2020-07-23 François Bry

Guarded recursion is a powerful modal approach to recursion that can be seen as an abstract form of step-indexing. It is currently used extensively in separation logic to model programming languages with advanced features by solving domain…

Logic in Computer Science · Computer Science 2022-06-06 Magnus Baunsgaard Kristensen , Rasmus Ejlers Møgelberg , Andrea Vezzosi
‹ Prev 1 2 3 10 Next ›