Copyright | (c) Levent Erkok |
---|---|
License | BSD3 |
Maintainer | erkokl@gmail.com |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Documentation.SBV.Examples.KnuckleDragger.AppendRev
Description
Example use of the KnuckleDragger, on list append and reverses.
Documentation
Use an uninterpreted type for the elements
Instances
appendNull :: IO Proof Source #
xs ++ [] == xs
We have:
>>>
appendNull
Lemma: appendNull Q.E.D. [Proven] appendNull
(x : xs) ++ ys == x : (xs ++ ys)
We have:
>>>
consApp
Lemma: consApp Q.E.D. [Proven] consApp
appendAssoc :: IO Proof Source #
(xs ++ ys) ++ zs == xs ++ (ys ++ zs)
We have:
>>>
appendAssoc
Lemma: appendAssoc Q.E.D. [Proven] appendAssoc
reverseReverse :: IO Proof Source #
reverse (reverse xs) == xs
We have:
>>>
reverseReverse
Lemma: revApp Q.E.D. Lemma: reverseReverse Q.E.D. [Proven] reverseReverse