Portability | unportable |
---|---|
Stability | unstable |
Maintainer | Martin Avanzini <martin.avanzini@uibk.ac.at> |
Safe Haskell | Safe-Infered |
This module implements usable argument positions. By convention, n-ary function symbols admit argument positions '[1..n]'.
- empty :: UsablePositions
- singleton :: Symbol -> [Int] -> UsablePositions
- usableArgs :: Strategy -> Trs -> UsablePositions
- setUsable :: Symbol -> Int -> UsablePositions -> UsablePositions
- setUsables :: Symbol -> [Int] -> UsablePositions -> UsablePositions
- union :: UsablePositions -> UsablePositions -> UsablePositions
- unions :: [UsablePositions] -> UsablePositions
- isUsable :: Symbol -> Int -> UsablePositions -> Bool
- usablePositions :: Symbol -> UsablePositions -> [Int]
- usableSubtermsOf :: UsablePositions -> Term -> [Term]
Usable Argument Positions
Construction
Empty usable positions.
singleton :: Symbol -> [Int] -> UsablePositions
Constructs usable argument for a single function symbol.
usableArgs :: Strategy -> Trs -> UsablePositions
Constructs the usable argument positions of a given TRS, with respect to a given strategy.
Modification
setUsable :: Symbol -> Int -> UsablePositions -> UsablePositions
Sets the ith argument position of given symbol usable.
setUsables :: Symbol -> [Int] -> UsablePositions -> UsablePositions
List version of setUsable
.
union :: UsablePositions -> UsablePositions -> UsablePositions
Union on usable argument positions.
unions :: [UsablePositions] -> UsablePositions
List version of union
.
Querying
isUsable :: Symbol -> Int -> UsablePositions -> Bool
Predicate that returns true iff the ith argument position is usable.
usablePositions :: Symbol -> UsablePositions -> [Int]
Returns the list of usable argument positions.
usableSubtermsOf :: UsablePositions -> Term -> [Term]
Returns the list of subterms under usable positions of a given term.