A method based on intersecting incompatible tuples is developed to determine the best disjunctive decomposition of complex logic functions, for use, primarily, with implementations on a cascaded memory structure, but also of use for other architectures. Classical decomposition theory is extended to allow the analysis of large input, multiple output functions which are specified only by their ON terms and include 'don't care' input values (i.e. modern PLA-style descriptions). An algorithm is presented together with implementation results which demonstrate an improvement in the size of function which may viably be searched exhaustively to find an overall optimum solution.