node(X) :- edge(X,Y). node(Y) :- edge(X,Y). reached(X) :- first(X). reached(Y) :- edge(X,Y), in(X,Y), reached(X). reached(Y) :- edge(Y,X), in(Y,X), reached(X). % in reliability, the last node will be reached :- last(X), not reached(X). #show in/3. %#show in/2. edge(1,2). edge(1,3). edge(4,5). edge(4,6). edge(7,8). edge(7,9). edge(8,10). edge(8,11). edge(8,12). edge(8,3). edge(8,13). edge(14,15). edge(14,10). edge(14,12). edge(14,16). edge(14,17). edge(14,3). edge(18,19). edge(18,20). edge(18,21). edge(18,22). edge(18,23). edge(18,24). edge(25,26). edge(27,28). edge(27,29). edge(17,30). edge(17,31). edge(17,32). edge(5,6). edge(33,34). edge(33,35). edge(33,36). edge(37,38). edge(2,39). edge(2,40). edge(2,3). edge(2,41). edge(26,42). edge(26,6). edge(26,43). edge(26,44). edge(32,30). edge(32,31). edge(3,10). edge(3,45). edge(46,42). edge(30,47). edge(48,49). edge(48,50). edge(51,52). edge(51,53). edge(52,16). edge(52,53). edge(19,15). edge(54,55). edge(54,56). edge(54,29). edge(57,58). edge(31,59). edge(31,60). edge(10,61). edge(62,34). edge(62,63). edge(44,43). edge(44,64). edge(55,65). edge(66,67). edge(66,50). edge(15,68). edge(15,69). edge(15,16). edge(15,70). edge(11,12). edge(71,65). edge(9,72). edge(73,74). edge(75,42). edge(68,47). edge(68,16). edge(68,76). edge(77,78). edge(77,79). edge(77,80). edge(81,74). edge(81,82). edge(81,83). edge(81,84). edge(81,80). edge(85,38). edge(85,86). edge(69,47). edge(83,74). edge(34,87). edge(34,88). edge(34,67). edge(34,12). edge(89,45). edge(49,88). edge(16,12). edge(16,86). edge(80,90). edge(42,86). edge(42,91). edge(42,43). edge(92,86). edge(93,90). edge(36,88). edge(94,12). edge(95,74). edge(56,29). edge(96,6). edge(24,21). edge(29,12). edge(86,74). edge(86,97). edge(98,88). edge(88,67). edge(88,12). edge(88,99). edge(88,58). edge(88,50). edge(88,100). edge(65,67). edge(79,78). first(1). last(100).