num(1..5). data(1..25). weight wt(1) = 1. weight wt(2) = 2. weight wt(3) = 3. weight wt(4) = 4. weight wt(5) = 5. weight wt(6) = 6. weight wt(7) = 7. weight wt(8) = 8. weight wt(9) = 9. weight wt(10) = 10. weight wt(11) = 11. weight wt(12) = 12. weight wt(13) = 13. weight wt(14) = 14. weight wt(15) = 15. weight wt(16) = 16. weight wt(17) = 17. weight wt(18) = 18. weight wt(19) = 19. weight wt(20) = 20. weight wt(21) = 21. weight wt(22) = 22. weight wt(23) = 23. weight wt(24) = 24. weight wt(25) = 25. 1{sqr(I,J,D):num(I;J)}1 :- data(D). 1{sqr(I,J,D):data(D)}1 :- num(I;J). 65 [ sqr(I, J, A) : num(J) : data(A) = weight(wt(A)) ] 65 :- num(I). 65 [ sqr(I, J, A) : num(I) : data(A) = weight(wt(A)) ] 65 :- num(J). 65 [ sqr(I, I, A) : num(I) : data(A) = weight(wt(A)) ] 65. 65 [ sqr(I, 6-I, A) : num(I;6-I) : data(A) = weight(wt(A)) ] 65.