# Synthesizing Datalog Programs Using Numerical Relaxation

@inproceedings{Si2019SynthesizingDP, title={Synthesizing Datalog Programs Using Numerical Relaxation}, author={Xujie Si and Mukund Raghothaman and Kihong Heo and M. Naik}, booktitle={IJCAI}, year={2019} }

The problem of learning logical rules from examples arises in diverse fields, including program synthesis, logic programming, and machine learning. Existing approaches either involve solving computationally difficult combinatorial problems, or performing parameter estimation in complex statistical models.
In this paper, we present Difflog, a technique to extend the logic programming language Datalog to the continuous setting. By attaching real-valued weights to individual rules of a Datalog…

## Figures, Tables, and Topics from this paper

## 22 Citations

GENSYNTH: Synthesizing Datalog Programs without Language Bias

- Computer ScienceAAAI
- 2021

The proposed technique is an evolutionary search strategy that mutates candidate programs and evaluates their fitness on the examples using an off-theshelf Datalog interpreter and can learn correct programs from few examples, including for tasks that require recursion and invented predicates, and is robust to noise.

Generating Programmatic Referring Expressions via Program Synthesis

- Computer ScienceICML
- 2020

A neurosymbolic program synthesis algorithm is proposed that combines a policy neural network with enumerative search to generate a relational program that uniquely identifies the target object in terms of its attributes and its relations to other objects in the image.

Provenance-guided synthesis of Datalog programs

- Computer ScienceProc. ACM Program. Lang.
- 2020

The approach leverages query provenance to scale the counterexample-guided inductive synthesis (CEGIS) procedure for program synthesis and presents experimental results that demonstrate significant improvements over the state-of-the-art, including in synthesizing invented predicates, reducing running times, and in decreasing variances in synthesis performance.

Sporq: An Interactive Environment for Exploring Code using Query-by-Example

- Computer ScienceUIST
- 2021

Sporq is a tool that allows developers to mine their codebases for a range of patterns, including bugs, code smells, and violations of coding standards, through an interactive environment in which the user highlights program elements, and the system responds by identifying other parts of the codebase with similar patterns.

Learning Symbolic Rules for Reasoning in Quasi-Natural Language

- Computer ScienceArXiv
- 2021

This work proposes MetaQNL, a “Quasi-Natural” language that can express both formal logic and natural language sentences, and MetaInduce, a learning algorithm that inducesMetaQNL rules from training data consisting of questions and answers, with or without intermediate reasoning steps.

Numerical Reasoning over Legal Contracts via Relational Database

- 2021

Numerical reasoning over text requires deep integration between the semantic understanding of the natural language context and the mathematical calculation of the symbolic terms. However, existing…

Turning 30: New Ideas in Inductive Logic Programming

- Computer ScienceArXiv
- 2020

This work surveys recent work in inductive logic programming (ILP), a form of machine learning that induces logic programs from data, which has shown promise at addressing limitations of state-of-the-art machine learning.

DeepStochLog: Neural Stochastic Logic Programming

- Computer ScienceArXiv
- 2021

This work introduces neural grammar rules into stochastic definite clause grammars to create a framework that can be trained end-to-end in neural symbolic learning, and shows that inference and learning in neural stochastics logic programming scale much better than for neural probabilistic logic programs.

On the Complexity of Inductively Learning Guarded Rules

- Computer ScienceArXiv
- 2021

It is shown that learning guarded clauses is NP-complete and thus one step below the Σ% 2 -complete task of learning Horn clauses on the polynomial hierarchy.

Grammatical Domains and Syntax-guided Grammar Induction

- 2021

Grammatical domains are sets of related grammars. Such domains appear naturally whenever a common datatype like a date, a phone number or an address has multiple textual representations. While the…

## References

SHOWING 1-10 OF 34 REFERENCES

An Algebraic Prolog for Reasoning about Possible Worlds

- Computer ScienceAAAI
- 2011

The semantics of aProbLog are formally defined and the inference problem, which is concerned with computing the label of a query, is studied, resulting in four different algorithms and settings.

ProbLog: A Probabilistic Prolog and its Application in Link Discovery

- Computer ScienceIJCAI
- 2007

The key contribution of this paper is the introduction of an effective solver for computing success probabilities, which essentially combines SLD-resolution with methods for computing the probability of Boolean formulae.

Learning the structure of Markov logic networks

- Computer Science, MathematicsICML
- 2005

An algorithm for learning the structure of MLNs from relational databases is developed, combining ideas from inductive logic programming (ILP) and feature induction in Markov networks.

Syntax-guided synthesis of Datalog programs

- Computer ScienceESEC/SIGSOFT FSE
- 2018

This work proposes a programming-by-example system, ALPS, to synthesize Datalog programs from input-output examples, and shows that it outperforms the state-of-the-art tools Metagol and Zaatar on a suite of 34 benchmarks.

Meta-interpretive learning of higher-order dyadic datalog: predicate invention revisited

- Computer ScienceMachine Learning
- 2014

This paper shows that with an infinite signature the higher-order dyadic datalog class H22 has universal Turing expressivity though H^2_2$$H22 is decidable given a finite signature, and generalises the approach of meta-interpretive learning (MIL) to that of learning higher- order dyadicdatalog programs.

Constraint-Based Synthesis of Datalog Programs

- Computer ScienceCP
- 2017

This work proposes a constraint-based synthesis approach that uses an smt solver to efficiently navigate the space of Datalog programs and their corresponding derivation trees and demonstrates its ability to synthesize a range of graph-manipulating recursive programs from a small number of examples.

Logic Programs With Uncertainties: A Tool for Implementing Rule-Based Systems

- Computer ScienceIJCAI
- 1983

This paper proposes a different way of implementing rule-based expert systems within Prolog, in which evaluation of certainties of solutions is carried out at the meta-level, within the logic program interpreter itself.

Polynomial learnability and Inductive Logic Programming: Methods and results

- Computer ScienceNew Generation Computing
- 2009

Positive and negative learnability results now exist for a number of restricted classes of logic programs that are closely related to the classes used in practice within inductive logic programming.

Syntax-guided synthesis

- Computer Science, Engineering2013 Formal Methods in Computer-Aided Design
- 2013

This work describes three different instantiations of the counter-example-guided-inductive-synthesis (CEGIS) strategy for solving the synthesis problem, reports on prototype implementations, and presents experimental results on an initial set of benchmarks.

Strictly declarative specification of sophisticated points-to analyses

- Computer ScienceOOPSLA
- 2009

The DOOP framework for points-to analysis of Java programs is presented, carrying the declarative approach further than past work by describing the full end-to-end analysis in Datalog and optimizing aggressively using a novel technique specifically targeting highly recursive Datalogy programs.