home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 9 / 09.iso / e / e051 / 3.ddi / MAC / MAB.L < prev    next >
Encoding:
Text File  |  1985-01-07  |  3.8 KB  |  180 lines

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