sbv-14.0: SBVTestSuite/TestSuite/CompileTests/PCase/PCase21.stderr
PCase21.hs:(18,15)-(25,9): Splicing expression
ghc-internal:GHC.Internal.TH.Quote.quoteExp
pCase
" e of\n\
\ Zero -> e .== e =: qed\n\
\ Num k -> sNum k .== sNum k =: e .== e =: qed\n\
\ Var s -> sVar s .== sVar s =: e .== e =: qed\n\
\ Add (Add (Num _) j) _ -> sAdd j j .== sAdd j j =: e .== e =: qed\n\
\ Add a b -> sAdd a b .== sAdd a b =: e .== e =: qed\n\
\ Let nm a b -> sLet nm a b .== sLet nm a b =: e .== e =: qed\n\
\ "
======>
cases
[(isZero e ==> (e .== e =: qed)),
(isNum e
==> (let k = getNum_1 e in (sNum k) .== sNum k =: e .== e =: qed)),
(isVar e
==> (let s = getVar_1 e in (sVar s) .== sVar s =: e .== e =: qed)),
((.&&)
(isAdd e)
((.&&) (isAdd (getAdd_1 e)) (isNum (getAdd_1 (getAdd_1 e))))
==>
(let j = getAdd_2 (getAdd_1 e)
in (sAdd j j) .== sAdd j j =: e .== e =: qed)),
((.&&)
(isAdd e)
(sNot ((.&&) (isAdd (getAdd_1 e)) (isNum (getAdd_1 (getAdd_1 e)))))
==>
(let
a = getAdd_1 e
b = getAdd_2 e
in (sAdd a b) .== sAdd a b =: e .== e =: qed)),
(isLet e
==>
(let
nm = getLet_1 e
a = getLet_2 e
b = getLet_3 e
in (sLet nm a b) .== sLet nm a b =: e .== e =: qed))]