English
Related papers

Related papers: Deriving monadic quicksort (Declarative Pearl)

200 papers

This paper explores goal-directed proof search in first-order multi-modal logic. The key issue is to design a proof system that respects the modularity and locality of assumptions of many modal logics. By forcing ambiguities to be…

Logic in Computer Science · Computer Science 2007-05-23 Matthew Stone

We give an account of the basic combinatorial structure underlying the notion of type dependency. We do so by considering the category of all dependent sequent calculi, and exhibiting it as the category of algebras for a monad on a presheaf…

Logic · Mathematics 2014-02-28 Richard Garner

Using multisets, we develop novel techniques for mechanizing the proofs of the synthesis conjectures for list-sorting algorithms, and we demonstrate them in the Theorema system. We use the classical principle of extracting the algorithm as…

Logic in Computer Science · Computer Science 2019-09-05 Isabela Drămnesc , Tudor Jebelean

We introduce a new programming paradigm called oracle-guided decision programming in which a program specifies a Markov Decision Process (MDP) and the language provides a universal policy. We prototype a new programming language, Dodona,…

Artificial Intelligence · Computer Science 2020-12-22 Daniel Selsam , Jesse Michael Han , Leonardo de Moura , Patrice Godefroid

The classical subset construction for non-deterministic automata can be generalized to other side-effects captured by a monad. The key insight is that both the state space of the determinized automaton and its semantics---languages over an…

Formal Languages and Automata Theory · Computer Science 2019-05-16 Gerco van Heerdt , Joshua Moerman , Matteo Sammartino , Alexandra Silva

The Dependent Object Types (DOT) calculus incorporates concepts from functional languages (e.g. modules) with traditional object-oriented features (e.g. objects, subtyping) to achieve greater expressivity (e.g. F-bounded polymorphism).…

Programming Languages · Computer Science 2025-10-27 Yu Xiang Zhu , Amos Robinson , Sophia Roshal , Timothy Mou , Julian Mackay , Jonathan Aldrich , Alex Potanin

One recurring problem in program development is that of understanding how to re-use code developed by a third party. In the context of (constraint) logic programming, part of this problem reduces to figuring out how to query a program. If…

Programming Languages · Computer Science 2007-05-23 Andy King , Lunjin Lu

We revisit the finite time analysis of policy gradient methods in the one of the simplest settings: finite state and action MDPs with a policy class consisting of all stochastic policies and with exact gradient evaluations. There has been…

Machine Learning · Computer Science 2021-12-14 Jalaj Bhandari , Daniel Russo

Solving math word problems requires deductive reasoning over the quantities in the text. Various recent research efforts mostly relied on sequence-to-sequence or sequence-to-tree models to generate mathematical expressions without…

Computation and Language · Computer Science 2022-09-16 Zhanming Jie , Jierui Li , Wei Lu

Most of Markov Chain Monte Carlo (MCMC) and sequential Monte Carlo (SMC) algorithms in existing probabilistic programming systems suboptimally use only model priors as proposal distributions. In this work, we describe an approach for…

Artificial Intelligence · Computer Science 2016-05-17 Yura N Perov , Tuan Anh Le , Frank Wood

A key issue in the handling of temporal data is the treatment of persistence; in most approaches it consists in inferring defeasible confusions by extrapolating from the actual knowledge of the history of the world; we propose here a…

Artificial Intelligence · Computer Science 2013-03-08 Dimiter Driankov , Jerome Lang

In this paper we propose an approach to reasoning about properties of imperative programs. We assume in this context that the meanings of program constructs are described using rules in the natural semantics style with the additional…

Logic in Computer Science · Computer Science 2015-03-04 Daniel DaCosta

In functional programming, datatypes a la carte provide a convenient modular representation of recursive datatypes, based on their initial algebra semantics. Unfortunately it is highly challenging to implement this technique in proof…

Logic in Computer Science · Computer Science 2015-09-11 Paolo Torrini , Tom Schrijvers

This paper studies trace-based equivalences for systems combining nondeterministic and probabilistic choices. We show how trace semantics for such processes can be recovered by instantiating a coalgebraic construction known as the…

Logic in Computer Science · Computer Science 2023-06-22 Filippo Bonchi , Ana Sokolova , Valeria Vignudelli

A sequential piecewise linear programming method is presented where bounded domains of non-convex functions are successively contracted about the solution of a piecewise linear program at each iteration of the algorithm. Although…

Optimization and Control · Mathematics 2020-04-21 James P. L. Tan

Starting with an algorithm to turn lists into full trees which uses non-obvious invariants and partial functions, we progressively encode the invariants in the types of the data, removing most of the burden of a correctness proof. The…

Data Structures and Algorithms · Computer Science 2014-06-16 Guyslain Naves , Arnaud Spiwack

In functional programming, monads are supposed to encapsulate computations, effectfully producing the final result, but keeping to themselves the means of acquiring it. For various reasons, we sometimes want to reveal the internals of a…

Programming Languages · Computer Science 2012-02-15 Maciej Piróg , Jeremy Gibbons

Graded modal logics generalise standard modal logics via families of modalities indexed by an algebraic structure whose operations mediate between the different modalities. The graded "of-course" modality $!_r$ captures how many times a…

Logic in Computer Science · Computer Science 2024-11-26 Victoria Vollmer , Danielle Marshall , Harley Eades , Dominic Orchard

Nonmonotonic reasoning is a pattern of reasoning that allows an agent to make and retract (tentative) conclusions from inconclusive evidence. This paper gives a possible-worlds interpretation of the nonmonotonic reasoning problem based on…

Artificial Intelligence · Computer Science 2013-04-10 Carl Kadie

Quicksort on the fly returns the input of $n$ reals in increasing natural order during the sorting process. Correctly normalized the running time up to returning the l-th smallest out of n seen as a process in l converges weakly to a…

Probability · Mathematics 2013-02-18 Mahmoud Ragab , Uwe Roesler