Safe Haskell | Safe |
---|---|
Language | Haskell98 |
SMTLib1
Synopsis
- newtype Name = N String
- data Ident = I Name [Integer]
- data Quant
- data Conn
- data Formula
- type Sort = Ident
- data Binder = Bind {}
- data Term
- data Literal
- data Annot = Attr {}
- data FunDecl = FunDecl {}
- data PredDecl = PredDecl {}
- data Status
- data Command
- data Script = Script {
- scrName :: Ident
- scrCommands :: [Command]
- (===) :: Term -> Term -> Formula
- (=/=) :: Term -> Term -> Formula
- (.<.) :: Term -> Term -> Formula
- (.>.) :: Term -> Term -> Formula
- tInt :: Sort
- funDef :: Ident -> [Sort] -> Sort -> Command
- constDef :: Ident -> Sort -> Command
- logic :: Ident -> Command
- assume :: Formula -> Command
- goal :: Formula -> Command
- class PP t where
Documentation
Instances
Eq Name Source # | |
Data Name Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Name -> c Name Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Name Source # toConstr :: Name -> Constr Source # dataTypeOf :: Name -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Name) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Name) Source # gmapT :: (forall b. Data b => b -> b) -> Name -> Name Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Name -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Name -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Name -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Name -> m Name Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Name -> m Name Source # | |
Ord Name Source # | |
Show Name Source # | |
IsString Name Source # | |
Defined in SMTLib1.AST Methods fromString :: String -> Name Source # | |
PP Name Source # | |
Instances
Eq Ident Source # | |
Data Ident Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ident -> c Ident Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Ident Source # toConstr :: Ident -> Constr Source # dataTypeOf :: Ident -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Ident) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Ident) Source # gmapT :: (forall b. Data b => b -> b) -> Ident -> Ident Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ident -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ident -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Ident -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Ident -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ident -> m Ident Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ident -> m Ident Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ident -> m Ident Source # | |
Ord Ident Source # | |
Defined in SMTLib1.AST | |
Show Ident Source # | |
IsString Ident Source # | |
Defined in SMTLib1.AST Methods fromString :: String -> Ident Source # | |
PP Ident Source # | |
Instances
Eq Quant Source # | |
Data Quant Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Quant -> c Quant Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Quant Source # toConstr :: Quant -> Constr Source # dataTypeOf :: Quant -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Quant) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Quant) Source # gmapT :: (forall b. Data b => b -> b) -> Quant -> Quant Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Quant -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Quant -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Quant -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Quant -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Quant -> m Quant Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Quant -> m Quant Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Quant -> m Quant Source # | |
Ord Quant Source # | |
Defined in SMTLib1.AST | |
Show Quant Source # | |
PP Quant Source # | |
Instances
Eq Conn Source # | |
Data Conn Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Conn -> c Conn Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Conn Source # toConstr :: Conn -> Constr Source # dataTypeOf :: Conn -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Conn) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Conn) Source # gmapT :: (forall b. Data b => b -> b) -> Conn -> Conn Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Conn -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Conn -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Conn -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Conn -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Conn -> m Conn Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Conn -> m Conn Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Conn -> m Conn Source # | |
Ord Conn Source # | |
Show Conn Source # | |
PP Conn Source # | |
Constructors
FTrue | |
FFalse | |
FPred Ident [Term] | |
FVar Name | |
Conn Conn [Formula] | |
Quant Quant [Binder] Formula | |
Let Name Term Formula | |
FLet Name Formula Formula | |
FAnnot Formula [Annot] |
Instances
Eq Formula Source # | |
Data Formula Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Formula -> c Formula Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Formula Source # toConstr :: Formula -> Constr Source # dataTypeOf :: Formula -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Formula) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Formula) Source # gmapT :: (forall b. Data b => b -> b) -> Formula -> Formula Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Formula -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Formula -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Formula -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Formula -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Formula -> m Formula Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Formula -> m Formula Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Formula -> m Formula Source # | |
Ord Formula Source # | |
Show Formula Source # | |
PP Formula Source # | |
Instances
Eq Binder Source # | |
Data Binder Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Binder -> c Binder Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Binder Source # toConstr :: Binder -> Constr Source # dataTypeOf :: Binder -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Binder) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Binder) Source # gmapT :: (forall b. Data b => b -> b) -> Binder -> Binder Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Binder -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Binder -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Binder -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Binder -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Binder -> m Binder Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Binder -> m Binder Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Binder -> m Binder Source # | |
Ord Binder Source # | |
Show Binder Source # | |
PP Binder Source # | |
Instances
Eq Term Source # | |
Fractional Term Source # | |
Data Term Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Term -> c Term Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Term Source # toConstr :: Term -> Constr Source # dataTypeOf :: Term -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Term) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Term) Source # gmapT :: (forall b. Data b => b -> b) -> Term -> Term Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Term -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Term -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Term -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Term -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Term -> m Term Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Term -> m Term Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Term -> m Term Source # | |
Num Term Source # | |
Ord Term Source # | |
Show Term Source # | |
IsString Term Source # | |
Defined in SMTLib1.AST Methods fromString :: String -> Term Source # | |
PP Term Source # | |
Instances
Eq Literal Source # | |
Data Literal Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Literal -> c Literal Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Literal Source # toConstr :: Literal -> Constr Source # dataTypeOf :: Literal -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Literal) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Literal) Source # gmapT :: (forall b. Data b => b -> b) -> Literal -> Literal Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Literal -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Literal -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Literal -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Literal -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Literal -> m Literal Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Literal -> m Literal Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Literal -> m Literal Source # | |
Ord Literal Source # | |
Show Literal Source # | |
PP Literal Source # | |
Instances
Eq Annot Source # | |
Data Annot Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Annot -> c Annot Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Annot Source # toConstr :: Annot -> Constr Source # dataTypeOf :: Annot -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Annot) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Annot) Source # gmapT :: (forall b. Data b => b -> b) -> Annot -> Annot Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Annot -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Annot -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Annot -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Annot -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Annot -> m Annot Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Annot -> m Annot Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Annot -> m Annot Source # | |
Ord Annot Source # | |
Defined in SMTLib1.AST | |
Show Annot Source # | |
PP Annot Source # | |
Instances
Data FunDecl Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FunDecl -> c FunDecl Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FunDecl Source # toConstr :: FunDecl -> Constr Source # dataTypeOf :: FunDecl -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FunDecl) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FunDecl) Source # gmapT :: (forall b. Data b => b -> b) -> FunDecl -> FunDecl Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FunDecl -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FunDecl -> r Source # gmapQ :: (forall d. Data d => d -> u) -> FunDecl -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> FunDecl -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> FunDecl -> m FunDecl Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDecl -> m FunDecl Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FunDecl -> m FunDecl Source # | |
PP FunDecl Source # | |
Instances
Data PredDecl Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PredDecl -> c PredDecl Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PredDecl Source # toConstr :: PredDecl -> Constr Source # dataTypeOf :: PredDecl -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PredDecl) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PredDecl) Source # gmapT :: (forall b. Data b => b -> b) -> PredDecl -> PredDecl Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PredDecl -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PredDecl -> r Source # gmapQ :: (forall d. Data d => d -> u) -> PredDecl -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> PredDecl -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> PredDecl -> m PredDecl Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PredDecl -> m PredDecl Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PredDecl -> m PredDecl Source # | |
PP PredDecl Source # | |
Instances
Data Status Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Status -> c Status Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Status Source # toConstr :: Status -> Constr Source # dataTypeOf :: Status -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Status) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Status) Source # gmapT :: (forall b. Data b => b -> b) -> Status -> Status Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Status -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Status -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Status -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Status -> m Status Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Status -> m Status Source # | |
PP Status Source # | |
Constructors
CmdLogic Ident | |
CmdAssumption Formula | |
CmdFormula Formula | |
CmdStatus Status | |
CmdExtraSorts [Sort] | |
CmdExtraFuns [FunDecl] | |
CmdExtraPreds [PredDecl] | |
CmdNotes String | |
CmdAnnot Annot |
Instances
Data Command Source # | |
Defined in SMTLib1.AST Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Command -> c Command Source # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Command Source # toConstr :: Command -> Constr Source # dataTypeOf :: Command -> DataType Source # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Command) Source # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Command) Source # gmapT :: (forall b. Data b => b -> b) -> Command -> Command Source # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Command -> r Source # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Command -> r Source # gmapQ :: (forall d. Data d => d -> u) -> Command -> [u] Source # gmapQi :: Int -> (forall d. Data d => d -> u) -> Command -> u Source # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Command -> m Command Source # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Command -> m Command Source # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Command -> m Command Source # | |
PP Command Source # | |
Constructors
Script | |
Fields
|