Library for representation of positions in first-order terms.
Author: Jan-Hendrik Matthes
Version: February 2020
showPos
:: [Int] -> String
Transforms a position into a string representation. |
eps
:: [Int]
The root position of a term. |
above
:: [Int] -> [Int] -> Bool
Checks whether the first position is above the second position. |
below
:: [Int] -> [Int] -> Bool
Checks whether the first position is below the second position. |
leftOf
:: [Int] -> [Int] -> Bool
Checks whether the first position is left from the second position. |
rightOf
:: [Int] -> [Int] -> Bool
Checks whether the first position is right from the second position. |
disjoint
:: [Int] -> [Int] -> Bool
Checks whether two positions are disjoint. |
positions
:: Term a -> [[Int]]
Returns a list of all positions in a term. |
(.>)
:: [Int] -> [Int] -> [Int]
Concatenates two positions. |
(|>)
:: Term a -> [Int] -> Term a
Returns the subterm of a term at the given position if the position exists within the term. |
replaceTerm
:: Term a -> [Int] -> Term a -> Term a
Replaces the subterm of a term at the given position with the given term if the position exists within the term. |
A position in a term represented as a list of integers greater than zero.
Type synonym: Pos = [Int]
Transforms a position into a string representation. |
The root position of a term.
|
Checks whether the first position is above the second position. |
Checks whether the first position is below the second position. |
Checks whether the first position is left from the second position. |
Checks whether the first position is right from the second position. |
Checks whether two positions are disjoint. |
Concatenates two positions.
|
Returns the subterm of a term at the given position if the position exists within the term. |
Replaces the subterm of a term at the given position with the given term if the position exists within the term. |