English
Related papers

Related papers: Translating proofs from an impredicative type syst…

200 papers

As the development of formal proofs is a time-consuming task, it is important to devise ways of sharing the already written proofs to prevent wasting time redoing them. One of the challenges in this domain is to translate proofs written in…

Logic in Computer Science · Computer Science 2024-09-18 Thiago Felicissimo , Frédéric Blanqui

Theorem provers are tools that help users to write machine readable proofs. Some of this tools are also interactive. The need of such softwares is increasing since they provide proofs that are more certified than the hand written ones. Agda…

Logic in Computer Science · Computer Science 2020-02-18 Luca Ciccone

Logical frameworks can be used to translate proofs from a proof system to another one. For this purpose, we should be able to encode the theory of the proof system in the logical framework. The Lambda Pi calculus modulo theory is one of…

Logic in Computer Science · Computer Science 2023-10-26 Yoan Géran

We present a lightweight, open source Agda framework for manually verifying effectful programs using predicate transformer semantics. We represent the abstract syntax trees (AST) of effectful programs with a generalized algebraic datatype…

Software Engineering · Computer Science 2022-08-18 Christa Jenkins , Mark Moir , Harold Carr

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction.…

Programming Languages · Computer Science 2022-03-04 Henry Mercer , Cameron Ramsay , Neel Krishnaswami

Dependently-typed proof assistants furnish expressive foundations for mechanised mathematics and verified software. However, automation for these systems has been either modest in scope or complex in implementation. We aim to improve the…

Logic in Computer Science · Computer Science 2026-02-24 Artjoms Šinkarovs , Michael Rawson

In recent years, the interest in using proof assistants to formalise and reason about mathematics and programming languages has grown. Type-logical grammars, being closely related to type theories and systems used in functional programming,…

Logic in Computer Science · Computer Science 2017-09-06 Wen Kokke

We generalise the termination method of higher-order polynomial interpretations to a setting with impredicative polymorphism. Instead of using weakly monotonic functionals, we interpret terms in a suitable extension of System F-omega. This…

Logic in Computer Science · Computer Science 2019-04-23 Łukasz Czajka , Cynthia Kop

We present an extensive mechanization of the meta-theory of Martin-L\"of Type Theory (MLTT) in the Coq proof assistant. Our development builds on pre-existing work in Agda to show not only the decidability of conversion, but also the…

Programming Languages · Computer Science 2023-10-11 Arthur Adjedj , Meven Lennon-Bertrand , Kenji Maillard , Pierre-Marie Pédrot , Loïc Pujet

Proof assistants play a dual role as programming languages and logical systems. As programming languages, proof assistants offer standard modularity mechanisms such as first-class functions, type polymorphism and modules. As logical…

Logic in Computer Science · Computer Science 2021-08-24 Kenji Maillard , Nicolas Margulies , Matthieu Sozeau , Nicolas Tabareau , Éric Tanter

This paper presents a case study of formalizing a normalization proof for Leivant's Predicative System F using the Equations package. Leivant's Predicative System F is a stratified version of System F, where type quantification is annotated…

Logic in Computer Science · Computer Science 2015-08-04 Cyprien Mangin , Matthieu Sozeau

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

Datatype-generic programming increases program abstraction and reuse by making functions operate uniformly across different types. Many approaches to generic programming have been proposed over the years, most of them for Haskell, but…

Programming Languages · Computer Science 2012-02-15 José Pedro Magalhães , Andres Löh

Translating expressions between different logics and theorem provers is notoriously and often prohibitively difficult, due to the large differences between the logical foundations, the implementations of the systems, and the structure of…

Logic in Computer Science · Computer Science 2017-12-06 Dennis Müller , Colin Rothgang , Yufei Liu , Florian Rabe

We are using the Agda programming language and proof assistant to formally verify the correctness of a Byzantine Fault Tolerant consensus implementation based on HotStuff / LibraBFT. The Agda implementation is a translation of our Haskell…

Logic in Computer Science · Computer Science 2022-05-19 Harold Carr , Christa Jenkins , Mark Moir , Victor Cacciari Miraldo , Lisandra Silva

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

One way of proving theorems in modal logics is translating them into the predicate calculus and then using conventional resolution-style theorem provers. This approach has been regarded as inappropriate in practice, because the resulting…

Logic in Computer Science · Computer Science 2021-12-30 Jian Zhang

In this paper we demonstrate a technique for developing high performance applications with strong correctness guarantees. We use a theorem prover to derive a high-level specification of the application that includes correctness invariants…

Programming Languages · Computer Science 2024-06-18 Artjoms Sinkarovs , Thomas Koopman , Sven-Bodo Scholz

Relational verification is a technique that aims at proving properties that relate two different program fragments, or two different program runs. It has been shown that constrained Horn clauses (CHCs) can effectively be used for relational…

Logic in Computer Science · Computer Science 2017-09-15 Emanuele De Angelis , Fabio Fioravanti , Alberto Pettorossi , Maurizio Proietti

Many real world domains require the representation of a measure of uncertainty. The most common such representation is probability, and the combination of probability with logic programs has given rise to the field of Probabilistic Logic…

Artificial Intelligence · Computer Science 2011-07-26 Fabrizio Riguzzi , Terrance Swift
‹ Prev 1 2 3 10 Next ›