AVL trees provide a mechanism to maintain key value pairs so that loop up, insertion, and deletion all have complexity (log n). This library contains predicates to transform a sorted list to an AVL tree and back, along with predicates to manipulate the AVL trees. This library was originally written for Sicstus by Mats Carlsson.