Library for representation of positions in first-order terms.
Author: Jan-Hendrik Matthes
Version: November 2016
| showPos
                  ::  [Int] -> StringTransforms a position into a string representation. | 
| eps
                  ::  [Int]The root position of a term. | 
| above
                  ::  [Int] -> [Int] -> BoolChecks whether the first position is above the second position. | 
| below
                  ::  [Int] -> [Int] -> BoolChecks whether the first position is below the second position. | 
| leftOf
                  ::  [Int] -> [Int] -> BoolChecks whether the first position is left from the second position. | 
| rightOf
                  ::  [Int] -> [Int] -> BoolChecks whether the first position is right from the second position. | 
| disjoint
                  ::  [Int] -> [Int] -> BoolChecks 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 aReturns the subterm of a term at the given position if the position exists within the term. | 
| replaceTerm
                  ::  Term a -> [Int] -> Term a -> Term aReplaces 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. |