Question 2
[10]
(a) Write a procedure exp(Base, Exponent, Result) such that if b and e are non-negative
integers, the goal exp(b, e, R) returns the result $R = b^e$.
For example:
?- exp(2,3,R)
R = 8
Your definition of exp should implement the following algorithm:
1. if the exponent is 0, the result is 1
2. if the base is 0, the result is 0
3 the result is obtained by multiplying the base by the result obtained from the same
base and the predecessor of the exponent
(b) Lists can be used to represent sets in Prolog.
Write a Prolog procedure difference(A, B, L) that returns the difference between set
A and set B.
The set L contains all elements that belong to A but not to B.
(6)
(4)