some techniques to generate smaller clauses in the context of arrays