English
Related papers

Related papers: The Tactician (extended version): A Seamless, Inte…

200 papers

Recently, we developed an automated theorem prover for projective incidence geometry. This prover, based on a combinatorial approach using matroids, proceeds by saturation using the matroid rules. It is designed as an independent tool,…

Logic in Computer Science · Computer Science 2021-07-13 Nicolas Magaud

Due to their numerous advantages, formal proofs and proof assistants, such as Coq, are becoming increasingly popular. However, one disadvantage of using proof assistants is that the resulting proofs can sometimes be hard to read and…

Programming Languages · Computer Science 2017-12-12 Andrew Bedford

Proof engineering efforts using interactive theorem proving have yielded several impressive projects in software systems and mathematics. A key obstacle to such efforts is the requirement that the domain expert is also an expert in the…

Programming Languages · Computer Science 2021-01-13 Heiko Becker , Nathaniel Bos , Ivan Gavran , Eva Darulova , Rupak Majumdar

In the realm of formal theorem proving, the Coq proof assistant stands out for its rigorous approach to verifying mathematical assertions and software correctness. Despite the advances in artificial intelligence and machine learning, the…

Artificial Intelligence · Computer Science 2024-04-03 Andreas Florath

PyLog is a minimal experimental proof assistant based on linearised natural deduction for intuitionistic and classical first-order logic extended with a comprehension operator. PyLog is interesting as a tool to be used in conjunction with…

Logic · Mathematics 2023-06-06 Clarence Lewis Protin

Although automated reasoning with diagrams has been possible for some years, tools for diagrammatic reasoning are generally much less sophisticated than their sentential cousins. The tasks of exploring levels of automation and abstraction…

Logic in Computer Science · Computer Science 2017-01-26 Sven Linker , Jim Burton , Mateja Jamnik

Contemporary proof assistants such as Coq require that recursive functions be terminating and corecursive functions be productive to maintain logical consistency of their type theories, and some ensure these properties using syntactic…

Programming Languages · Computer Science 2023-01-26 Jonathan Chan , Yufeng Li , William J. Bowman

Several approaches exist to data-mining big corpora of formal proofs. Some of these approaches are based on statistical machine learning, and some -- on theory exploration. However, most are developed for either untyped or simply-typed…

Programming Languages · Computer Science 2017-05-23 Ekaterina Komendantskaya , Jonathan Heras

This paper describes SEPIA, a tool for automated proof generation in Coq. SEPIA combines model inference with interactive theorem proving. Existing proof corpora are modelled using state-based models inferred from tactic sequences. These…

Logic in Computer Science · Computer Science 2015-06-01 Thomas Gransden , Neil Walkinshaw , Rajeev Raman

In theorem provers based on dependent type theory such as Coq and Lean, induction is a fundamental proof method and induction tactics are omnipresent in proof scripts. Yet the ergonomics of existing induction tactics are not ideal: they do…

Logic in Computer Science · Computer Science 2020-12-17 Jannis Limperg

We describe jsCcoq, a new platform and user environment for the Coq interactive proof assistant. The jsCoq system targets the HTML5-ECMAScript 2015 specification, and it is typically run inside a standards-compliant browser, without the…

Programming Languages · Computer Science 2017-01-26 Emilio Jesús Gallego Arias , Benoît Pin , Pierre Jouvelot

Interactive Theorem Provers (ITPs) are an indispensable tool in the arsenal of formal method experts as a platform for construction and (formal) verification of proofs. The complexity of the proofs in conjunction with the level of expertise…

Logic in Computer Science · Computer Science 2023-04-21 Eric Yeh , Briland Hitaj , Sam Owre , Maena Quemener , Natarajan Shankar

The importance of category theory in recent developments in both mathematics and in computer science cannot be overstated. However, its abstract nature makes it difficult to understand at first. Graphical languages have been developed to…

Logic in Computer Science · Computer Science 2025-05-21 Luc Chabassier

We describe a new approach to automatically repairing broken proofs in the Coq proof assistant in response to changes in types. Our approach combines a configurable proof term transformation with a decompiler from proof terms to tactic…

Programming Languages · Computer Science 2021-05-13 Talia Ringer , RanDair Porter , Nathaniel Yazdani , John Leo , Dan Grossman

We present a prototype of an integrated reasoning environment for educational purposes. The presented tool is a fragment of a proof assistant and automated theorem prover. We describe the existing and planned functionality of the theorem…

Human-Computer Interaction · Computer Science 2018-03-06 Mario Frank , Christoph Kreitz

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

In order to help students learn how to write mathematical proofs, we adapt the Coq proof assistant into an educational tool we call Waterproof. Like with other interactive theorem provers, students write out their proofs inside the software…

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

Expressive static typing disciplines are a powerful way to achieve high-quality software. However, the adoption cost of such techniques should not be under-estimated. Just like gradual typing allows for a smooth transition from…

Programming Languages · Computer Science 2015-08-25 Éric Tanter , Nicolas Tabareau

Common programming tools, like compilers, debuggers, and IDEs, crucially rely on the ability to analyse program code to reason about its behaviour and properties. There has been a great deal of work on verifying compilers and static…

Programming Languages · Computer Science 2019-07-15 Jan Stolarek , James Cheney