(relation path (i64 i64)) (relation edge (i64 i64)) (rule ((edge x y)) ((path x y))) (edge 1 2) (edge 2 3) (edge 3 4) (check (edge 1 2)) (run 3) (check (path 1 2)) (ruleset path-rules) (rule ((path x y) (edge y z)) ((path x z)) :ruleset path-rules) (edge 3 8) (run path-rules 1) (check (path 1 3)) ; Should fail ; (check (path 1 4)) ; (check (path 3 8))