--
--
�� �o�H��: �����~�{(ptt.cc)
�� From: 114.45.120.140
\+/1 �O�ˬd�@��goal���i�ҩ�u��predicate,�N�q���� not/1.
�Ҧp \+(atom(a)) ���Ofalse,�� not(atom(a)) �@��.
! �N���O�u�Ҹ����F. ! �Ocut,��{�����赲�c�����@�ǪK�`.
�W, ! �X�{�b�{�������N��,�O:
�p�G�b ! ���䪺predicates����,�N��b ! ����head�ۦP���{�����.
�p�G�b ! ���䪺predicates������,�N��P�@��{�� ! �k�䪺predicates���.
�Ҧp�n���ӧP�_,�p�G�bN�j��0�������,N�p��ε���0�S�Ӱ�����O,�{�����ӬO�o��:
p(N, E1, E2) :- N > 0, call(E1).
p(N, E1, E2) :- N =< 0, call(E2).
�G��{����head�ۦP,��Ĥ@��@�w�n�P�_ N>0, �ĤG��@�w�n�P�_ N=<0.
�p�G�ĤG��S��P�_ N=<0,���״N���@�ˤF.
��p�G�ϥ� ! (cut)...
p(N, E1, E2) :- N > 0, !, call(E1).
p(N, E1, E2) :- call(E2).
�Ĥ@��|��P�_ N>0,�p�G���ߴN���call(E1),�ñN�ĤG��{�����.
�p�G�Ĥ@�檺 N>0 ������,�N�����call(E1),�������h����ĤG�檺call(E2).
�A�|�ӨҤl,��_�w not/1 �Ψ� ! �o�˰�:
not(A) :- call(A), !, fail.
not(_).
--
�� �o�H��: �����~�{(ptt.cc)
�� From: 59.112.225.39