member(X,L) backliteral(member(X,L), [L:listI, iX:item]), %
term.! list, [X|L], [ :item, L:iist]>. terrat list, [), [1).
prolog_predicate(fail).
I Prolog
start_clause ([ member (X,!,) ] / [ X:item, L:list]).
%
ess! member! a, [a])). [ member! b, [])).
ex (member (d, [,,, d, ])).
:! member! , [])).
(member (d, [,])).
(meraber{ f, [a,b, c,d, ej)).
460
II. Prolog
. - , , . , , . L ( "") member (X,L) . , . , . , M1NIHYPER. . X item () L list ().
: terra: Type, Texm, Vars)
, ; Vars , Term. 19.4
termi; list, [X|L], [ X:itera, L:Iist]). term[list, [],[]).
, list |; jj, X item, a '. list, [] ( ). , ":" . 19.4 start_clause([ mex.ber<X,L) J / [ X:iteir,, L:list]).
. , (). . max_clauses. .
|
|
HYPER . ,
1. , XI = 2. .
2. . , term/, .
3. . () ( ).
MINIHYPER, .-:. HYPER . : :;, . -
19.
re 19.5 member.
19.5. . ,
member[Xl,Ll). member(X2,L2).
t Ll = [X3|L3] member(Xl, [X3|L3]). member(X2,L2).
4- XI = X3 member(Xl, [Xl|L3]). member(X2,L2).
I L2 = [X4[L4] member (XI, [XI iL3J). member(X2, [X4IL4]).
ir member (X5, 1-5) L5 ~ L4 member(Xl, [X1IL3]). member (X2, [X4IL4]):- member <x5rL4t,
l 2 = X5 member(XI, [X1IL3]). , [X4|L4]>:- member <X2,L4>.
HYPER , . , , , , . , . , "" ( ). ^ . , prove .
(Least Specific Specialization LSS). , , . LSS. I-SS , . LSS . , - , . , , , . , , .
|
|
462 II. Prolog
. , . , . , conc(LI, L2, L3). ( , ). , . , , , .
HYPER Cost (Hypothesis), ( ), . : Cost HI = * SizeJH) + w2 * MegCover(H>
NegCover(H) , , " " Answer prove. ■.■:. . : Size£H> = * ^*(> + , * _ ()
HYPER, , : w: - - 1, w2 = 1, ki = 10, 2 = 1. .
Cost(H> - _() + 10 * _ () + 10 * HegCover(H)
, . , . , . , . , , , . , [18].