, , . Prolog ; (), (). . ( ). assert, asserts, assertz retract. assertt)
(assertion) , .. .
retract< )
: , . Prolog:
?- crisis.
no
?- assert crisis).
yes
?- crisis,
yes
?- retractf crisis).
?- crises,
, , "" . assert retract . , , :
7.
nice:-
sunshine, not raining.
funny:-
sunshine, raining.
disgusting:-
raining, fog.
raining. fog.
, , , .
?- nice.
?- disgusting.
yes
?- retract [ fog).
yes
?- disgusting.
no
?- assert! sunshine).
yes
?- funny.
- retract (raining).
yes
?- nice.
yes
. Prolog , , assert/retract, . dynamic(Predicatelndicator). , assert, consult, .
, retract : retract . , , "", :
fast (aims.
slow! torn).
■ pat).
:
?- assert! (faster[X,¥>:-
fastcxb slow(Y))).
yes
?- faster! a, B).
A - ann
E = torn
?- retract (sio>;(x)).
X = torn;
X - pat;
no
?- faster! ann, _).
no
, ( assert) .
|
|
162 I. Prolog
, . asserta assertz . asserta() ,
assertz()
. , assert assertz, Prolog. , :
?- assert p(b>), aseertzl (), assert: p(d)), asserta (p [an.
yes
?- P{X) X - a; X = b; X = c,-
X = d
consult assertz . consult asser z : () .
asserta . , , : solve.' Problem, solution)
,
, , :
?- solve) prob[ Solution),
eiS SCI l a solve f problem!. Solution)).
, (Solution) . "" , , , , . , , , , . .
. , 9 : X V, Z is , . , .. maketable.
maketable:-
L = [0,1,2, 3,4, 5, 6,7, , 9],
member(X, L), *
member(Y, L), ■ Z isX'Y, assert! product(X,Y, Z) >,
fail.
7. 163
, ?- maketable.
, . , , 8:
?- product! , , 8). = 1 = 8; = 2 = 4;
|
|
. , , assert retract. . . . , - , . . . , , , .
7.6.
product.
) Prolog product .
6} , , .
7.7.
copy_tem{ Tern, Copy)
Terra, . " asserta retract. Prolog , copy_term.