English
Related papers

Related papers: Teaching Simple Constructive Proofs with Haskell P…

200 papers

LLM-generated explanations can make technical content more accessible, but there is a ceiling on what they can support interactively. Because LLM outputs are static text, they cannot be executed or stepped through. We argue that grounding…

Human-Computer Interaction · Computer Science 2026-04-13 Hita Kambhamettu , Will Crichton , Sean Welleck , Harrison Goldstein , Andrew Head

We propose a synthesis of the two proof styles of interactive theorem proving: the procedural style (where proofs are scripts of commands, like in Coq) and the declarative style (where proofs are texts in a controlled natural language, like…

Logic in Computer Science · Computer Science 2015-07-01 Freek Wiedijk

While proof is a central component of postsecondary mathematical study, proof construction has historically posed significant difficulties for students who intend to earn mathematics degrees at the undergraduate level. This work is…

History and Overview · Mathematics 2023-03-01 Bolanle Salaam

How difficult are interactive theorem provers to use? We respond by reviewing the formalization of Hilbert's tenth problem in Isabelle/HOL carried out by an undergraduate research group at Jacobs University Bremen. We argue that, as…

Logic in Computer Science · Computer Science 2021-06-24 Jonas Bayer , Marco David , Abhik Pal , Benedikt Stock

Formally verifying properties of software code has been a highly desirable task, especially with the emergence of LLM-generated code. In the same vein, they provide an interesting avenue for the exploration of formal verification and…

Artificial Intelligence · Computer Science 2025-10-02 Balaji Rao , William Eiers , Carlo Lipizzi

Computer Algebra systems are widely spread because of some of their remarkable features such as their ease of use and performance. Nonetheless, this focus on performance sometimes leads to unwanted consequences: algorithms and computations…

Logic in Computer Science · Computer Science 2014-01-27 Jesús Aransay , Jose Divasón

We have developed an alternative approach to teaching computer science students how to prove. First, students are taught how to prove theorems with the Coq proof assistant. In a second, more difficult, step students will transfer their…

Logic in Computer Science · Computer Science 2018-03-06 Sebastian Böhne , Christoph Kreitz

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

Teaching logic effectively requires an understanding of the factors which cause logic students to struggle. Formalization exercises, which require the student to produce a formula corresponding to the natural language sentence, are a good…

Logic in Computer Science · Computer Science 2022-04-27 Alexandra Mayn , Kees van Deemter

Interactive proof assistants make it possible for ordinary mathematicians to write definitions and theorems in a formal proof language, like a programming language, so that a computer can parse them and check them against the rules of a…

History and Overview · Mathematics 2024-11-20 Jeremy Avigad , Johan Commelin , Heather Macbeth , Adam Topaz

Electronic exams (e-exams) have the potential to substantially reduce the effort required for conducting an exam through automation. Yet, care must be taken to sacrifice neither task complexity nor constructive alignment nor grading…

Computers and Society · Computer Science 2023-08-17 Ole Lübke , Konrad Fuger , Fin Hendrik Bahnsen , Katrin Billerbeck , Sibylle Schupp

Formalizing mathematical proofs using computerized verification languages like Lean 4 has the potential to significantly impact the field of mathematics, it offers prominent capabilities for advancing mathematical reasoning. However,…

Computation and Language · Computer Science 2024-11-11 Xichen Tang

Writing and argumentation are critical to both professional physics and physics education. However, the skill of making an extended argument in writing is often overlooked in physics classrooms, apart from certain practices like lab…

Physics Education · Physics 2020-06-19 Tor Ole B. Odden , John Burk

This paper provides an overview of common challenges in teaching of logic and formal methods to Computer Science and IT students. We discuss our experiences from the course IN3050: Applied Logic in Engineering, introduced as a "logic for…

Logic in Computer Science · Computer Science 2016-12-07 Maria Spichkova

Formal reasoning about the time complexity of algorithms and data structures is usually done in interactive theorem provers like Isabelle/HOL. This includes reasoning about amortized time complexity which looks at the worst case performance…

Computational Complexity · Computer Science 2024-07-19 Jan van Brügge

This paper is a tutorial introducing the underlying technology and the use of the tool Liquid Haskell, a type-checker for the functional language Haskell that can help programmers to verify non-trivial properties of their programs with a…

Programming Languages · Computer Science 2017-01-13 Ricardo Peña

What kinds of mistakes are made by novice Haskell developers, as they learn about functional programming? Is it possible to analyze these errors in order to improve the pedagogy of Haskell? In 2016, we delivered a massive open online course…

Programming Languages · Computer Science 2018-05-15 Jeremy Singer , Blair Archibald

Learning functional programming requires learning a substitution-based computational model. While substitution should be a familiar concept from high-school algebra, students often have difficulty applying it to new settings, such as…

Programming Languages · Computer Science 2025-08-06 Pedro Vasconcelos

Interactive proof assistants are computer programs carefully constructed to check a human-designed proof of a mathematical claim with high confidence in the implementation. However, this only validates truth of a formal claim, which may…

Programming Languages · Computer Science 2023-10-09 Colin S. Gordon , Sergey Matskevich

Teaching proofs is a crucial component of any undergraduate-level program that covers formal reasoning. We have developed a calculational reasoning format and refined it over several years of teaching a freshman-level course, "Logic and…

Logic in Computer Science · Computer Science 2023-11-16 Andrew T. Walter , Ankit Kumar , Panagiotis Manolios