if (root ?a) & (green ?a) R1
then (edibility ?a poisonous)
if (fruit ?b) & (purple ?b) R2
then (nutrition ?b high)
if (mushroom ?c) & (orange ?c) R3
then (edibility ?c delicious)
if (edibility ?d edible) R4
then (not (edibility ?d poisonous))
if (edibility ?e poisonous) R5
then (not (edibility ?e edible))
if (edibility ?f delicious) R6
then (edibility ?f edible)
if (edibility ?g delicious) R7
then (nutrition ?g low)
if (amphibian ?h) R8
then (reliable ?h)
if (higher-than ?i ?j) & R9
(edibility ?j edible)
then (edibility ?i edible)
if (ate ?k ?l) & (alive ?k) R10
then (edibility ?l edible)
if (claim ?m (edibility ?n ?o)) & R11
(reliable ?m)
then (edibility ?n ?o)
if (offer ?p ?q) & (reptile ?p) R12
then (edibility ?q poisonous)
if (offer ?r ?s) & R13
(mushroom ?s) & (amphibian ?r)
then (edibility ?r edible)
1 (mushroom m1) (orange m1) (root r1) (amphibian a1) (reliable x1) (claim a1 (edibility m2 poisonous)) (claim x1 (edibility r1 delicious)) 2 (mushroom m1) (orange m1) (higher-than m2 m1) (higher-than m3 m2)
if (goal eat) & (have ?x) & (type ?x food)
then do: (eat ?x)
delete: (goal eat), (have ?x)
if (goal eat)
then add: (goal have-mem food)
if (goal drive-off ?x) & (have ?y) & (type ?y weapon)
then do: (throw-at ?y ?x)
delete: (goal drive-off ?x), (have ?y)
if (visible ?x far) & (type ?x predator)
then add: (goal drive-off ?x)
if (goal drive-off ?x)
then add: (goal have-mem weapon)
if (goal have-mem ?x) & (visible ?y far) & (type ?y ?x)
then do: (go-toward ?y)
add: (visible ?y near)
if (goal have-mem ?x) & (visible ?y near) & (type ?y ?x)
then do: (grab ?y)
add: (have ?y)
delete: (goal have-mem ?x)
if (goal have-mem ?x)
then do: (move)
if nil
then do: (look)
add: ...
Last updated: 13 February 1996
URL: http://www.indiana.edu/~gasser/Q351/prodsys1.html
Comments:
gasser@cs.indiana.edu
Copyright 1996,
The Trustees of
Indiana University