Main Page   Files   Productions   Problem Spaces   Operators   Goal Hierarchy   Groups   Prod. By Type   Todo   All  


output.soar

Path to this file:
     blocks_world/
         elaborations/
             output.soar [src]

Go to the source for this file...

Productions

apply*move-block*from-block*to-block  
apply*move-block*from-table*to-block  
apply*move-block*to-table  


Production Documentation

apply*move-block*from-block*to-block

Documented at line 66 of file output.soar
Defined at line 78 of file output.soar

Type: application

Detailed Description

Move a block from one block to another block (when allowed), updating the moving block, the (origin) block it was sitting on, and destination block.

Problem Spaces: any-ps

Operators: move-block

Source

sp {apply*move-block*from-block*to-block
   (state <s> ^operator <op>
              ^block <moving> {<> <moving> <origin>}
                              {<> <moving> <> <origin> <dest>})
   (<op> ^name move-block
        ^block <m>
        ^destination { <> table <d> })
   (<moving> ^name <m> ^on { <> table <o> } ^below o)
   (<dest>   ^name <d>                      ^below o)
   (<origin> ^name <o>                      ^below <m>)
-->
   (<moving> ^on <d>    ^on <o> -)
   (<dest>   ^below <m> ^below o -)
   (<origin> ^below o   ^below <m> -)}

apply*move-block*from-table*to-block

Documented at line 42 of file output.soar
Defined at line 54 of file output.soar

Type: application

Detailed Description

Move a block from the table to another block (when allowed), updating the moving block and destination block.

Problem Spaces: any-ps

Operators: move-block

Source

sp {apply*move-block*from-table*to-block
   (state <s> ^operator <op>
              ^block <moving> {<> <moving> <dest>})
   (<op> ^name move-block
        ^block <m>
        ^destination { <> table <d> })
   (<moving> ^name <m> ^on table ^below o)
   (<dest>   ^name <d>           ^below o)
-->
   (<moving> ^on <d>    ^on table -)
   (<dest>   ^below <m> ^below o -)}

apply*move-block*to-table

Documented at line 18 of file output.soar
Defined at line 30 of file output.soar

Type: application

Detailed Description

Move a block to the table (when allowed), updating the both the moving block and the (origin) block was sitting on.

Problem Spaces: any-ps

Operators: move-block

Source

sp {apply*move-block*to-table
   (state <s> ^operator <op>
              ^block <moving> {<> <moving> <origin>})
   (<op> ^name move-block
        ^block <m>
        ^destination table)
   (<moving> ^name <m> ^on <o> ^below o)
   (<origin> ^name <o>         ^below <m>)
-->
   (<moving> ^on table ^on <o> -)
   (<origin> ^below o ^below <m> - )}


Generated with SoarDoc on Mon Jan 24 15:38:25 2005 by richard