English
Related papers

Related papers: Translating proofs from an impredicative type syst…

200 papers

Automated theorem provers and formal proof assistants are general reasoning systems that are in theory capable of proving arbitrarily hard theorems, thus solving arbitrary problems reducible to mathematics and logical reasoning. In…

Artificial Intelligence · Computer Science 2025-06-23 Lasse Blaauwbroek , David Cerna , Thibault Gauthier , Jan Jakubův , Cezary Kaliszyk , Martin Suda , Josef Urban

Abductive reasoning (or Abduction, for short) is among the most fundamental AI reasoning methods, with a broad range of applications, including fault diagnosis, belief revision, and automated planning. Unfortunately, Abduction is of high…

Artificial Intelligence · Computer Science 2013-04-23 Andreas Pfandler , Stefan Rümmele , Stefan Szeider

We observe today a large diversity of proof systems. This diversity has the negative consequence that a lot of theorems are proved many times. Unlike programming languages, it is difficult for these systems to co-operate because they do not…

Logic in Computer Science · Computer Science 2018-07-06 François Thiré

Valiant (1975) has developed an algorithm for recognition of context free languages. As of today, it remains the algorithm with the best asymptotic complexity for this purpose. In this paper, we present an algebraic specification,…

Logic in Computer Science · Computer Science 2019-03-14 Jean-Philippe Bernardy , Patrik Jansson

We develop combinatorial test generation algorithms for progressively more powerful theorem provers, covering formula languages ranging from the implicational fragment of intuitionistic logic to full intuitionistic propositional logic. Our…

Logic in Computer Science · Computer Science 2019-10-07 Paul Tarau

Agda is a dependently-typed programming language and a proof assistant, pivotal in proof formalization and programming language theory. This paper extends the Agda ecosystem into machine learning territory, and, vice versa, makes…

Machine Learning · Computer Science 2024-10-31 Konstantinos Kogkalidis , Orestis Melkonian , Jean-Philippe Bernardy

Mechanical proofs by logical relations often involve tedious reasoning about substitution. In this paper, we show that this is not necessarily the case, by developing, in Agda, a proof that all simply typed lambda calculus expressions…

Programming Languages · Computer Science 2023-09-28 Emmanuel Suárez Acevedo , Stephanie Weirich

We adapt the technique of type-generic programming via descriptions pointing into a universe to the domain of typed languages with binders and variables, implementing a notion of "syntax-generic programming" in a dependently typed…

Programming Languages · Computer Science 2018-04-03 Gergő Érdi

Whereas proof assistants based on Higher-Order Logic benefit from external solvers' automation, those based on Type Theory resist automation and thus require more expertise. Indeed, the latter use a more expressive logic which is further…

Logic in Computer Science · Computer Science 2021-07-07 Valentin Blot , Louise Dubois de Prisque , Chantal Keller , Pierre Vial

The Agda Universal Algebra Library (UALib) is a library of types and programs (theorems and proofs) we developed to formalize the foundations of universal algebra in dependent type theory using the Agda programming language and proof…

Logic in Computer Science · Computer Science 2021-04-21 William DeMeo

Many variants of type theory extend a basic theory with additional primitives or properties like univalence, guarded recursion or parametricity, to enable constructions or proofs that would be harder or impossible to do in the original…

Programming Languages · Computer Science 2022-07-05 Joris Ceulemans , Andreas Nuyts , Dominique Devriese

Reasoning under uncertainty is a fundamental challenge in Artificial Intelligence. As with most of these challenges, there is a harsh dilemma between the expressive power of the language used, and the tractability of the computational…

Artificial Intelligence · Computer Science 2025-05-08 Luise Ge , Brendan Juba , Kris Nilsson

The interoperability of proof assistants and the integration of their libraries is a highly valued but elusive goal in the field of theorem proving. As a preparatory step, in previous work, we translated the libraries of multiple proof…

Logic in Computer Science · Computer Science 2020-05-12 Michael Kohlhase , Florian Rabe

We present an algorithm, called Predict, for updating beliefs in causal networks quantified with order-of-magnitude probabilities. The algorithm takes advantage of both the structure and the quantification of the network and presents a…

Artificial Intelligence · Computer Science 2013-02-21 Moises Goldszmidt

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

DHOL is an extensional, classical logic that equips the well-known higher-order logic (HOL) with dependent types. This allows for concise encodings of important domains like size-bounded data structures, category theory, or proof theory.…

Logic in Computer Science · Computer Science 2026-05-04 Rhea Ranalter , Florian Rabe , Cezary Kaliszyk

We introduce Voevodsky's univalent foundations and univalent mathematics, and explain how to develop them with the computer system Agda, which is based on Martin-L\"of type theory. Agda allows us to write mathematical definitions,…

Logic in Computer Science · Computer Science 2022-09-05 Martín Hötzel Escardó

Many automatic theorem provers are restricted to untyped logics, and existing translations from typed logics are bulky or unsound. Recent research proposes monotonicity as a means to remove some clutter when translating monomorphic to…

Logic in Computer Science · Computer Science 2019-03-14 Jasmin Christian Blanchette , Sascha Böhme , Andrei Popescu , Nicholas Smallbone

Sized types are a modular and theoretically well-understood tool for checking termination of recursive and productivity of corecursive definitions. The essential idea is to track structural descent and guardedness in the type system to make…

Programming Languages · Computer Science 2010-12-23 Andreas Abel

With little to no parallel data available for programming languages, unsupervised methods are well-suited to source code translation. However, the majority of unsupervised machine translation approaches rely on back-translation, a method…

Software Engineering · Computer Science 2022-02-17 Baptiste Roziere , Jie M. Zhang , Francois Charton , Mark Harman , Gabriel Synnaeve , Guillaume Lample