Synthesizing Set Functions

08/22/2018
by   Sergio Antoy, et al.
0

Set functions are a feature of functional logic programming to encapsulate all results of a non-deterministic computation in a single data structure. Given a function f of a functional logic program written in Curry, we describe a technique to synthesize the definition of the set function of f. The definition produced by our technique is based on standard Curry constructs. Our approach is interesting for three reasons. It allows reasoning about set functions, it offers an implementation of set functions which can be added to any Curry system, and it has the potential of changing our thinking about the implementation of non-determinism, a notoriously difficult problem.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/27/2020

Memoized Pull-Tabbing for Functional Logic Programming

Pull-tabbing is an evaluation technique for functional logic programs wh...
research
09/22/2020

Research Summary on Implementing Functional Patterns by Synthesizing Inverse Functions

In this research summary we present our recent work on implementing func...
research
02/15/2021

On synthesizing Skolem functions for first order logic formulae

Skolem functions play a central role in logic, from eliminating quantifi...
research
03/12/2021

Reasoning about the garden of forking paths

Lazy evaluation is a powerful tool for functional programmers. It enable...
research
06/02/2020

Effectful Programming in Declarative Languages with an Emphasis on Non-Determinism: Applications and Formal Reasoning

This thesis investigates effectful declarative programming with an empha...
research
03/08/2021

Program Synthesis Over Noisy Data with Guarantees

We explore and formalize the task of synthesizing programs over noisy da...
research
02/14/2020

Functional Programming in Pattern-Match-Oriented Programming Style

Throughout the history of functional programming, recursion has emerged ...

Please sign up or login with your details

Forgot password? Click here to reset