% frequent.pl: %
% , 4 ' \ + ', \ \+likes(,snakes)
% * Prolog:- Op(900, fy, not). not Goal:-Goal,!, fail
true.
once[ Goal}: , Goal
% ( )
%
%
once(Goal):-
Goal,!. i member(X, List): , X 1 List
member (, [ X I _]) , X - .
member(X, [ _ I Rest]):-
member(X, Rest). % X
% cone ( L2, L3): L3 L1 L2
([],L,L).
cone! [X I LI}, L2, [X I L3]):-concl LI, L2, L3).
% del (X, LD, L): L LO X % . X % , X L0
del(X, [X I Rest], Rest). % X,
%
del! , [Y [ RestO], [Y \ Rest]):-
dell X, RestO, Rest). %
% subset{ Set, Subset): , ,
% Set Subset (
i )
% . Subset Set ,
% Subset
subset! [],[)>
subset([First I Rest], [First | Sub]):- % First
% subset(Rest, Sub),
subset([First | Rest], Sub):- i First subset! Best, Sub).
i set_difference[ Setl, Set2, Set3); Set3
I , Setl Set2
% : Setl Set2
% , a Set3 -
set_dif ference ([]._,[]).
set_difference! [X | SI], S2, S3):-
member! X, S2),!, % 32
set_difference! SI, S2, S3).
set_difference([X | SI], S2, [X | S3]):- %
S2 set_differenceI SI, S2, S3).
t length! List, Length): , Length
% List
% . length/2
% Prolog
i
I
i
length; L, ):-length(L, , ).
length! [], N, N).
length! [_ | L], N0, ):-N1 is HG + 1, length [ L, N1, N).
% max[ X, Y, ): - X Y
|
|
(, Y, ):-X>=Y,!, = X
.
Max = Y.
% min(X, Y, Min): Min - Y
rcinix, Y, Min):-X =< 4,!, Min - X
Min = Y.
% copy_term(Tl, T2); T2 Tl, ,
%
%
%
%
* copy_term , 2 1
copy_term(Term, Copy):-
asserta(term_to_copy < Term!), retract(tetm_to_copy(Copy!),!.
594
.