Blob


1 (assert! (job (Bitdiddle Ben) (computer wizard)))
2 (assert! (address (Bitdiddle Ben) (Slumerville (Ridge Road) 10)))
3 (assert! (salary (Bitdiddle Ben) 60000))
4 (supervisor (Bitdiddle Ben) (Warbucks Oliver))
5 (job (Reasoner Louis) (computer programmer trainee))
6 (job ?x (computer programmer))
7 (address ?x ?y)
8 (supervisor ?x ?x)
9 (job ?x (computer . ?type))
10 (and (job ?person (computer programmer))
11 (address ?person ?where))
12 (or (supervisor ?x (Bitdiddle Ben))
13 (supervisor ?x (Hacker Alyssa P)))
14 (not <query>)
15 (lisp-value <pred> <arg> <arg>)
16 (and (supervisor ?x (Bitdiddle Ben))
17 (not (job ?x (computer programmer))))
18 (and (salary ?person ?amount)
19 (lisp-value > ?amount 30000))
21 (rule (same ?x ?x))
22 (rule (lives-near ?person-1 ?person-2)
23 (and (address ?person-1 (?town . ?rest-1))
24 (address ?person-2 (?town . ?rest-2))
25 (not (same ?person-1 ?person-2))))
26 (rule (wheel ?person)
27 (and (supervisor ?middle-manager ?person)
28 (supervisor ?x ?middle-manager)))
29 (lives-near ?x (Bitdiddle Ben))