home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / o / ops5.zip / MAB.OPS < prev    next >
Text File  |  1992-05-31  |  4KB  |  175 lines

  1. (literalize start)
  2.  
  3. (literalize monkey
  4.     at
  5.     on
  6.     holds)
  7.  
  8. (literalize object
  9.     name
  10.     at
  11.     weight
  12.     on)
  13.  
  14. (literalize goal
  15.     status
  16.     type
  17.     object
  18.     to)
  19.  
  20. (p mb1
  21.     (goal ^status active ^type holds ^object <w>)
  22.     (object ^name <w> ^at <p> ^on ceiling)
  23.     -->
  24.     (make goal ^status active ^type move ^object ladder ^to <p>))
  25.  
  26.  
  27. (p mb2
  28.     (goal ^status active ^type holds ^object <w>)
  29.     (object ^name <w> ^at <p> ^on ceiling)
  30.     (object ^name ladder ^at <p>)
  31.     -->
  32.     (make goal ^status active ^type on ^object ladder))
  33.  
  34. (p mb4
  35.     (goal ^status active ^type holds ^object <w>)
  36.     (object ^name <w> ^at <p> ^on ceiling)
  37.     (object ^name ladder ^at <p>)
  38.     (monkey ^on ladder ^holds nil)
  39.     -->
  40.     (write (crlf) grab <w>)
  41.     (modify 4 ^holds <w>)
  42.     (modify 1 ^status satisfied))
  43.  
  44. (p mb3
  45.     (goal ^status active ^type holds ^object <w>)
  46.     (object ^name <w> ^at <p> ^on ceiling)
  47.     (object ^name ladder ^at <p>)
  48.     (monkey ^on ladder)
  49.     -->
  50.     (make goal ^status active ^type holds ^object nil))
  51.  
  52. (p mb5
  53.     (goal ^status active ^type holds ^object <w>)
  54.     (object ^name <w> ^at <p> ^on floor)
  55.     -->
  56.     (make goal ^status active ^type walk-to ^object <p>))
  57.  
  58. (p mb7
  59.     (goal ^status active ^type holds ^object <w>)
  60.     (object ^name <w> ^at <p> ^on floor)
  61.     (monkey ^at <p> ^holds nil)
  62.     -->
  63.     (write (crlf) grab <w>)
  64.     (modify 3 ^holds <w>)
  65.     (modify 1 ^status satisfied))
  66.  
  67. (p mb6
  68.     (goal ^status active ^type holds ^object <w>)
  69.     (object ^name <w> ^at <p> ^on floor)
  70.     (monkey ^at <p>)
  71.     -->
  72.     (make goal ^status active ^type holds ^object nil))
  73.  
  74. (p mb8
  75.     (goal ^status active ^type move ^object <o> ^to <p>)
  76.     (object ^name <o> ^weight light ^at <> <p>)
  77.     -->
  78.     (make goal ^status active ^type holds ^object <o>))
  79.  
  80.  
  81. (p mb9
  82.     (goal ^status active ^type move ^object <o> ^to <p>)
  83.     (object ^name <o> ^weight light ^at <> <p>)
  84.     (monkey ^holds <o>)
  85.     -->
  86.     (make goal ^status active ^type walk-to ^object <p>))
  87.  
  88.  
  89. (p mb10
  90.     (goal ^status active ^type move ^object <o> ^to <p>)
  91.     (object ^name <o> ^weight light ^at <p>)
  92.     -->
  93.     (modify 1 ^status satisfied))
  94.  
  95.  
  96. (p mb11
  97.     (goal ^status active ^type walk-to ^object <p>)
  98.     -->
  99.     (make goal ^status active ^type on ^object floor))
  100.  
  101. (p mb12
  102.     (goal ^status active ^type walk-to ^object <p>)
  103.     (monkey ^on floor ^at {<c> <> <p>} ^holds nil)
  104.     -->
  105.     (write (crlf) walk to <p>)
  106.     (modify 2 ^at <p>)
  107.     (modify 1 ^status satisfied))
  108.  
  109.  
  110. (p mb13
  111.     (goal ^status active ^type walk-to ^object <p>)
  112.     (monkey ^on floor ^at {<c> <> <p>} ^holds {<w> <> nil})
  113.     (object ^name <w>)
  114.     -->
  115.     (write (crlf) walk to <p>)
  116.     (modify 2 ^at <p>)
  117.     (modify 3 ^at <p>)
  118.     (modify 1 ^status satisfied))
  119.  
  120. (p mb14
  121.     (goal ^status active ^type on ^object floor)
  122.     (monkey ^on {<x> <> floor})
  123.     -->
  124.     (write (crlf) jump onto the floor)
  125.     (modify 2 ^on floor)
  126.     (modify 1 ^status satisfied))
  127.  
  128. (p mb15
  129.     (goal ^status active ^type on ^object <o>)
  130.     (object ^name <o> ^at <p>)
  131.     -->
  132.     (make goal ^status active ^type walk-to ^object <p>))
  133.  
  134.  
  135.  
  136. (p mb16
  137.     (goal ^status active ^type on ^object <o>)
  138.     (object ^name <o> ^at <p>)
  139.     (monkey ^at <p>)
  140.     -->
  141.     (make goal ^status active ^type holds ^object nil))
  142.  
  143.  
  144. (p mb17
  145.     (goal ^status active ^type on ^object <o>)
  146.     (object ^name <o> ^at <p>)
  147.     (monkey ^at <p> ^holds nil)
  148.     -->
  149.     (write (crlf) climb onto <o>)
  150.     (modify 3 ^on <o>)
  151.     (modify 1 ^status satisfied))
  152.  
  153. (p mb18
  154.     (goal ^status active ^type holds ^object nil)
  155.     (monkey ^holds {<x> <> nil})
  156.     -->
  157.     (write (crlf) drop <x>)
  158.     (modify 2 ^holds nil)
  159.     (modify 1 ^status satisfied))
  160.  
  161. (p mb19
  162.     (goal ^status active)
  163.     -->
  164.     (modify 1 ^status not-processed))
  165.  
  166. (p t1
  167.     (start)
  168.     -->
  169.     (make monkey ^at 5-7 ^on couch)
  170.     (make object ^name couch ^at 5-7 ^weight heavy)
  171.     (make object ^name bananas ^on ceiling ^at 2-2)
  172.     (make object ^name ladder ^on floor ^at 9-5 ^weight light)
  173.     (make goal ^status active ^type holds ^object bananas))
  174.  
  175.