racket/collects/tests/datalog/paren-examples/ancestor.rkt

13 lines
273 B
Racket

#lang datalog/sexp
; Equality test
(! (:- (ancestor A B)
(parent A B)))
(! (:- (ancestor A B)
(parent A C)
(= D C) ; Unification required
(ancestor D B)))
(! (parent john douglas))
(! (parent bob john))
(! (parent ebbon bob))
(? (ancestor A B))