1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
tetrachord(4-1, [0, 1, 2, 3]).
tetrachord(4-15, [0, 1, 4, 6]).
tetrachord(4-29, [0, 1, 3, 7]).
interval_vector(4-1, [3, 2, 1, 0, 0, 0]).
interval_vector(4-15, [1, 1, 1, 1, 1, 1]).
interval_vector(4-29, [1, 1, 1, 1, 1, 1]).
all_interval_tetrachord(Chord) :-
tetrachord(4-Number, Chord),
interval_vector(4-Number, [1, 1, 1, 1, 1, 1]).
?- all_interval_tetrachord(Chord).
%@ Chord = [0,1,4,6]
%@ ; Chord = [0,1,3,7].