PPT Slide
Using =.. To Construct Dynamic Asserts
fact :- F =.. [dog, sierra], assert(F), write(ok), nl.
rule :- R =.. [ ' :- ', animal(X), dog(X)], assert(R), write(ok), nl.
comprule :- C =.. [ ' , ' , dog(X), waggingtail(X)], S =.. [ ' , ' , friendly(X), C], assert(S), write(ok), nl.
2 ?- fact . ok yes 3 ?- rule . ok yes 4 ?- comprule. ok yes 5 ?- consult(user). |: waggingtail(sierra) .
6 ?- dog(Who) . Who = sierra
8 ?- friendly(Who) . Who = sierra