Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- funs :: [Rule f v] -> [f]
- funsDL :: [Rule f v] -> [f] -> [f]
- vars :: [Rule f v] -> [v]
- varsDL :: [Rule f v] -> [v] -> [v]
- lhss :: [Rule f v] -> [Term f v]
- rhss :: [Rule f v] -> [Term f v]
- map :: (f -> f') -> (v -> v') -> [Rule f v] -> [Rule f' v']
- restrictFuns :: (f -> Bool) -> [Rule f v] -> [Rule f v]
- isLinear :: Ord v => [Rule f v] -> Bool
- isLeftLinear :: Ord v => [Rule f v] -> Bool
- isRightLinear :: Ord v => [Rule f v] -> Bool
- isGround :: [Rule f v] -> Bool
- isLeftGround :: [Rule f v] -> Bool
- isRightGround :: [Rule f v] -> Bool
- isErasing :: Ord v => [Rule f v] -> Bool
- isCreating :: Ord v => [Rule f v] -> Bool
- isExpanding :: [Rule f v] -> Bool
- isDuplicating :: Ord v => [Rule f v] -> Bool
- isCollapsing :: [Rule f v] -> Bool
- isValid :: Ord v => [Rule f v] -> Bool
Operations on Rules
funsDL :: [Rule f v] -> [f] -> [f] Source #
Difference List version of funs
.
We have funsDL r vs = funs r ++ vs
.
varsDL :: [Rule f v] -> [v] -> [v] Source #
Difference List version of vars
.
We have varsDL r vs = vars r ++ vs
.
map :: (f -> f') -> (v -> v') -> [Rule f v] -> [Rule f' v'] Source #
Lifting of Rule.map
to list of rules.
restrictFuns :: (f -> Bool) -> [Rule f v] -> [Rule f v] Source #
Restrict the rules to those only using function symbols satisfying the given predicate.
Predicates on Rules
isLeftLinear :: Ord v => [Rule f v] -> Bool Source #
Returns True
iff all given rules satisfy isLeftLinear
isRightLinear :: Ord v => [Rule f v] -> Bool Source #
Returns True
iff all given rules satisfy isRightLinear
isLeftGround :: [Rule f v] -> Bool Source #
Returns True
iff all given rules satisfy isLeftGround
isRightGround :: [Rule f v] -> Bool Source #
Returns True
iff all given rules satisfy isRightGround
isCreating :: Ord v => [Rule f v] -> Bool Source #
Returns True
iff any of the given rules satisfy isCreating
isExpanding :: [Rule f v] -> Bool Source #
Returns True
iff any of the given rules satisfy isExpanding
isDuplicating :: Ord v => [Rule f v] -> Bool Source #
Returns True
iff any of the given rules satisfy isDuplicating
isCollapsing :: [Rule f v] -> Bool Source #
Returns True
iff any of the given rules satisfy isCollapsing