Equational reasoning is one of the key features of pure functional languages such as Haskell. To date, however, such reasoning always took place externally to Haskell, either manually on paper, or mechanised in a theorem prover. This article shows how equational reasoning can be performed directly and seamlessly within Haskell itself, and be checked using Liquid Haskell. In particular, language learners — to whom external theorem provers are out of reach — can benefit from having their proofs mechanically checked. Concretely, we show how the equational proofs and derivations from Hutton’s textbook can be recast as proofs in Haskell (spoiler: they look essentially the same)
International audienceThe kinds of inference rules and decision procedures that one writes for proof...
We give an overview of issues surrounding computer-verified theorem proving in the standard pure-mat...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
Twee is an automated theorem prover for equational logic. It implements unfailing Knuth-Bendix compl...
We present Phileas, an automatic theorem prover focused on structural induction. Phileas is capable ...
Liquid Haskell is an extension to the type system of Haskell that supports formal reasoning about pr...
HaskHOL is an implementation of a HOL theorem proving capability in Haskell. Motivated by a need to ...
The structured approach to argumentation has seen a surge of models, introducing a multitude of ways...
Property-directed verification of functional programs tends to take one of two paths. First, is the ...
Equational reasoning based verification address some of the limitations of classical testing. The Cu...
The functional programming language Haskell is examined from the point of view of proving programs c...
Two fundamental goals in programming are correctness and efficiency: we want our programs to produce...
International audienceThe kinds of inference rules and decision procedures that one writes for proof...
We give an overview of issues surrounding computer-verified theorem proving in the standard pure-mat...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...
Code deficiencies and bugs constitute an unavoidable part of software systems. In safety-critical sy...
Twee is an automated theorem prover for equational logic. It implements unfailing Knuth-Bendix compl...
We present Phileas, an automatic theorem prover focused on structural induction. Phileas is capable ...
Liquid Haskell is an extension to the type system of Haskell that supports formal reasoning about pr...
HaskHOL is an implementation of a HOL theorem proving capability in Haskell. Motivated by a need to ...
The structured approach to argumentation has seen a surge of models, introducing a multitude of ways...
Property-directed verification of functional programs tends to take one of two paths. First, is the ...
Equational reasoning based verification address some of the limitations of classical testing. The Cu...
The functional programming language Haskell is examined from the point of view of proving programs c...
Two fundamental goals in programming are correctness and efficiency: we want our programs to produce...
International audienceThe kinds of inference rules and decision procedures that one writes for proof...
We give an overview of issues surrounding computer-verified theorem proving in the standard pure-mat...
A benefit of pure functional programming is that it encourages equational reasoning. However, the Ha...