sbv-13.1: SMT Based Verification: Symbolic Haskell theorem prover using SMT solving.
Copyright(c) Levent Erkok
LicenseBSD3
Maintainererkokl@gmail.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Documentation.SBV.Examples.Uninterpreted.Deduce

Description

Demonstrates uninterpreted sorts and how they can be used for deduction.

Synopsis

Representing uninterpreted booleans

data B Source #

The uninterpreted sort B, corresponding to the carrier.

Instances

Instances details
Arbitrary B Source # 
Instance details

Defined in Documentation.SBV.Examples.Uninterpreted.Deduce

Methods

arbitrary :: Gen B #

shrink :: B -> [B] #

SymVal B Source # 
Instance details

Defined in Documentation.SBV.Examples.Uninterpreted.Deduce

HasKind B Source # 
Instance details

Defined in Documentation.SBV.Examples.Uninterpreted.Deduce

cv2B :: String -> [CV] -> B Source #

Conversion from SMT values to B values.

_undefiner_B :: a Source #

Autogenerated definition to avoid unused-variable warnings from GHC.

type SB = SBV B Source #

Symbolic version of the type B.

Uninterpreted connectives over B

and :: SB -> SB -> SB Source #

Uninterpreted logical connective and

or :: SB -> SB -> SB Source #

Uninterpreted logical connective or

not :: SB -> SB Source #

Uninterpreted logical connective not

Demonstrated deduction

test :: IO ThmResult Source #

Proves the equivalence NOT (p OR (q AND r)) == (NOT p AND NOT q) OR (NOT p AND NOT r), following from the axioms we have specified above. We have:

>>> test
Q.E.D.