module Logic ( -- ** Logic Logic , logic , runLogic , observeAll -- ** LogicT , LogicT(..) , runLogicT , observeT , observeManyT , observeAllT -- ** MonadLogic , MonadLogic , msplit , interleave , (>>-) , ifte , once , reflect , lnot ) where import Control.Monad.Logic