Safe Haskell | None |
---|
- 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]
- 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
- 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
.
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] -> BoolSource
Returns True
iff all given rules satisfy isLeftLinear
isRightLinear :: Ord v => [Rule f v] -> BoolSource
Returns True
iff all given rules satisfy isRightLinear
isLeftGround :: [Rule f v] -> BoolSource
Returns True
iff all given rules satisfy isLeftGround
isRightGround :: [Rule f v] -> BoolSource
Returns True
iff all given rules satisfy isRightGround
isCreating :: Ord v => [Rule f v] -> BoolSource
Returns True
iff any of the given rules satisfy isCreating
isDuplicating :: Ord v => [Rule f v] -> BoolSource
Returns True
iff any of the given rules satisfy isDuplicating
isCollapsing :: [Rule f v] -> BoolSource
Returns True
iff any of the given rules satisfy isCollapsing