| Copyright | (c) Sirui Lu 2021-2024 |
|---|---|
| License | BSD-3-Clause (see the LICENSE file) |
| Maintainer | siruilu@cs.washington.edu |
| Stability | Experimental |
| Portability | GHC only |
| Safe Haskell | None |
| Language | Haskell2010 |
Grisette.Internal.Core.Data.Class.LogicalOp
Description
Documentation
class LogicalOp b where Source #
Symbolic logical operators for symbolic booleans.
>>>let t = true :: SymBool>>>let f = false :: SymBool>>>let a = "a" :: SymBool>>>let b = "b" :: SymBool>>>t .|| ftrue>>>a .|| ttrue>>>a .|| fa>>>a .|| b(|| a b)>>>t .&& ffalse>>>a .&& ta>>>a .&& ffalse>>>a .&& b(&& a b)>>>symNot tfalse>>>symNot ftrue>>>symNot a(! a)>>>t `symXor` ftrue>>>t `symXor` tfalse>>>a `symXor` t(! a)>>>a `symXor` fa>>>a `symXor` b(|| (&& (! a) b) (&& a (! b)))
Methods
Constant true
Constant false
(.||) :: b -> b -> b infixr 2 Source #
Symbolic disjunction
(.&&) :: b -> b -> b infixr 3 Source #
Symbolic conjunction
Symbolic negation
symXor :: b -> b -> b Source #
Symbolic exclusive disjunction
symImplies :: b -> b -> b Source #
Symbolic implication
Instances
| LogicalOp SymBool Source # | |
Defined in Grisette.Internal.Core.Data.Class.LogicalOp | |
| LogicalOp Bool Source # | |
| LogicalOp a => LogicalOp (Identity a) Source # | |
Defined in Grisette.Internal.Core.Data.Class.LogicalOp | |
| LogicalOp a => LogicalOp (AsKey a) Source # | |
Defined in Grisette.Internal.Core.Data.Class.LogicalOp | |
| (LogicalOp a, Mergeable a) => LogicalOp (Union a) Source # | |