English
Related papers

Related papers: Teaching Simple Constructive Proofs with Haskell P…

200 papers

For performance and verification in machine learning, new methods have recently been proposed that optimise learning systems to satisfy formally expressed logical properties. Among these methods, differentiable logics (DLs) are used to…

Logic in Computer Science · Computer Science 2024-07-08 Reynald Affeldt , Alessandro Bruni , Ekaterina Komendantskaya , Natalia Ślusarz , Kathrin Stark

This comprehensive survey examines Lean 4, a state-of-the-art interactive theorem prover and functional programming language. We analyze its architectural design, type system, metaprogramming capabilities, and practical applications in…

Logic in Computer Science · Computer Science 2025-02-03 Xichen Tang

Recently, a growing number of researchers have applied machine learning to assist users of interactive theorem provers. However, the expressive nature of underlying logics and esoteric structures of proof documents impede machine learning…

Logic in Computer Science · Computer Science 2020-05-27 Yutaka Nagashima

This paper documents our experience using declarative languages to give secondary school students a first taste of Computer Science. The course aims to teach students a bit about programming in Prolog, but also exposes them to important…

Computers and Society · Computer Science 2013-01-23 Jurriën Stutterheim , Wouter Swierstra , Doaitse Swierstra

Instruction sets, from families like x86 and ARM, are at the center of many ambitious formal-methods projects. Many verification, synthesis, programming, and debugging tools rely on formal semantics of instruction sets, but different tools…

Logic in Computer Science · Computer Science 2022-11-18 Thomas Bourgeat , Ian Clester , Andres Erbsen , Samuel Gruetter , Pratap Singh , Andrew Wright , Adam Chlipala

Increased demands in the field of scientific computation require that algorithms be more efficiently implemented. Maintaining correctness in addition to efficiency is a challenge that software engineers in the field have to face. In this…

Software Engineering · Computer Science 2018-02-15 Bernhard Beckert , Britta Nestler , Moritz Kiefer , Michael Selzer , Mattias Ulbrich

We discuss a practical method for assessing mathematical proof online. We examine the use of faded worked examples and reading comprehension questions to understand proof. By breaking down a given proof, we formulate a checklist that can be…

History and Overview · Mathematics 2020-06-03 Robert T Bickerton , Chris Sangwin

Mechanized theorem proving is becoming the basis of reliable systems programming and rigorous mathematics. Despite decades of progress in proof automation, writing mechanized proofs still requires engineers' expertise and remains labor…

Logic in Computer Science · Computer Science 2019-04-19 Yutaka Nagashima

Several formal systems, such as resolution and minimal model semantics, provide a framework for logic programming. In this paper, we will survey the use of structural proof theory as an alternative foundation. Researchers have been using…

Logic in Computer Science · Computer Science 2021-11-02 Dale Miller

Formal methods for software correctness are critical to the future of software engineering - and so must be an essential part of software engineering education. Unfortunately, formal methods are often resisted by students due to perceived…

Software Engineering · Computer Science 2022-05-03 James Noble , David Streader , Isaac Oscar Gariano , Miniruwani Samarakoon

The automated generation of exercises may substantially reduce the time educators devote to manual exercise design. A major obstacle to the integration of such automation into teaching practice, however, lies in the ability to control the…

Logic in Computer Science · Computer Science 2026-03-10 João Mendes , João Marcos , Patrick Terrematte

The sequent calculus is a formalism for proving validity of statements formulated in First-Order Logic. It is routinely used in computer science modules on mathematical logic. Formal proofs in the sequent calculus are finite trees obtained…

Logic in Computer Science · Computer Science 2018-03-06 Arno Ehle , Norbert Hundeshagen , Martin Lange

In various provers and deductive verification tools, logical transformations are used extensively in order to reduce a proof task into a number of simpler tasks. Logical transformations are often part of the trusted base of such tools. In…

Logic in Computer Science · Computer Science 2021-07-07 Quentin Garchery

Exact real computation is an alternative to floating-point arithmetic where operations on real numbers are performed exactly, without the introduction of rounding errors. When proving the correctness of an implementation, one can focus…

Logic in Computer Science · Computer Science 2024-10-22 Michal Konečný , Sewon Park , Holger Thies

Automatically generating high-quality step-by-step solutions to math word problems has many applications in education. Recently, combining large language models (LLMs) with external tools to perform complex reasoning and calculation has…

Computation and Language · Computer Science 2023-04-19 Joy He-Yueya , Gabriel Poesia , Rose E. Wang , Noah D. Goodman

Computer experiments refer to the study of real systems using complex simulation models. They have been widely used as alternatives to physical experiments. Design and analysis of computer experiments have attracted great attention in past…

Methodology · Statistics 2025-04-29 Anita Shahrokhian , Xinwei Deng , C. Devon Lin

Elfe is an interactive system for teaching basic proof methods in discrete mathematics. The user inputs a mathematical text written in fair English which is converted to a special data-structure of first-order formulas. Certain proof…

Logic in Computer Science · Computer Science 2018-02-01 Maximilian Doré , Krysia Broda

Verifying mathematical proofs is difficult, but can be automated with the assistance of a computer. Autoformalization is the task of automatically translating natural language mathematics into a formal language that can be verified by a…

Computation and Language · Computer Science 2024-07-11 Nilay Patel , Rahul Saha , Jeffrey Flanigan

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

In this position paper, we present a prototype of a visualizer for functional programs. Such programs, whose evaluation model is the reduction of an expression to a value through repeated application of rewriting rules, and which tend to…

Programming Languages · Computer Science 2024-11-04 John Whitington , Tom Ridge