1. A computer-implemented method for matching of contracts using a fixed-length complex predicate representation comprising: storing, in memory, an impression opportunity profile in the form of a Boolean expression; converting said impression opportunity profile into a list including at least one impression conjunct; retrieving, at a server, a set of candidate contracts that match the at least one impression conjunct; constructing, within a computer memory, an AND/OR contract tree representation of at least one contract from among the set of candidate contracts, said contract tree comprising a plurality of nodes, the plurality of nodes including at least one contract tree leaf node predicate, the contract tree leaf node predicates having a label representing a projection onto a discrete set of ordered symbols; marking, for producing at least one marked contract tree leaf node predicate, the at least one contract tree leaf node predicate based on comparing the at least one contract tree leaf node predicate to the at least one said impression conjunct; projecting, using the at least one marked contract tree leaf node predicate, the label assigned to the marked contract tree leaf node predicates over the discrete set of ordered symbols.