Example with Lisp Syntax
; courses.lsp Some prerequisite relationships
; To prove X must come before Y, it’s
; enough to show that X is a prereq. for y.
((before X Y) (prereq X Y))
; Alternatively, one can show X must come
; before Y by showing that for some Z,
; X is a prereq of Z and Z comes before y.
((before X Y) (prereq X Z) (before Z Y))
; Before(x,y) v ~Prereq(x,z) v ~Before(z,y)
; ( <head> <-- <atomic formula 1> <af2> ...<afn>)