lift


AI::Constraints::LiftUtils is a Perl module implementing methods to manipulate relations of arity r over a finite domain {0,1,..., k-1}, optionally together with an r-tuple of permutations of the domain to be applied to a relation. At the most basic level, strings representing these expressions can be converted to internal form (and vice versa). Routines are also provided to enumerate relations and permutations (using an ordering suggested by Knuth), to apply a tuple of permutations to a relation (called "lifting"), to convert a relation to a "Booleanized" representation, and to determine the complexity of a relation. Several example scripts are provided, including lift which now uses this module. This code is still experimental and undergoing major work, feedback is most welcome.

Most of the real work is done by an external program, Richard Gault's polyanna.

Download from here:

Copyright 2004-2007 by András Salamon <andras@dns.net>