dlina([],0).
dlina([H|T],X):-dlina(T,X1), X is X1+1.
predikat(L1,DL,X1,X2):- sublist(X1,L1),
sublist(X2,L1),
not povt(X1,X2),
dlina(X1,DL),
dlina(X2,DL).
Вариант 2(by Джамшут):
взодные данные:
[1,2,3,4,1,2].
Длина подсписков 2.
Число совпадающих элементов 0 (по условию).
% Bilet8 Variant 2
% Patched by JamshyT 14.01.13
% Special for AISTd-31 :)
% To start type: jstart.
podspisok(L,P):-skleika(L1,L2,L),
skleika(P,L3,L2).
skleika([],L,L).
skleika([X|T],L,[X|R]):-skleika(T,L,R).
n_raz(X,[X],1).
n_raz(X,[],0).
n_raz(X,[X|L],N):-n_raz(X,L,N1), N is N1+1,!.
n_raz(X,[Y|L],N):-n_raz(X,L,N),!.
member(X,[X|_]).
member(X,[_|L]):-member(X,L).
dlin([],0).
dlin([M|N],K):-dlin(N,K1),K is K1+1.
spis(L,L1):-setof(X,member(X,L),L1),dlin(L,K),K\=0.
%nepovt([]).
nepovt(L):-spis(L,L1),dlin(L,K),dlin(L1,K1),K is K1.
sovp([],L,0).
sovp(L,[],0).
sovp(L,[X|L1],K):-member(X,L),sovp(L,L1,K1),K is K1+1,!.
sovp(L,[X|L1],K):-not member(X,L),sovp(L,L1,K),!.
z_4(L,D,S,P1,P2):-dlin(L,K),K>D,D>=S,podspisok(L,P1),podspisok(L,P2),
nepovt(P1),nepovt(P2),dlin(P1,D),dlin(P2,D),sovp(P1,P2,S).