For example, if I define parts=: (] #~ (%~ [EMAIL PROTECTED]) = +/"[EMAIL PROTECTED]) [: #:@i. 2&^&.<: pieces=: [ ([EMAIL PROTECTED]@[ */ ]) parts
then believe that I can identify which members of the outer product of the result of pieces I want by forming an outer product and selecting only those combinations which do not collide valid=: (0 = [: +/"1 *"1//)@pieces Unfortunately, I am drawing a blank on how to find that outer product for the general case. However, for some specific cases, +"1// seems to work Example: 3 (valid #&(,/) +"1//@pieces) 6 Unfortunately, I do not have enough time right now to think through where I went wrong. -- Raul ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
