In order to implement the algorithms efficiently in Prolog, it is important to use efficient data structures.
we use an implementation of (non-updatable) arrays based on the N+K trees of O'Keefe (1990,(142)(143)(144)(145) with N = 95 and K = 32.