, . 1-, . 2-, , , .
1
?- principio([222,333,101,202,12,222,13,222],[222,222,222]).
false.
... . , Prolog . library(diadem):
?- use_module(diadem).
true.
?- principio([222,333,101,202,12,222,13,222],[222,222,222]).? Gen.
Gen = principio([222, 333|_], [_, _|_])
; Gen = (dif(A100, B100), principio([A100, B100|_], [_, _|_]))
...
: , ! , — , !
?- dif(X, Y), principio([X,Y|_],[_,_|_]).
:- op(950, fy, *).
* _P_0.
principio([], _/*[]*/).
principio([_H], _/*[H]*/).
principio([H,_|_],[H]).
principio([H,H|C],P) :-
* principio([H|C],R),
* P=[H|R].
. !
, , , principio([H,_|_],[H]).. - .
2nd
- :
?- principio([222,333,101,202,12,222,13,222],[222]).
true. % incorrect !!
.
?- principio([222,222],[222]).
true. % incorrect !!
, false, :
principio([],[]) : - false.
principio([H],[H]) :- false.
principio([H,_|_],[H]).
principio([H,H|C],P) :- false,
principio([H|C],R),
P=[H|R].
! . :
, , .
principio([],[]).
principio([H],[H]).
principio([H,D|Xs], [H|Hs]) :-
dif(H,D),
principio([H|Xs],[H|Hs]).
principio([H,H|Xs],[H|Hs]) :-
principio([H|Xs],Hs).