Fixing Incremental Computation: Derivatives of Fixpoints, and the Recursive Semantics of Datalog

11/14/2018
by   Mario Alvarez-Picallo, et al.
0

Incremental computation has recently been studied using the concepts of change structures and derivatives of programs, where the derivative of a function allows updating the output of the function based on a change to its input. We generalise change structures to change actions, and study their algebraic properties. We develop change actions for common structures in computer science, including directed-complete partial orders and Boolean algebras. We then show how to compute derivatives of fixpoints. This allows us to perform incremental evaluation and maintenance of recursively defined functions with particular application to generalised Datalog programs. Moreover, unlike previous results, our techniques are modular in that they are easy to apply both to variants of Datalog and to other programming languages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/12/2020

Change actions: from incremental computation to discrete derivatives

The goal of this thesis is threefold: first, to provide a general semant...
research
01/27/2017

Incremental Maintenance Of Association Rules Under Support Threshold Change

Maintenance of association rules is an interesting problem. Several incr...
research
02/14/2019

Change Actions: Models of Generalised Differentiation

Cai et al. have recently proposed change structures as a semantic framew...
research
04/30/2023

On APN functions and their derivatives

We determine a connection between the weight of a Boolean function and t...
research
02/02/2020

The Discrete Adjoint Method: Efficient Derivatives for Functions of Discrete Sequences

Gradient-based techniques are becoming increasingly critical in quantita...
research
11/06/2018

Modular Materialisation of Datalog Programs

The seminaïve algorithm can materialise all consequences of arbitrary da...
research
09/23/2017

An Incremental Slicing Method for Functional Programs

Several applications of slicing require a program to be sliced with resp...

Please sign up or login with your details

Forgot password? Click here to reset