local proc {AllDistanceSeries Solution} Length = 12 % Solution series length Length1 = Length-1 Pitches Intervals % Vars for series and intervals in Solution = sol(p:Pitches i:Intervals) Pitches = {FD.list Length 0#Length1} % List of FD vars in [0,L-1] Intervals = {FD.list Length1 1#Length1} for Pitch1 in {List.take Pitches Length1} % butlast of Pitches Pitch2 in Pitches.2 % tail of Pitches Interval in Intervals do {FD.distance Pitch1 Pitch2 '=:' Interval} end {FD.distinctD Pitches} % no pitch class repetition {FD.distinctD Intervals} % no (abs) interval repetition %% Specify search strategy {FD.distribute generic(order:size value:mid) Pitches} end in {Explorer.one AllDistanceSeries} end