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. |