egison-2.3.10: sample/graph-test.egi
(load "lib/graph.egi")
(define $g1 {<node 1 {2 3 4 5} {2 3 4 5}>
<node 2 {1 3} {1 3}>
<node 3 {1 2 4} {1 2 4}>
<node 4 {1 3 5} {1 3 5}>
<node 5 {1 4} {1 4}>})
(define $g2 {<node 1 {2} {2}>
<node 2 {1 3} {1 3}>
<node 3 {2 4} {2 4}>
<node 4 {3 5} {3 5}>
<node 5 {4} {4}>})
(test (hamilton-cycle g1))
(test {[1 2 3 4 5] [1 5 4 3 2] [2 1 5 4 3] [2 3 4 5 1] [3 2 1 5 4] [3 4 5 1 2] [4 3 2 1 5] [4 5 1 2 3] [5 1 2 3 4] [5 4 3 2 1]})
(test (hamilton-path g1))
(test {[1 2 3 4 5] [1 5 4 3 2] [2 1 3 4 5] [2 1 5 4 3] [2 3 1 4 5] [2 3 1 5 4] [2 3 4 1 5] [2 3 4 5 1] [3 2 1 4 5] [3 2 1 5 4] [3 4 5 1 2] [4 3 2 1 5] [4 5 1 2 3] [4 5 1 3 2] [5 1 2 3 4] [5 1 4 3 2] [5 4 1 2 3] [5 4 1 3 2] [5 4 3 1 2] [5 4 3 2 1]})
(test (hamilton-cycle g2))
(test {})
(test (hamilton-path g2))
(test {[1 2 3 4 5] [5 4 3 2 1]})