English
Related papers

Related papers: Formal Verification of Monad Transformers

200 papers

We present a domain-specific type theory for constructions and proofs in category theory. The type theory axiomatizes notions of category, functor, profunctor and a generalized form of natural transformations. The type theory imposes an…

Category Theory · Mathematics 2023-02-21 Max S. New , Daniel R. Licata

UCLID5 is a tool for the multi-modal formal modeling, verification, and synthesis of systems. It enables one to tackle verification problems for heterogeneous systems such as combinations of hardware and software, or those that have…

Assurance cases are often required as a means to certify a critical system. Use of formal methods in assurance can improve automation, and overcome problems with ambiguity, faulty reasoning, and inadequate evidentiary support. However,…

Logic in Computer Science · Computer Science 2019-05-16 Yakoub Nemouchi , Simon Foster , Mario Gleirscher , Tim Kelly

Most type systems that support polymorphic functions are based on a version of System-F. We argue that this limits useful programming paradigms for languages with lazy evaluation. We motivate an extension of System-F alleviating this…

Programming Languages · Computer Science 2016-12-15 S. Doaitse Swierstra , Marcos Viera , Atze Dijkstra

In mathematics, it is common practice to have several constructions for the same objects. Mathematicians will identify them modulo isomorphism and will not worry later on which construction they use, as theorems proved for one construction…

Logic in Computer Science · Computer Science 2015-07-10 Théo Zimmermann , Hugo Herbelin

Proof assistants are getting more widespread use in research and industry to provide certified and independently checkable guarantees about theories, designs, systems and implementations. However, proof assistant implementations themselves…

Programming Languages · Computer Science 2021-07-19 Matthieu Sozeau

G\"odel's ontological proof has been analysed for the first-time with an unprecedent degree of detail and formality with the help of higher-order theorem provers. The following has been done (and in this order): A detailed natural deduction…

Logic in Computer Science · Computer Science 2017-09-05 Christoph Benzmüller , Bruno Woltzenlogel Paleo

Applicative functors are a generalisation of monads. Both allow the expression of effectful computations into an otherwise pure language, like Haskell. Applicative functors are to be preferred to monads when the structure of a computation…

Programming Languages · Computer Science 2014-06-10 Paolo Capriotti , Ambrus Kaposi

Usage control models provide an integration of access control, digital rights, and trust management. To achieve this integration, usage control models support additional concepts such as attribute mutability and continuity of decision.…

Logic in Computer Science · Computer Science 2018-06-27 Antonios Gouglidis , Christos Grompanopoulos , Anastasia Mavridou

Dependently typed proof assistant rely crucially on definitional equality, which relates types and terms that are automatically identified in the underlying type theory. This paper extends type theory with definitional functor laws,…

Programming Languages · Computer Science 2024-04-10 Théo Laurent , Meven Lennon-Bertrand , Kenji Maillard

Type-preserving (or typed) compilation uses typing derivations to certify correctness properties of compilation. We have designed and implemented a type-preserving compiler for a simply-typed dialect of Prolog we call T-Prolog. The crux of…

Programming Languages · Computer Science 2022-06-29 Rose Bohrer , Karl Crary

We introduce two-sided type systems, which are sequent calculi for typing formulas. Two-sided type systems allow for hypothetical reasoning over the typing of compound program expressions, and the refutation of typing formulas. By…

Programming Languages · Computer Science 2023-10-23 Steven Ramsay , Charlie Walpole

We introduce dicodensity monads: a generalisation of pointwise codensity monads generated by functors to monads generated by mixed-variant bifunctors. Our construction is based on the notion of strong dinaturality (also known as Barr…

Logic in Computer Science · Computer Science 2026-03-03 Maciej Piróg , Filip Sieczkowski

This paper describes a formal theory of smooth vector fields, Lie groups and the Lie algebra of a Lie group in the theorem prover Isabelle. Lie groups are abstract structures that are composable, invertible and differentiable. They are…

Logic in Computer Science · Computer Science 2024-07-30 Richard Schmoetten , Jacques D. Fleuriot

The design and implementation of static analyzers has become increasingly systematic. Yet for a given language or analysis feature, it often requires tedious and error prone work to implement an analyzer and prove it sound. In short, static…

Programming Languages · Computer Science 2015-10-06 David Darais , Matthew Might , David Van Horn

The Isabelle/PIDE platform addresses the question whether proof assistants of the LCF family are suitable as technological basis for educational tools. The traditionally strong logical foundations of systems like HOL, Coq, or Isabelle have…

Logic in Computer Science · Computer Science 2012-02-23 Makarius Wenzel , Burkhart Wolff

The ever-growing complexity of mathematical proofs makes their manual verification by mathematicians very cognitively demanding. Autoformalization seeks to address this by translating proofs written in natural language into a formal…

Computation and Language · Computer Science 2023-01-06 Garett Cunningham , Razvan C. Bunescu , David Juedes

Formal methods is pivotal for verifying the reliability of critical systems through rigorous mathematical proofs. However, its adoption is hindered by labor-intensive manual proofs and the expertise required to use theorem provers. Recent…

Formal Languages and Automata Theory · Computer Science 2025-05-22 Jilin Hu , Jianyu Zhang , Yongwang Zhao , Talia Ringer

Bidirectional typechecking, in which terms either synthesize a type or are checked against a known type, has become popular for its applicability to a variety of type systems, its error reporting, and its ease of implementation. Following…

Programming Languages · Computer Science 2020-09-22 Jana Dunfield , Neelakantan R. Krishnaswami

It is well-known that every regular language admits a unique minimal deterministic acceptor. Establishing an analogous result for non-deterministic acceptors is significantly more difficult, but nonetheless of great practical importance. To…

Formal Languages and Automata Theory · Computer Science 2023-06-16 Stefan Zetzsche , Alexandra Silva , Matteo Sammartino