HOME

TheInfoList



OR:

Liquid Haskell is a
program verifier In the context of hardware and software systems, formal verification is the act of Mathematical proof, proving or disproving the correctness (computer science), correctness of intended algorithms underlying a system with respect to a certain for ...
for the
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming l ...
Haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
which allows specifying correctness properties by using
refinement type In type theory, a refinement type is a type endowed with a predicate which is assumed to hold for any element of the refined type. Refinement types can express preconditions when used as function arguments or postconditions when used as retur ...
s. Properties are verified using a
satisfiability modulo theories In computer science and mathematical logic, satisfiability modulo theories (SMT) is the problem of determining whether a mathematical formula is satisfiable. It generalizes the Boolean satisfiability problem (SAT) to more complex formulas involvin ...
(SMT) solver which is SMTLIB2-compliant, such as the
Z3 Theorem Prover Z3, also known as the Z3 Theorem Prover, is a cross-platform satisfiability modulo theories (SMT) solver by Microsoft. Overview Z3 was developed in the ''Research in Software Engineering'' (RiSE) group at Microsoft Research and is targeted at solv ...
.


See also

*
Formal verification In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal met ...


References

* *


Further reading

* *


External links

* * Formal methods tools Static program analysis tools Type systems Free software programmed in Haskell Software using the BSD license {{Free-software-stub