num(1..6). data(1..36). 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. weight wt(26) = 26. weight wt(27) = 27. weight wt(28) = 28. weight wt(29) = 29. weight wt(30) = 30. weight wt(31) = 31. weight wt(32) = 32. weight wt(33) = 33. weight wt(34) = 34. weight wt(35) = 35. weight wt(36) = 36. 1{sqr(I,J,D):num(I;J)}1 :- data(D). 1{sqr(I,J,D):data(D)}1 :- num(I;J). 111 [ sqr(I, J, A) : num(J) : data(A) = weight(wt(A)) ] 111 :- num(I). 111 [ sqr(I, J, A) : num(I) : data(A) = weight(wt(A)) ] 111 :- num(J). 111 [ sqr(I, I, A) : num(I) : data(A) = weight(wt(A)) ] 111. 111 [ sqr(I, 7-I, A) : num(I;7-I) : data(A) = weight(wt(A)) ] 111.