Related papers: A computer verified, monadic, functional implement…
We introduce a new two-sided type system for verifying the correctness and incorrectness of functional programs with atoms and pattern matching. A key idea in the work is that types should range over sets of normal forms, rather than sets…
This article presents a bidirectional type system for the Calculus of Inductive Constructions (CIC). It introduces a new judgement intermediate between the usual inference and checking, dubbed constrained inference, to handle the presence…
We develop the Scott model of the programming language PCF in univalent type theory. Moreover, we work constructively and predicatively. To account for the non-termination in PCF, we use the lifting monad (also known as the partial map…
We extend intersection types to a computational $\lambda$-calculus with algebraic operations \`a la Plotkin and Power. We achieve this by considering monadic intersections, whereby computational effects appear not only in the operational…
We define instantiational and algorithmic completeness for a formal language. We show that, in the presence of Church's Thesis, an alternative interpretation of Goedelian incompleteness is that Peano Arithmetic is instantiationally…
Relational properties describe multiple runs of one or more programs. They characterize many useful notions of security, program refinement, and equivalence for programs with diverse computational effects, and they have received much…
We present a marriage of functional and structured imperative programming that embeds in pure lambda calculus. We describe how we implement the core of this language in a monadic DSL which is structurally equivalent to our intended source…
We present a notion of primitive which corresponds exactly with the Riemann integral. We obtain a characterization of the integrability in the sense of Riemann which produces a Fundamental Theorem of Calculus without special assumptions. We…
The present paper shows meta-programming turn programming, which is rich enough to express arbitrary arithmetic computations. We demonstrate a type system that implements Peano arithmetics, slightly generalized to negative numbers. Certain…
We show how to smoothly incorporate in the object-oriented paradigm constructs to raise, compose, and handle effects in an arbitrary monad. The underlying pure calculus is meant to be a representative of the last generation of OO languages,…
This is my working paper on a proposed logical framework for the practice of mathematics, which is paralleled by philosophical considerations and a computer implementation (a variant of Automath). Updated 10/27/2016 with a version from…
In this paper we continue the description of the possibilities to use numerical simulations for mathematically rigorous computer assisted analysis of integrability of dynamical systems. We sketch some of the algebraic methods of studying…
We present a new model of computation, described in terms of monoidal categories. It conforms the Church-Turing Thesis, and captures the same computable functions as the standard models. It provides a succinct categorical interface to most…
We show a possibility to apply certain philosophical concepts to the analysis of concrete mathematical structures. Such application gives a clear justification of topological and geometric properties of considered mathematical objects.
We introduce a direct image formalism for constructible motivic functions. One deduces a very general version of motivic integration for which a change of variables theorem is proved. These constructions are generalized to the relative…
We introduce an orbifold induction procedure which provides a systematic construction of cyclic orbifolds, including their twisted sectors. The procedure gives counterparts in the orbifold theory of all the current-algebraic constructions…
Proof assistant software has recently been used to verify proofs of major theorems, yet even the libraries of some of the most prominent proof assistants lack much of undergraduate mathematics. In particular, the Agda proof assistant has no…
The depth-bounded fragment of the pi-calculus is an expressive class of systems enjoying decidability of some important verification problems. Unfortunately membership of the fragment is undecidable. We propose a novel type system,…
In this paper we present the formal, computer-supported verification of a functional implementation of Buchberger's critical-pair/completion algorithm for computing Gr\"obner bases in reduction rings. We describe how the algorithm can be…
Functional programming offers the perfect ground for building correct-by-construction software. Languages of such paradigm normally feature state-of-the-art type systems, good abstraction mechanisms, and well-defined execution models. We…