This paper presents Speculate, a tool that automatically conjectures laws involving conditional equations and inequalities about Haskell functions. Speculate enumerates expressions involving a given collection of Haskell functions, testing to separate those expressions into apparent equivalence classes. Expressions in the same equivalence class are used to conjecture equations. Representative expressions of different equivalence classes are used to conjecture conditional equations and inequalities. Speculate uses lightweight equational reasoning based on term rewriting to discard redundant laws and to avoid needless testing. Several applications demonstrate the effectiveness of Speculate
We propose a new procedure for proof by induction in conditional theories where case analysis is sim...
We propose a new procedure for proof by induction in conditional theories where case analysis is sim...
AbstractHaskell employs a melange of strict and non-strict evaluation semantics, hence a Haskell ver...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
This paper presents a new tool called Extrapolate that automatically generalizes counterexamples fou...
We present QuickSpec, a tool that automatically generates algebraic specifications for sets of pure ...
Causal discovery is a powerful technique for identifying causal relationships among variables in dat...
We propose a program verification method that combines random testing, model checking and interactiv...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
A key component of mathematical reasoning is the ability to formulate interesting conjectures about ...
<p>Black-box property based testing tools like QuickCheck allow developers to write elegant logical ...
We present Phileas, an automatic theorem prover focused on structural induction. Phileas is capable ...
Traditionally developers and testers created huge numbers of explicit tests, enumerating interesting...
AbstractThe negation of equality is an important relation that arises naturally in the study of equa...
HaskHOL is an implementation of a HOL theorem proving capability in Haskell. Motivated by a need to ...
We propose a new procedure for proof by induction in conditional theories where case analysis is sim...
We propose a new procedure for proof by induction in conditional theories where case analysis is sim...
AbstractHaskell employs a melange of strict and non-strict evaluation semantics, hence a Haskell ver...
Equational reasoning is one of the key features of pure functional languages such as Haskell. To dat...
This paper presents a new tool called Extrapolate that automatically generalizes counterexamples fou...
We present QuickSpec, a tool that automatically generates algebraic specifications for sets of pure ...
Causal discovery is a powerful technique for identifying causal relationships among variables in dat...
We propose a program verification method that combines random testing, model checking and interactiv...
We propose a method for improving confidence in the correctness of Haskell programs by combining tes...
A key component of mathematical reasoning is the ability to formulate interesting conjectures about ...
<p>Black-box property based testing tools like QuickCheck allow developers to write elegant logical ...
We present Phileas, an automatic theorem prover focused on structural induction. Phileas is capable ...
Traditionally developers and testers created huge numbers of explicit tests, enumerating interesting...
AbstractThe negation of equality is an important relation that arises naturally in the study of equa...
HaskHOL is an implementation of a HOL theorem proving capability in Haskell. Motivated by a need to ...
We propose a new procedure for proof by induction in conditional theories where case analysis is sim...
We propose a new procedure for proof by induction in conditional theories where case analysis is sim...
AbstractHaskell employs a melange of strict and non-strict evaluation semantics, hence a Haskell ver...