English
Related papers

Related papers: A Simple Differentiable Programming Language

200 papers

Structured recursion schemes such as folds and unfolds have been widely used for structuring both functional programs and program semantics. In this context, it has been customary to implement denotational semantics as folds over an…

Programming Languages · Computer Science 2023-03-17 Marco Paviotti , Nicolas Wu

Deep learning is moving towards increasingly sophisticated optimization objectives that employ higher-order functions, such as integration, continuous optimization, and root-finding. Since differentiable programming frameworks such as…

Programming Languages · Computer Science 2021-04-15 Benjamin Sherman , Jesse Michel , Michael Carbin

We study expression learning problems with syntactic restrictions and introduce the class of finite-aspect checkable languages to characterize symbolic languages that admit decidable learning. The semantics of such languages can be defined…

Logic in Computer Science · Computer Science 2023-03-22 Paul Krogmeier , P. Madhusudan

Practically all programming languages allow the programmer to split a program into several modules which brings along several advantages in software development. In this paper, we are interested in the area of answer-set programming where…

Logic in Computer Science · Computer Science 2014-01-16 Tomi Janhunen , Emilia Oikarinen , Hans Tompits , Stefan Woltran

We introduce a language for formally reasoning about programs that combine differential constructs with probabilistic ones. The language harbours, for example, such systems as adaptive cruise controllers, continuous-time random walks, and…

Logic in Computer Science · Computer Science 2025-07-23 Renato Neves , José Proença , Juliana Souza

A logic programming paradigm which expresses solutions to problems as stable models has recently been promoted as a declarative approach to solving various combinatorial and search problems, including planning problems. In this paradigm,…

Artificial Intelligence · Computer Science 2007-05-23 Maurice Bruynooghe

We investigate a famous decision problem in automata theory: separation. Given a class of language C, the separation problem for C takes as input two regular languages and asks whether there exists a third one which belongs to C, includes…

Logic in Computer Science · Computer Science 2023-06-22 Thomas Place

We spell out the paradigm of exact conditioning as an intuitive and powerful way of conditioning on observations in probabilistic programs. This is contrasted with likelihood-based scoring known from languages such as Stan. We study exact…

Programming Languages · Computer Science 2023-12-29 Dario Stein , Sam Staton

Most numerical solvers used to determine free variables of dynamical systems rely on first-order derivatives of the state of the system w.r.t. the free variables. The number of the free variables can be fairly large. One of the approaches…

Mathematical Software · Computer Science 2019-05-27 Ivan Dolgakov , Dmitry Pavlov

We build deep RL agents that execute declarative programs expressed in formal language. The agents learn to ground the terms in this language in their environment, and can generalize their behavior at test time to execute new programs that…

Artificial Intelligence · Computer Science 2017-06-21 Misha Denil , Sergio Gómez Colmenarejo , Serkan Cabi , David Saxton , Nando de Freitas

Differentiable logics (DL) have recently been proposed as a method of training neural networks to satisfy logical specifications. A DL consists of a syntax in which specifications are stated and an interpretation function that translates…

Logic in Computer Science · Computer Science 2023-10-06 Natalia Ślusarz , Ekaterina Komendantskaya , Matthew L. Daggitt , Robert Stewart , Kathrin Stark

Declarative machine learning (ML) aims at the high-level specification of ML tasks or algorithms, and automatic generation of optimized execution plans from these specifications. The fundamental goal is to simplify the usage and/or…

Databases · Computer Science 2016-05-20 Matthias Boehm , Alexandre V. Evfimievski , Niketan Pansare , Berthold Reinwald

Separation logic is a substructural logic which has proved to have numerous and fruitful applications to the verification of programs working on dynamic data structures. Recently, Barthe, Hsu and Liao have proposed a new way of giving…

Cryptography and Security · Computer Science 2024-05-21 Ugo Dal Lago , Davide Davoli , Bruce M. Kapron

The system PL permits the translation of abstract proofs of program correctness into programs in a variety of programming languages. A programming language satisfying certain axioms may be the target of such a translation. The system PL…

Software Engineering · Computer Science 2007-05-23 David A. Plaisted

Sparse tensors are prevalent in many data-intensive applications, yet existing differentiable programming frameworks are tailored towards dense tensors. This presents a significant challenge for efficiently computing gradients through…

Programming Languages · Computer Science 2023-03-14 Amir Shaikhha , Mathieu Huot , Shideh Hashemian

With the wide spread of deep learning and gradient descent inspired optimization algorithms, differentiable programming has gained traction. Nowadays it has found applications in many different areas as well, such as scientific computing,…

Programming Languages · Computer Science 2022-07-14 Pedro H. Azevedo de Amorim , Christopher Lam

We introduce a new application for inductive logic programming: learning the semantics of programming languages from example evaluations. In this short paper, we explored a simplified task in this domain using the Metagol meta-interpretive…

Programming Languages · Computer Science 2019-07-23 Sándor Bartha , James Cheney

Despite the plethora of powerful software to spot bugs, identify performance bottlenecks or simply improve the overall quality of code, programming languages remain the first and most important tool of a developer. Therefore, appropriate…

Programming Languages · Computer Science 2019-07-29 Dimitri Racordon , Didier Buchs

Automatic differentiation (AD), a technique for constructing new programs which compute the derivative of an original program, has become ubiquitous throughout scientific computing and deep learning due to the improved performance afforded…

Machine Learning · Computer Science 2023-01-10 Gaurav Arya , Moritz Schauer , Frank Schäfer , Chris Rackauckas

In this note, I develop my personal view on the scope and relevance of symbolic computation in software science. For this, I discuss the interaction and differences between symbolic computation, software science, automatic programming,…

Symbolic Computation · Computer Science 2021-09-08 Bruno Buchberger