Answers to Exercises
Appendix A Answers to Exercises Answers to some of the exercises can be verified by running CLINGO, and they are not included here. 2.1. (c) Replace rule (1.1) by large(C) :- size(C,S), S > 500. 2.2. (a) X is a child of Y if Y is a parent of X. 2.3. (a) large(germany) :- size(germany,83), size(uk,64), 83 > 64. (b) child(dan,bob) :- parent(bob,dan). 2.4. (b), (c), and (d). 2.5. parent(ann,bob; bob,carol; bob,dan). 2.8. p(0,0*0+0+41) :- 0 = 0..3. 2.10. p(2**N,2**(N+1)) :- N = 0..3. 2.11. (a) p(N,(-1)**N) :- N = 0..4. (b) p(M,N) :- M = 1..4, N = 1..4, M >= N. 2.12. (a) grandparent(X,Z) :- parent(X,Y), parent(Y,Z). 2.13. (a) sibling(X,Y) :- parent(Z,X), parent(Z,Y), X != Y. 2.14. enrolled(S) :- enrolled(S,C). 2.15. same_city(X,Y) :- lives_in(X,C), lives_in(Y,C), X!=Y. 2.16. older(X,Y) :- age(X,M), age(Y,N), M > N. 2.18. Line 5: noncoprime(N) :- N = 1..n, I = 2..N, N\I = 0, k\I = 0. Line 10: coprime(N) :- N = 1..n, not noncoprime(N). © Springer Nature Switzerland AG 2019 149 V. Lifschitz, Answer Set Programming, https://doi.org/10.1007/978-3-030-24658-7 150 A Answers to Exercises 2.19. Line 6: three(N) :- N = 1..n, I = 0..n, J = 0..n, K = 0..n, N=I**2+J**2+K**2.
[Show full text]