Language.Haskell.Liquid.Equational
type Proof = () Source #
Proof is just unit
data QED Source #
Casting expressions to Proof using the "postfix" `*** QED`
Constructors
(***) :: a -> QED -> Proof infixl 2 Source #
(==.) :: a -> a -> a infixl 3 Source #
Equational Reasoning operators | The eq operator is inlined in the logic, so can be used in reflected | functions while ignoring the equality steps.
eq
eq :: a -> a -> a infixl 3 Source #
(?) :: a -> b -> a infixl 3 Source #
Explanations
withTheorem :: a -> Proof -> a Source #
Using proofs as theorems