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

  1.  
  2.  
  3.  
  4. (literalize goal
  5.     want
  6.     object
  7.     number
  8.     direction
  9.     value
  10.     id
  11.     seq
  12.     status)
  13.  
  14. (literalize vodor
  15.     right
  16.     left
  17.     top
  18.     bottom
  19.     front
  20.     posterior
  21.     id
  22.     status)
  23.  
  24. (literalize task-list
  25.     task
  26.     object
  27.     subtask
  28.     subtask-object)
  29.  
  30. (literalize face
  31.     number
  32.     block
  33.     color)
  34.  
  35. (literalize cubie-order
  36.     face-num
  37.     direction
  38.     adj-face-num
  39.     block
  40.     adj-blk-num)
  41.  
  42. (literalize face-relation
  43.     front
  44.     posterior
  45.     right
  46.     left
  47.     top
  48.     bottom)
  49.  
  50. (literalize front-face
  51.     number
  52.     color
  53.     id
  54.     status)
  55.  
  56. (literalize source-face
  57.     number
  58.     color
  59.     ic
  60.     id
  61.     status)
  62.  
  63. (literalize bottom-corner
  64.     number
  65.     face
  66.     color
  67.     cubie
  68.     id
  69.     status)
  70.  
  71. (literalize bottom-edge
  72.     number
  73.     face
  74.     color
  75.     cubie
  76.     id
  77.     status)
  78.  
  79.  
  80.  
  81.  
  82. (p start
  83.     (start)
  84. -->
  85.     (remove 1)
  86.     (make face ^number 1 ^block 1 ^color blue)
  87.     (make face ^number 1 ^block 2 ^color blue)
  88.     (make face ^number 1 ^block 3 ^color blue)
  89.     (make face ^number 1 ^block 4 ^color blue)
  90.     (make face ^number 1 ^block 5 ^color blue)
  91.     (make face ^number 1 ^block 6 ^color blue)
  92.     (make face ^number 1 ^block 7 ^color blue)
  93.     (make face ^number 1 ^block 8 ^color blue)
  94.     (make face ^number 1 ^block 9 ^color blue)
  95.     (make face ^number 2 ^block 1 ^color red)
  96.     (make face ^number 2 ^block 2 ^color red)
  97.     (make face ^number 2 ^block 3 ^color red)
  98.     (make face ^number 2 ^block 4 ^color red)
  99.     (make face ^number 2 ^block 5 ^color red)
  100.     (make face ^number 2 ^block 6 ^color red)
  101.     (make face ^number 2 ^block 7 ^color red)
  102.     (make face ^number 2 ^block 8 ^color red)
  103.     (make face ^number 2 ^block 9 ^color red)
  104.     (make face ^number 3 ^block 1 ^color green)
  105.     (make face ^number 3 ^block 2 ^color green)
  106.     (make face ^number 3 ^block 3 ^color green)
  107.     (make face ^number 3 ^block 4 ^color green)
  108.     (make face ^number 3 ^block 5 ^color green)
  109.     (make face ^number 3 ^block 6 ^color green)
  110.     (make face ^number 3 ^block 7 ^color green)
  111.     (make face ^number 3 ^block 8 ^color green)
  112.     (make face ^number 3 ^block 9 ^color green)
  113.     (make face ^number 4 ^block 1 ^color white)
  114.     (make face ^number 4 ^block 2 ^color white)
  115.     (make face ^number 4 ^block 3 ^color white)
  116.     (make face ^number 4 ^block 4 ^color white)
  117.     (make face ^number 4 ^block 5 ^color white)
  118.     (make face ^number 4 ^block 6 ^color white)
  119.     (make face ^number 4 ^block 7 ^color white)
  120.     (make face ^number 4 ^block 8 ^color white)
  121.     (make face ^number 4 ^block 9 ^color white)
  122.     (make face ^number 5 ^block 1 ^color yellow)
  123.     (make face ^number 5 ^block 2 ^color yellow)
  124.     (make face ^number 5 ^block 3 ^color yellow)
  125.     (make face ^number 5 ^block 4 ^color yellow)
  126.     (make face ^number 5 ^block 5 ^color yellow)
  127.     (make face ^number 5 ^block 6 ^color yellow)
  128.     (make face ^number 5 ^block 7 ^color yellow)
  129.     (make face ^number 5 ^block 8 ^color yellow)
  130.     (make face ^number 5 ^block 9 ^color yellow)
  131.     (make face ^number 6 ^block 1 ^color orange)
  132.     (make face ^number 6 ^block 2 ^color orange)
  133.     (make face ^number 6 ^block 3 ^color orange)
  134.     (make face ^number 6 ^block 4 ^color orange)
  135.     (make face ^number 6 ^block 5 ^color orange)
  136.     (make face ^number 6 ^block 6 ^color orange)
  137.     (make face ^number 6 ^block 7 ^color orange)
  138.     (make face ^number 6 ^block 8 ^color orange)
  139.     (make face ^number 6 ^block 9 ^color orange)
  140.     (make cubie-order ^face-num 1 ^direction dn
  141.                       ^adj-face-num 2 ^block 7 ^adj-blk-num 1)
  142.     (make cubie-order ^face-num 1 ^direction dn
  143.                       ^adj-face-num 2 ^block 8 ^adj-blk-num 2)
  144.     (make cubie-order ^face-num 1 ^direction dn
  145.                       ^adj-face-num 2 ^block 9 ^adj-blk-num 3)
  146.     (make cubie-order ^face-num 1 ^direction rt
  147.                       ^adj-face-num 3 ^block 3 ^adj-blk-num 3)
  148.     (make cubie-order ^face-num 1 ^direction rt
  149.                       ^adj-face-num 3 ^block 6 ^adj-blk-num 2)
  150.     (make cubie-order ^face-num 1 ^direction rt
  151.                       ^adj-face-num 3 ^block 9 ^adj-blk-num 1)
  152.     (make cubie-order ^face-num 1 ^direction up
  153.                       ^adj-face-num 4 ^block 1 ^adj-blk-num 3)
  154.     (make cubie-order ^face-num 1 ^direction up
  155.                       ^adj-face-num 4 ^block 2 ^adj-blk-num 2)
  156.     (make cubie-order ^face-num 1 ^direction up
  157.                       ^adj-face-num 4 ^block 3 ^adj-blk-num 1)
  158.     (make cubie-order ^face-num 1 ^direction lf
  159.                       ^adj-face-num 5 ^block 1 ^adj-blk-num 1)
  160.     (make cubie-order ^face-num 1 ^direction lf
  161.                       ^adj-face-num 5 ^block 4 ^adj-blk-num 2)
  162.     (make cubie-order ^face-num 1 ^direction lf
  163.                       ^adj-face-num 5 ^block 7 ^adj-blk-num 3)
  164.     (make cubie-order ^face-num 2 ^direction up
  165.                       ^adj-face-num 1 ^block 1 ^adj-blk-num 7)
  166.     (make cubie-order ^face-num 2 ^direction up
  167.                       ^adj-face-num 1 ^block 2 ^adj-blk-num 8)
  168.     (make cubie-order ^face-num 2 ^direction up
  169.                       ^adj-face-num 1 ^block 3 ^adj-blk-num 9)
  170.     (make cubie-order ^face-num 2 ^direction rt
  171.                       ^adj-face-num 3 ^block 3 ^adj-blk-num 1)
  172.     (make cubie-order ^face-num 2 ^direction rt
  173.                       ^adj-face-num 3 ^block 6 ^adj-blk-num 4)
  174.     (make cubie-order ^face-num 2 ^direction rt
  175.                       ^adj-face-num 3 ^block 9 ^adj-blk-num 7)
  176.     (make cubie-order ^face-num 2 ^direction dn
  177.                       ^adj-face-num 6 ^block 7 ^adj-blk-num 1)
  178.     (make cubie-order ^face-num 2 ^direction dn
  179.                       ^adj-face-num 6 ^block 8 ^adj-blk-num 2)
  180.     (make cubie-order ^face-num 2 ^direction dn
  181.                       ^adj-face-num 6 ^block 9 ^adj-blk-num 3)
  182.     (make cubie-order ^face-num 2 ^direction lf
  183.                       ^adj-face-num 5 ^block 1 ^adj-blk-num 3)
  184.     (make cubie-order ^face-num 2 ^direction lf
  185.                       ^adj-face-num 5 ^block 4 ^adj-blk-num 6)
  186.     (make cubie-order ^face-num 2 ^direction lf
  187.                       ^adj-face-num 5 ^block 7 ^adj-blk-num 9)
  188.     (make cubie-order ^face-num 3 ^direction up
  189.                       ^adj-face-num 1 ^block 1 ^adj-blk-num 9)
  190.     (make cubie-order ^face-num 3 ^direction up
  191.                       ^adj-face-num 1 ^block 2 ^adj-blk-num 6)
  192.     (make cubie-order ^face-num 3 ^direction up
  193.                       ^adj-face-num 1 ^block 3 ^adj-blk-num 3)
  194.     (make cubie-order ^face-num 3 ^direction rt
  195.                       ^adj-face-num 4 ^block 3 ^adj-blk-num 1)
  196.     (make cubie-order ^face-num 3 ^direction rt
  197.                       ^adj-face-num 4 ^block 6 ^adj-blk-num 4)
  198.     (make cubie-order ^face-num 3 ^direction rt
  199.                       ^adj-face-num 4 ^block 9 ^adj-blk-num 7)
  200.     (make cubie-order ^face-num 3 ^direction dn
  201.                       ^adj-face-num 6 ^block 7 ^adj-blk-num 3)
  202.     (make cubie-order ^face-num 3 ^direction dn
  203.                       ^adj-face-num 6 ^block 8 ^adj-blk-num 6)
  204.     (make cubie-order ^face-num 3 ^direction dn
  205.                       ^adj-face-num 6 ^block 9 ^adj-blk-num 9)
  206.     (make cubie-order ^face-num 3 ^direction lf
  207.                       ^adj-face-num 2 ^block 1 ^adj-blk-num 3)
  208.     (make cubie-order ^face-num 3 ^direction lf
  209.                       ^adj-face-num 2 ^block 4 ^adj-blk-num 6)
  210.     (make cubie-order ^face-num 3 ^direction lf
  211.                       ^adj-face-num 2 ^block 7 ^adj-blk-num 9)
  212.     (make cubie-order ^face-num 4 ^direction up
  213.                       ^adj-face-num 1 ^block 1 ^adj-blk-num 3)
  214.     (make cubie-order ^face-num 4 ^direction up
  215.                       ^adj-face-num 1 ^block 2 ^adj-blk-num 2)
  216.     (make cubie-order ^face-num 4 ^direction up
  217.                       ^adj-face-num 1 ^block 3 ^adj-blk-num 1)
  218.     (make cubie-order ^face-num 4 ^direction rt
  219.                       ^adj-face-num 5 ^block 3 ^adj-blk-num 1)
  220.     (make cubie-order ^face-num 4 ^direction rt
  221.                       ^adj-face-num 5 ^block 6 ^adj-blk-num 4)
  222.     (make cubie-order ^face-num 4 ^direction rt
  223.                       ^adj-face-num 5 ^block 9 ^adj-blk-num 7)
  224.     (make cubie-order ^face-num 4 ^direction dn
  225.                       ^adj-face-num 6 ^block 7 ^adj-blk-num 9)
  226.     (make cubie-order ^face-num 4 ^direction dn
  227.                       ^adj-face-num 6 ^block 8 ^adj-blk-num 8)
  228.     (make cubie-order ^face-num 4 ^direction dn
  229.                       ^adj-face-num 6 ^block 9 ^adj-blk-num 7)
  230.     (make cubie-order ^face-num 4 ^direction lf
  231.                       ^adj-face-num 3 ^block 1 ^adj-blk-num 3)
  232.     (make cubie-order ^face-num 4 ^direction lf
  233.                       ^adj-face-num 3 ^block 4 ^adj-blk-num 6)
  234.     (make cubie-order ^face-num 4 ^direction lf
  235.                       ^adj-face-num 3 ^block 7 ^adj-blk-num 9)
  236.     (make cubie-order ^face-num 5 ^direction up
  237.                       ^adj-face-num 1 ^block 1 ^adj-blk-num 1)
  238.     (make cubie-order ^face-num 5 ^direction up
  239.                       ^adj-face-num 1 ^block 2 ^adj-blk-num 4)
  240.     (make cubie-order ^face-num 5 ^direction up
  241.                       ^adj-face-num 1 ^block 3 ^adj-blk-num 7)
  242.     (make cubie-order ^face-num 5 ^direction rt
  243.                       ^adj-face-num 2 ^block 3 ^adj-blk-num 1)
  244.     (make cubie-order ^face-num 5 ^direction rt
  245.                       ^adj-face-num 2 ^block 6 ^adj-blk-num 4)
  246.     (make cubie-order ^face-num 5 ^direction rt
  247.                       ^adj-face-num 2 ^block 9 ^adj-blk-num 7)
  248.     (make cubie-order ^face-num 5 ^direction dn
  249.                       ^adj-face-num 6 ^block 7 ^adj-blk-num 7)
  250.     (make cubie-order ^face-num 5 ^direction dn
  251.                       ^adj-face-num 6 ^block 8 ^adj-blk-num 4)
  252.     (make cubie-order ^face-num 5 ^direction dn
  253.                       ^adj-face-num 6 ^block 9 ^adj-blk-num 1)
  254.     (make cubie-order ^face-num 5 ^direction lf
  255.                       ^adj-face-num 4 ^block 1 ^adj-blk-num 3)
  256.     (make cubie-order ^face-num 5 ^direction lf
  257.                       ^adj-face-num 4 ^block 4 ^adj-blk-num 6)
  258.     (make cubie-order ^face-num 5 ^direction lf
  259.                       ^adj-face-num 4 ^block 7 ^adj-blk-num 9)
  260.     (make cubie-order ^face-num 6 ^direction up
  261.                       ^adj-face-num 2 ^block 1 ^adj-blk-num 7)
  262.     (make cubie-order ^face-num 6 ^direction up
  263.                       ^adj-face-num 2 ^block 2 ^adj-blk-num 8)
  264.     (make cubie-order ^face-num 6 ^direction up
  265.                       ^adj-face-num 2 ^block 3 ^adj-blk-num 9)
  266.     (make cubie-order ^face-num 6 ^direction rt
  267.                       ^adj-face-num 3 ^block 3 ^adj-blk-num 7)
  268.     (make cubie-order ^face-num 6 ^direction rt
  269.                       ^adj-face-num 3 ^block 6 ^adj-blk-num 8)
  270.     (make cubie-order ^face-num 6 ^direction rt
  271.                       ^adj-face-num 3 ^block 9 ^adj-blk-num 9)
  272.     (make cubie-order ^face-num 6 ^direction dn
  273.                       ^adj-face-num 4 ^block 7 ^adj-blk-num 9)
  274.     (make cubie-order ^face-num 6 ^direction dn
  275.                       ^adj-face-num 4 ^block 8 ^adj-blk-num 8)
  276.     (make cubie-order ^face-num 6 ^direction dn
  277.                       ^adj-face-num 4 ^block 9 ^adj-blk-num 7)
  278.     (make cubie-order ^face-num 6 ^direction lf
  279.                       ^adj-face-num 5 ^block 1 ^adj-blk-num 9)
  280.     (make cubie-order ^face-num 6 ^direction lf
  281.                       ^adj-face-num 5 ^block 4 ^adj-blk-num 8)
  282.     (make cubie-order ^face-num 6 ^direction lf
  283.                       ^adj-face-num 5 ^block 7 ^adj-blk-num 7)
  284.     (make face-relation ^front 2 ^right 3 ^left 5
  285.                         ^top 1 ^bottom 6 ^posterior 4)
  286.     (make face-relation ^front 3 ^right 4 ^left 2
  287.                         ^top 1 ^bottom 6 ^posterior 5)
  288.     (make face-relation ^front 4 ^right 5 ^left 3
  289.                         ^top 1 ^bottom 6 ^posterior 2)
  290.     (make face-relation ^front 5 ^right 2 ^left 4
  291.                         ^top 1 ^bottom 6 ^posterior 3)
  292.     (make face-relation ^front 6 ^posterior 1)
  293.     (make task-list ^task orient ^object bottom-edge
  294.                     ^subtask position ^subtask-object bottom-edge)
  295.     (make task-list ^task position ^object bottom-edge
  296.                     ^subtask orient ^subtask-object bottom-corner)
  297.     (make task-list ^task orient ^object bottom-corner
  298.                     ^subtask position ^subtask-object bottom-corner)
  299.     (make task-list ^task position ^object bottom-corner
  300.                     ^subtask orient ^subtask-object vertical-edge)
  301.     (make task-list ^task orient ^object vertical-edge
  302.                     ^subtask position ^subtask-object vertical-edge)
  303.     (make task-list ^task position ^object vertical-edge
  304.                     ^subtask orient ^subtask-object top-corner)
  305.     (make task-list ^task orient ^object top-corner
  306.                     ^subtask position ^subtask-object top-corner)
  307.     (make task-list ^task position ^object top-corner
  308.                     ^subtask orient ^subtask-object top-edge)
  309.     (make task-list ^task orient ^object top-edge
  310.                     ^subtask position ^subtask-object top-edge)
  311.     (write (crlf) normal cube order is |:|)
  312.     (write (crlf) (tabto 20) top face 1 |:| blue)
  313.     (write (crlf) (tabto 20) bottom face 6 |:| orange)
  314.     (write (crlf) (tabto 20) front face 2 |:| red)
  315.     (write (crlf) (tabto 20) right face 3 |:| green)
  316.     (write (crlf) (tabto 20) posterior face 4 |:| white)
  317.     (write (crlf) (tabto 20) left face 5 |:| yellow)
  318.     (make goal ^want scramble ^object cube ^id 1 ^number nil ^status active))
  319.  
  320. (p scramble*initiate
  321.     (goal ^want scramble ^object cube ^id <id> ^number nil ^status active)
  322. -->
  323.     (write (crlf) how many scrambling operations  >0  shall i perform |?_| )
  324.     (modify 1 ^number (accept)))
  325.  
  326. (p scramble*sequence
  327.     (goal ^want scramble ^object cube ^id <id> ^number {<n> > 0}
  328.           ^status active)
  329. -->
  330.        (modify 1 ^number (compute <n> - 1))
  331.     (write (crlf) about which face 1-6 shall i perform this rotation |?_|)
  332.     (bind <f> (accept))
  333.     (write (crlf) in which direction pos neg shall i rotate |?_|)
  334.     (bind <d> (accept))
  335.     (write (crlf) what size rotation shall i perform 90-180 |?_|)
  336.     (bind <v> (accept))
  337.     (make goal ^want rotate ^object face ^number <f> ^direction <d>
  338.                ^value <v> ^seq 1 ^status active))
  339.  
  340. (p scramble*exit
  341.     (goal ^want scramble ^object cube ^id <id> ^number 0 ^status active)
  342. -->
  343.     (remove 1)
  344.     (write (crlf) initiating solution |:| (crlf))
  345.     (make goal ^want orient ^object bottom-edge ^id 1 ^status consider))
  346.  
  347.  
  348.  
  349.  
  350. (p sequence-1
  351.     (goal ^want { << orient position >> <w> } ^object <o>
  352.           ^id <id> ^status consider)
  353.     (task-list ^task <w> ^object <o> ^subtask <st> ^subtask-object <sto>)
  354.    -(goal ^want <st> ^object <sto> ^status done)
  355.    -(goal ^want rotate ^status active)
  356. -->
  357.     (write (crlf) (crlf) suspending task to <w> <o>)
  358.     (write (crlf) considering task to <st> <sto>)
  359.     (modify 1 ^status pending)
  360.     (make goal ^want <st> ^object <sto> ^id (compute <id> + 1)
  361.                ^status consider))
  362.  
  363.  
  364. (p sequence-2
  365.     (goal ^want { << orient position >> <w> } ^object <o>
  366.           ^id <id> ^status consider)
  367.    -(task-list ^task <w> ^object <o>)
  368.    -(goal ^want rotate ^status active)
  369. -->
  370.     (write (crlf) (crlf) initiating task to <w> <o>)
  371.     (modify 1 ^status active))
  372.  
  373.  
  374. (p sequence-3
  375.     (goal ^want { << orient position >> <w> } ^object <o>
  376.           ^id <id> ^status active)
  377.    -(goal ^want rotate ^status active)
  378. -->
  379.     (write (crlf) (crlf) i find no further tasks to <w> <o>)
  380.     (modify 1 ^status done))
  381.  
  382.  
  383. (p sequence-4
  384.     (goal ^want { << orient position >> <w> } ^object <o>
  385.           ^id <id> ^status pending)
  386.    -(goal ^status << active  consider >>)
  387.    -(goal ^id > <id> ^status pending)
  388. -->
  389.     (write (crlf) (crlf) reconsidering task to <w> <o>)
  390.     (modify 1 ^status consider))
  391.  
  392. (p sequence-5
  393.     (goal ^want { << orient position >> <w> } ^object <o>
  394.           ^id <id> ^status consider)
  395.     (task-list ^task <w> ^object <o> ^subtask <st> ^subtask-object <sto>)
  396.     (goal ^want <st> ^object <sto> ^status done)
  397.    -(goal ^want rotate ^status active)
  398. -->
  399.     (write (crlf) (crlf) initiating task to <w> <o>)
  400.     (modify 1 ^status active))
  401.  
  402.  
  403. (p detect_normal-order
  404.     (goal ^want { << orient position >> <w> } ^object <o>)
  405.     (face ^number 1 ^block 5 ^color <c1>)
  406.    -(face ^number 1 ^block << 1 2 3 4 6 7 8 9 >> ^color <> <c1>)
  407.     (face ^number 2 ^block 5 ^color <c2>)
  408.    -(face ^number 2 ^block << 1 2 3 4 6 7 8 9 >> ^color <> <c2>)
  409.     (face ^number 3 ^block 5 ^color <c3>)
  410.    -(face ^number 3 ^block << 1 2 3 4 6 7 8 9 >> ^color <> <c3>)
  411.     (face ^number 4 ^block 5 ^color <c4>)
  412.    -(face ^number 4 ^block << 1 2 3 4 6 7 8 9 >> ^color <> <c4>)
  413.     (face ^number 5 ^block 5 ^color <c5>)
  414.    -(face ^number 2 ^block << 1 2 3 4 6 7 8 9 >> ^color <> <c2>)
  415.     (face ^number 6 ^block 5 ^color <c6>)
  416.    -(face ^number 6 ^block << 1 2 3 4 6 7 8 9 >> ^color <> <c6>)
  417. -->
  418.     (write (crlf) i find cube in normal order while attempting to <w> <o>)
  419.     (halt))
  420.  
  421.  
  422.  
  423. (p plus-90
  424.     (goal ^want rotate ^object face ^number <n> ^direction pos
  425.           ^value 90 ^id <id> ^seq <seq> ^status active)
  426.    -(goal ^want rotate ^object face ^id <id> ^seq < <seq> ^status active)
  427.     (face ^number <n> ^block 1 ^color <c1>)
  428.     (face ^number <n> ^block 2 ^color <c2>)
  429.     (face ^number <n> ^block 3 ^color <c3>)
  430.     (face ^number <n> ^block 4 ^color <c4>)
  431.     (face ^number <n> ^block 5 ^color <c5>)
  432.     (face ^number <n> ^block 6 ^color <c6>)
  433.     (face ^number <n> ^block 7 ^color <c7>)
  434.     (face ^number <n> ^block 8 ^color <c8>)
  435.     (face ^number <n> ^block 9 ^color <c9>)
  436.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  437.                  ^block 1 ^adj-blk-num <nup1>)
  438.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  439.                  ^block 2 ^adj-blk-num <nup2>)
  440.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  441.                  ^block 3 ^adj-blk-num <nup3>)
  442.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  443.                  ^block 3 ^adj-blk-num <nrt3>)
  444.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  445.                  ^block 6 ^adj-blk-num <nrt6>)
  446.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  447.                  ^block 9 ^adj-blk-num <nrt9>)
  448.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  449.                  ^block 7 ^adj-blk-num <ndn7>)
  450.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  451.                  ^block 8 ^adj-blk-num <ndn8>)
  452.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  453.                  ^block 9 ^adj-blk-num <ndn9>)
  454.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  455.                  ^block 1 ^adj-blk-num <nlf1>)
  456.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  457.                  ^block 4 ^adj-blk-num <nlf4>)
  458.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  459.                  ^block 7 ^adj-blk-num <nlf7>)
  460.     (face ^number <nrt> ^block <nrt3> ^color <cnrt3>)
  461.     (face ^number <nrt> ^block <nrt6> ^color <cnrt6>)
  462.     (face ^number <nrt> ^block <nrt9> ^color <cnrt9>)
  463.     (face ^number <nlf> ^block <nlf7> ^color <cnlf7>)
  464.     (face ^number <nlf> ^block <nlf4> ^color <cnlf4>)
  465.     (face ^number <nlf> ^block <nlf1> ^color <cnlf1>)
  466.     (face ^number <nup> ^block <nup1> ^color <cnup1>)
  467.     (face ^number <nup> ^block <nup2> ^color <cnup2>)
  468.     (face ^number <nup> ^block <nup3> ^color <cnup3>)
  469.     (face ^number <ndn> ^block <ndn9> ^color <cndn9>)
  470.     (face ^number <ndn> ^block <ndn8> ^color <cndn8>)
  471.     (face ^number <ndn> ^block <ndn7> ^color <cndn7>)
  472. -->
  473.     (write (crlf) rotating face <n>  the <c5> face  plus 90)
  474.     (modify 1 ^status done)
  475.     (modify 2 ^color <c7>)
  476.     (modify 3 ^color <c4>)
  477.     (modify 4 ^color <c1>)
  478.     (modify 5 ^color <c8>)
  479.     (modify 6 ^color <c5>)
  480.     (modify 7 ^color <c2>)
  481.     (modify 8. ^color <c9>)
  482.     (modify 9. ^color <c6>)
  483.     (modify 10. ^color <c3>)
  484.     (modify 23. ^color <cnup1>)
  485.     (modify 24. ^color <cnup2>)
  486.     (modify 25. ^color <cnup3>)
  487.     (modify 26. ^color <cndn9>)
  488.     (modify 27. ^color <cndn8>)
  489.     (modify 28. ^color <cndn7>)
  490.     (modify 29. ^color <cnlf7>)
  491.     (modify 30. ^color <cnlf4>)
  492.     (modify 31. ^color <cnlf1>)
  493.     (modify 32. ^color <cnrt3>)
  494.     (modify 33. ^color <cnrt6>)
  495.     (modify 34. ^color <cnrt9>))
  496.  
  497. (p minus-90
  498.     (goal ^want rotate ^object face ^number <n> ^direction neg
  499.           ^value 90 ^id <id> ^seq <seq> ^status active)
  500.    -(goal ^want rotate ^object face ^id <id> ^seq < <seq> ^status active)
  501.     (face ^number <n> ^block 1 ^color <c1>)
  502.     (face ^number <n> ^block 2 ^color <c2>)
  503.     (face ^number <n> ^block 3 ^color <c3>)
  504.     (face ^number <n> ^block 4 ^color <c4>)
  505.     (face ^number <n> ^block 5 ^color <c5>)
  506.     (face ^number <n> ^block 6 ^color <c6>)
  507.     (face ^number <n> ^block 7 ^color <c7>)
  508.     (face ^number <n> ^block 8 ^color <c8>)
  509.     (face ^number <n> ^block 9 ^color <c9>)
  510.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  511.                  ^block 1 ^adj-blk-num <nup1>)
  512.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  513.                  ^block 2 ^adj-blk-num <nup2>)
  514.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  515.                  ^block 3 ^adj-blk-num <nup3>)
  516.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  517.                  ^block 3 ^adj-blk-num <nrt3>)
  518.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  519.                  ^block 6 ^adj-blk-num <nrt6>)
  520.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  521.                  ^block 9 ^adj-blk-num <nrt9>)
  522.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  523.                  ^block 7 ^adj-blk-num <ndn7>)
  524.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  525.                  ^block 8 ^adj-blk-num <ndn8>)
  526.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  527.                  ^block 9 ^adj-blk-num <ndn9>)
  528.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  529.                  ^block 1 ^adj-blk-num <nlf1>)
  530.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  531.                  ^block 4 ^adj-blk-num <nlf4>)
  532.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  533.                  ^block 7 ^adj-blk-num <nlf7>)
  534.     (face ^number <nrt> ^block <nrt3> ^color <cnrt3>)
  535.     (face ^number <nrt> ^block <nrt6> ^color <cnrt6>)
  536.     (face ^number <nrt> ^block <nrt9> ^color <cnrt9>)
  537.     (face ^number <nlf> ^block <nlf7> ^color <cnlf7>)
  538.     (face ^number <nlf> ^block <nlf4> ^color <cnlf4>)
  539.     (face ^number <nlf> ^block <nlf1> ^color <cnlf1>)
  540.     (face ^number <nup> ^block <nup1> ^color <cnup1>)
  541.     (face ^number <nup> ^block <nup2> ^color <cnup2>)
  542.     (face ^number <nup> ^block <nup3> ^color <cnup3>)
  543.     (face ^number <ndn> ^block <ndn9> ^color <cndn9>)
  544.     (face ^number <ndn> ^block <ndn8> ^color <cndn8>)
  545.     (face ^number <ndn> ^block <ndn7> ^color <cndn7>)
  546. -->
  547.     (write (crlf) rotating face <n>  the <c5> face  minus 90)
  548.     (modify 1 ^status done)
  549.     (modify 2 ^color <c3>)
  550.     (modify 3 ^color <c6>)
  551.     (modify 4 ^color <c9>)
  552.     (modify 5 ^color <c2>)
  553.     (modify 6 ^color <c5>)
  554.     (modify 7 ^color <c8>)
  555.     (modify 8. ^color <c1>)
  556.     (modify 9. ^color <c4>)
  557.     (modify 10. ^color <c7>)
  558.     (modify 23. ^color <cndn9>)
  559.     (modify 24. ^color <cndn8>)
  560.     (modify 25. ^color <cndn7>)
  561.     (modify 26. ^color <cnup1>)
  562.     (modify 27. ^color <cnup2>)
  563.     (modify 28. ^color <cnup3>)
  564.     (modify 29. ^color <cnrt3>)
  565.     (modify 30. ^color <cnrt6>)
  566.     (modify 31. ^color <cnrt9>)
  567.     (modify 32. ^color <cnlf7>)
  568.     (modify 33. ^color <cnlf4>)
  569.     (modify 34. ^color <cnlf1>))
  570.  
  571. (p plus-minus-180
  572.     (goal ^want rotate ^object face ^number <n>
  573.           ^direction { << pos neg >> <dir> } ^value 180 ^id <id> ^seq <seq>
  574.           ^status active)
  575.    -(goal ^want rotate ^object face ^id <id> ^seq < <seq> ^status active)
  576.     (face ^number <n> ^block 1 ^color <c1>)
  577.     (face ^number <n> ^block 2 ^color <c2>)
  578.     (face ^number <n> ^block 3 ^color <c3>)
  579.     (face ^number <n> ^block 4 ^color <c4>)
  580.     (face ^number <n> ^block 5 ^color <c5>)
  581.     (face ^number <n> ^block 6 ^color <c6>)
  582.     (face ^number <n> ^block 7 ^color <c7>)
  583.     (face ^number <n> ^block 8 ^color <c8>)
  584.     (face ^number <n> ^block 9 ^color <c9>)
  585.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  586.                  ^block 1 ^adj-blk-num <nup1>)
  587.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  588.                  ^block 2 ^adj-blk-num <nup2>)
  589.     (cubie-order ^face-num <n> ^direction up ^adj-face-num <nup>
  590.                  ^block 3 ^adj-blk-num <nup3>)
  591.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  592.                  ^block 3 ^adj-blk-num <nrt3>)
  593.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  594.                  ^block 6 ^adj-blk-num <nrt6>)
  595.     (cubie-order ^face-num <n> ^direction rt ^adj-face-num <nrt>
  596.                  ^block 9 ^adj-blk-num <nrt9>)
  597.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  598.                  ^block 7 ^adj-blk-num <ndn7>)
  599.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  600.                  ^block 8 ^adj-blk-num <ndn8>)
  601.     (cubie-order ^face-num <n> ^direction dn ^adj-face-num <ndn>
  602.                  ^block 9 ^adj-blk-num <ndn9>)
  603.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  604.                  ^block 1 ^adj-blk-num <nlf1>)
  605.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  606.                  ^block 4 ^adj-blk-num <nlf4>)
  607.     (cubie-order ^face-num <n> ^direction lf ^adj-face-num <nlf>
  608.                  ^block 7 ^adj-blk-num <nlf7>)
  609.     (face ^number <nrt> ^block <nrt3> ^color <cnrt3>)
  610.     (face ^number <nrt> ^block <nrt6> ^color <cnrt6>)
  611.     (face ^number <nrt> ^block <nrt9> ^color <cnrt9>)
  612.     (face ^number <nlf> ^block <nlf7> ^color <cnlf7>)
  613.     (face ^number <nlf> ^block <nlf4> ^color <cnlf4>)
  614.     (face ^number <nlf> ^block <nlf1> ^color <cnlf1>)
  615.     (face ^number <nup> ^block <nup1> ^color <cnup1>)
  616.     (face ^number <nup> ^block <nup2> ^color <cnup2>)
  617.     (face ^number <nup> ^block <nup3> ^color <cnup3>)
  618.     (face ^number <ndn> ^block <ndn9> ^color <cndn9>)
  619.     (face ^number <ndn> ^block <ndn8> ^color <cndn8>)
  620.     (face ^number <ndn> ^block <ndn7> ^color <cndn7>)
  621. -->
  622.     (write (crlf) rotating face <n>  the <c5> face  <dir> 180)
  623.     (modify 1 ^status done)
  624.     (modify 2 ^color <c9>)
  625.     (modify 3 ^color <c8>)
  626.     (modify 4 ^color <c7>)
  627.     (modify 5 ^color <c6>)
  628.     (modify 6 ^color <c5>)
  629.     (modify 7 ^color <c4>)
  630.     (modify 8. ^color <c3>)
  631.     (modify 9. ^color <c2>)
  632.     (modify 10. ^color <c1>)
  633.     (modify 23. ^color <cnlf7>)
  634.     (modify 24. ^color <cnlf4>)
  635.     (modify 25. ^color <cnlf1>)
  636.     (modify 26. ^color <cnrt3>)
  637.     (modify 27. ^color <cnrt6>)
  638.     (modify 28. ^color <cnrt9>)
  639.     (modify 29. ^color <cndn9>)
  640.     (modify 30. ^color <cndn8>)
  641.     (modify 31. ^color <cndn7>)
  642.     (modify 32. ^color <cnup1>)
  643.     (modify 33. ^color <cnup2>)
  644.     (modify 34. ^color <cnup3>))
  645.  
  646.  
  647.  
  648. (p position_top_edge*get_defining_faces
  649.     (goal ^want position ^object top-edge ^id <id> ^status active)
  650.     (face ^number 1 ^block 5 ^color <ct>)
  651.     (face ^number { << 2 3 4 5 >> <nf> } ^block 5 ^color <cf>)
  652.    -(front-face ^status active)
  653.    -(front-face ^number <nf> ^id <id> ^status used)
  654.     (face ^number <n1> ^block { << 2 4 6 8 >> <b1> } ^color <ct>)
  655.     (face ^number { <n2> <> <n1> } ^block { << 2 4 6 8 >> <b2> } ^color <cf>)
  656.     (cubie-order ^face-num <n1> ^adj-face-num <n2>
  657.                  ^block <b1> ^adj-blk-num <b2>)
  658. -->
  659.     (make front-face ^number <nf> ^color <cf> ^id <id> ^status active)
  660.     (make source-face ^number <n1> ^color <ct> ^id <id> ^status active)
  661.     (make source-face ^number <n2> ^color <cf> ^id <id> ^status active))
  662.  
  663. (p position_top_edge*desired_cubie_in_position
  664.     (goal ^want position ^object top-edge ^id <id> ^status active)
  665.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  666.     (source-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  667.     (source-face ^number 1 ^id <id> ^status active)
  668.     (face-relation ^front <nf> ^top 1)
  669. -->
  670.     (modify 2 ^status used)
  671.     (modify 3 ^status used)
  672.     (modify 4 ^status used))
  673.  
  674.  
  675. (p rt-to-ft
  676.     (goal ^want position ^object top-edge ^id <id> ^status active)
  677.     (front-face ^number <nf> ^id <id> ^status active)
  678.     (source-face ^number <nr> ^id <id> ^status active)
  679.     (source-face ^number {<nt> <> <nr>} ^id <id> ^status active)
  680.     (face-relation ^front <nf> ^right <nr>)
  681. -->
  682.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  683.                ^value 90 ^id <id> ^seq 1 ^status active)
  684.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  685.                ^value 90 ^id <id> ^seq 2 ^status active)
  686.     (modify 2 ^status used)
  687.     (modify 3 ^status used)
  688.     (modify 4 ^status used))
  689.  
  690. (p pt-to-ft
  691.     (goal ^want position ^object top-edge ^id <id> ^status active)
  692.     (front-face ^number <nf> ^id <id> ^status active)
  693.     (source-face ^number <np> ^id <id> ^status active)
  694.     (source-face ^number {<nt> <> <np>} ^id <id> ^status active)
  695.     (face-relation ^front <nf> ^posterior <np> ^right <nr> ^top <nt>)
  696. -->
  697.     (make goal ^want rotate ^object face ^number <nt> ^direction pos
  698.                ^value 90 ^id <id> ^seq 1 ^status active)
  699.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  700.                ^value 90 ^id <id> ^seq 2 ^status active)
  701.     (make goal ^want rotate ^object face ^number <nt> ^direction neg
  702.                ^value 90 ^id <id> ^seq 3 ^status active)
  703.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  704.                ^value 90 ^id <id> ^seq 4 ^status active)
  705.     (modify 2 ^status used)
  706.     (modify 3 ^status used)
  707.     (modify 4 ^status used))
  708.  
  709. (p lt-to-ft
  710.     (goal ^want position ^object top-edge ^id <id> ^status active)
  711.     (front-face ^number <nf> ^id <id> ^status active)
  712.     (source-face ^number <nl> ^id <id> ^status active)
  713.     (source-face ^number {<nt> <> <nl>} ^id <id> ^status active)
  714.     (face-relation ^front <nf> ^left <nl> ^top <nt>)
  715. -->
  716.     (make goal ^want rotate ^object face ^number <nl> ^direction pos
  717.                ^value 90 ^id <id> ^seq 1 ^status active)
  718.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  719.                ^value 90 ^id <id> ^seq 2 ^status active)
  720.     (modify 2 ^status used)
  721.     (modify 3 ^status used)
  722.     (modify 4 ^status used))
  723.  
  724. (p fr-to-ft
  725.     (goal ^want position ^object top-edge ^id <id> ^status active)
  726.     (front-face ^number <nf> ^id <id> ^status active)
  727.     (source-face ^number <nf> ^id <id> ^status active)
  728.     (source-face ^number {<nr> <> <nf>} ^id <id> ^status active)
  729.     (face-relation ^front <nf> ^right <nr>)
  730. -->
  731.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  732.                ^value 90 ^id <id> ^seq 1 ^status active)
  733.     (modify 2 ^status used)
  734.     (modify 3 ^status used)
  735.     (modify 4 ^status used))
  736.  
  737. (p pr-to-ft
  738.     (goal ^want position ^object top-edge ^id <id> ^status active)
  739.     (front-face ^number <nf> ^id <id> ^status active)
  740.     (source-face ^number <np> ^id <id> ^status active)
  741.     (source-face ^number {<nr> <> <np>} ^id <id> ^status active)
  742.     (face-relation ^front <nf> ^posterior <np> ^right <nr>)
  743. -->
  744.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  745.                ^value 180 ^id <id> ^seq 1 ^status active)
  746.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  747.                ^value 90 ^id <id> ^seq 2 ^status active)
  748.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  749.                ^value 180 ^id <id> ^seq 3 ^status active)
  750.     (modify 2 ^status used)
  751.     (modify 3 ^status used)
  752.     (modify 4 ^status used))
  753.  
  754. (p lp-to-ft
  755.     (goal ^want position ^object top-edge ^id <id> ^status active)
  756.     (front-face ^number <nf> ^id <id> ^status active)
  757.     (source-face ^number <nl> ^id <id> ^status active)
  758.     (source-face ^number {<np> <> <nl>} ^id <id> ^status active)
  759.     (face-relation ^front <nf> ^posterior <np> ^left <nl>)
  760. -->
  761.     (make goal ^want rotate ^object face ^number <nl> ^direction pos
  762.                ^value 180 ^id <id> ^seq 1 ^status active)
  763.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  764.                ^value 90 ^id <id> ^seq 2 ^status active)
  765.     (make goal ^want rotate ^object face ^number <nl> ^direction pos
  766.                ^value 180 ^id <id> ^seq 3 ^status active)
  767.     (modify 2 ^status used)
  768.     (modify 3 ^status used)
  769.     (modify 4 ^status used))
  770.  
  771. (p fl-to-ft
  772.     (goal ^want position ^object top-edge ^id <id> ^status active)
  773.     (front-face ^number <nf> ^id <id> ^status active)
  774.     (source-face ^number <nf> ^id <id> ^status active)
  775.     (source-face ^number {<nl> <> <nf>} ^id <id> ^status active)
  776.     (face-relation ^front <nf> ^left <nl>)
  777. -->
  778.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  779.                ^value 90 ^id <id> ^seq 1 ^status active)
  780.     (modify 2 ^status used)
  781.     (modify 3 ^status used)
  782.     (modify 4 ^status used))
  783.  
  784. (p bf-to-ft
  785.     (goal ^want position ^object top-edge ^id <id> ^status active)
  786.     (front-face ^number <nf> ^id <id> ^status active)
  787.     (source-face ^number <nb> ^id <id> ^status active)
  788.     (source-face ^number {<nf> <> <nb>} ^id <id> ^status active)
  789.     (face-relation ^front <nf> ^bottom <nb>)
  790. -->
  791.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  792.                ^value 180 ^id <id> ^seq 1 ^status active)
  793.     (modify 2 ^status used)
  794.     (modify 3 ^status used)
  795.     (modify 4 ^status used))
  796.  
  797. (p br-to-ft
  798.     (goal ^want position ^object top-edge ^id <id> ^status active)
  799.     (front-face ^number <nf> ^id <id> ^status active)
  800.     (source-face ^number <nb> ^id <id> ^status active)
  801.     (source-face ^number {<nr> <> <nb>} ^id <id> ^status active)
  802.     (face-relation ^front <nf> ^right <nr> ^bottom <nb>)
  803. -->
  804.     (make goal ^want rotate ^object face ^number <nb> ^direction neg
  805.                ^value 90 ^id <id> ^seq 1 ^status active)
  806.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  807.                ^value 180 ^id <id> ^seq 2 ^status active)
  808.     (modify 2 ^status used)
  809.     (modify 3 ^status used)
  810.     (modify 4 ^status used))
  811.  
  812. (p bp-to-ft
  813.     (goal ^want position ^object top-edge ^id <id> ^status active)
  814.     (front-face ^number <nf> ^id <id> ^status active)
  815.     (source-face ^number <nb> ^id <id> ^status active)
  816.     (source-face ^number {<np> <> <nb>} ^id <id> ^status active)
  817.     (face-relation ^front <nf> ^posterior <np> ^bottom <nb>)
  818. -->
  819.     (make goal ^want rotate ^object face ^number <nb> ^direction pos
  820.                ^value 180 ^id <id> ^seq 1 ^status active)
  821.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  822.                ^value 180 ^id <id> ^seq 2 ^status active)
  823.     (modify 2 ^status used)
  824.     (modify 3 ^status used)
  825.     (modify 4 ^status used))
  826.  
  827. (p bl-to-ft
  828.     (goal ^want position ^object top-edge ^id <id> ^status active)
  829.     (front-face ^number <nf> ^id <id> ^status active)
  830.     (source-face ^number <nb> ^id <id> ^status active)
  831.     (source-face ^number {<nl> <> <nb>} ^id <id> ^status active)
  832.     (face-relation ^front <nf> ^left <nl> ^bottom <nb>)
  833. -->
  834.     (make goal ^want rotate ^object face ^number <nb> ^direction pos
  835.                ^value 90 ^id <id> ^seq 1 ^status active)
  836.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  837.                ^value 180 ^id <id> ^seq 2 ^status active)
  838.     (modify 2 ^status used)
  839.     (modify 3 ^status used)
  840.     (modify 4 ^status used))
  841.  
  842. (p orient_top_edge
  843.     (goal ^want orient ^object top-edge ^id <id> ^status active)
  844.     (face ^number 1 ^block 5 ^color <ct>)
  845.     (face ^number { << 2 3 4 5 >> <nf> } ^block 5 ^color <cf>)
  846.     (face ^number 1 ^block { << 2 4 6 8 >> <b> } ^color <cf>)
  847.     (face ^number <nf> ^block 2 ^color <ct>)
  848.     (cubie-order ^face-num <nf> ^direction up
  849.                  ^adj-face-num 1 ^block 2 ^adj-blk-num <b>)
  850.     (face-relation ^front <nf> ^top 1 ^left <nl>)
  851. -->
  852.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  853.                ^value 90 ^id <id> ^seq 1 ^status active)
  854.     (make goal ^want rotate ^object face ^number 1 ^direction pos
  855.                ^value 90 ^id <id> ^seq 2 ^status active)
  856.     (make goal ^want rotate ^object face ^number <nl> ^direction neg
  857.                ^value 90 ^id <id> ^seq 3 ^status active)
  858.     (make goal ^want rotate ^object face ^number 1 ^direction neg
  859.                ^value 90 ^id <id> ^seq 4 ^status active))
  860.  
  861. (p position_top_corner*get_defining_faces
  862.     (goal ^want position ^object top-corner ^id <id> ^status active)
  863.    -(front-face ^id <id> ^status active)
  864.    -(source-face ^id <id> ^status active)
  865.     (face ^number 1 ^block 5 ^color <ct>)
  866.     (face ^number { << 2 3 4 5 >> <nf> } ^block 5 ^color <cf>)
  867.    -(front-face ^number <nf> ^id <id> ^status used)
  868.     (face ^number { <nr> <> <nf> <> 1 <> 6 } ^block 5 ^color <cr>)
  869.     (face-relation ^front <nf> ^right <nr> ^top 1)
  870.     (face ^number <n1> ^block { << 1 3 7 9 >> <b1> } ^color <ct>)
  871.     (face ^number { <n2> <> <n1> } ^block { << 1 3 7 9 >> <b2> } ^color <cf>)
  872.     (face ^number { <n3> <> <n2> } ^block { << 1 3 7 9 >> <b3> } ^color <cr>)
  873.     (cubie-order ^face-num <n1> ^adj-face-num <n2> ^block <b1>
  874.                  ^adj-blk-num <b2>)
  875.     (cubie-order ^face-num <n1> ^adj-face-num <n3> ^block <b1>
  876.                  ^adj-blk-num <b3>)
  877.     (cubie-order ^face-num <n2> ^adj-face-num <n3> ^block <b2>
  878.                  ^adj-blk-num <b3>)
  879. -->
  880.     (make front-face ^number <nf> ^color <cf> ^id <id> ^status active)
  881.     (make source-face ^number <n1> ^color <ct> ^id <id> ^status active)
  882.     (make source-face ^number <n2> ^color <cf> ^id <id> ^status active)
  883.     (make source-face ^number <n3> ^color <cr> ^id <id> ^status active))
  884.  
  885. (p position_top_corner*desired_cubie_in_position
  886.     (goal ^want position ^object top-corner ^id <id> ^status active)
  887.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  888.     (source-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  889.     (source-face ^number {<nt> <> <nf> <> 6} ^id <id> ^status active)
  890.     (source-face ^number {<nr> <> <nt> <> <nf> <> 6} ^id <id> ^status active)
  891.     (face-relation ^front <nf> ^right <nr> ^top <nt>)
  892. -->
  893.     (modify 2 ^status used)
  894.     (modify 3 ^status used)
  895.     (modify 4 ^status used)
  896.     (modify 5 ^status used))
  897.  
  898. (p position_top_corner*desired_cubie_on_left_front_top
  899.     (goal ^want position ^object top-corner ^id <id> ^status active)
  900.     (front-face ^number {<n3> <> 1 <> 6} ^id <id> ^status active)
  901.     (source-face ^number 1 ^id <id> ^status active)
  902.     (source-face ^number {<n2> <> 1 <> 6} ^id <id> ^status active)
  903.     (source-face ^number {<n3> <> <n2> <> 1 <> 6} ^id <id> ^status active)
  904.     (face-relation ^front {<n2> <> 1 <> 6} ^posterior <n4> ^right <n3> ^top 1)
  905. -->
  906.     (make goal ^want rotate ^object face ^number <n3> ^direction neg
  907.                ^value 90 ^id <id> ^seq 1 ^status active)
  908.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  909.                ^value 90 ^id <id> ^seq 2 ^status active)
  910.     (make goal ^want rotate ^object face ^number <n3> ^direction pos
  911.                ^value 90 ^id <id> ^seq 3 ^status active)
  912.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  913.                ^value 180 ^id <id> ^seq 4 ^status active)
  914.     (make goal ^want rotate ^object face ^number <n4> ^direction neg
  915.                ^value 90 ^id <id> ^seq 5 ^status active)
  916.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  917.                ^value 90 ^id <id> ^seq 6 ^status active)
  918.     (make goal ^want rotate ^object face ^number <n4> ^direction pos
  919.                ^value 90 ^id <id> ^seq 7 ^status active)
  920.     (modify 2 ^status used)
  921.     (modify 3 ^status used)
  922.     (modify 4 ^status used)
  923.     (modify 5 ^status used))
  924.  
  925. (p position_top_corner*desired_cubie_on_top_right_posterior
  926.     (goal ^want position ^object top-corner ^id <id> ^status active)
  927.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  928.     (source-face ^number 1 ^id <id> ^status active)
  929.     (source-face ^number {<n2> <> <nf> <> 1 <> 6} ^id <id> ^status active)
  930.     (source-face ^number {<n3> <> <n2> <> 1 <> 6} ^id <id> ^status active)
  931.     (face-relation ^front {<n2> <> 1 <> 6} ^right {<n3> <> 1 <> 6} ^top 1)
  932.     (face-relation ^front {<nf> <> 1 <> 6} ^right {<n2> <> 1 <> 6} ^top 1)
  933. -->
  934.     (make goal ^want rotate ^object face ^number <n3> ^direction neg
  935.                ^value 90 ^id <id> ^seq 1 ^status active)
  936.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  937.                ^value 90 ^id <id> ^seq 2 ^status active)
  938.     (make goal ^want rotate ^object face ^number <n3> ^direction pos
  939.                ^value 90 ^id <id> ^seq 3 ^status active)
  940.     (make goal ^want rotate ^object face ^number <n2> ^direction neg
  941.                ^value 90 ^id <id> ^seq 4 ^status active)
  942.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  943.                ^value 90 ^id <id> ^seq 5 ^status active)
  944.     (make goal ^want rotate ^object face ^number <n2> ^direction pos
  945.                ^value 90 ^id <id> ^seq 6 ^status active)
  946.     (modify 2 ^status used)
  947.     (modify 3 ^status used)
  948.     (modify 4 ^status used)
  949.     (modify 5 ^status used))
  950.  
  951. (p position_top_corner*desired_cubie_on_top_left_posterior
  952.     (goal ^want position ^object top-corner ^id <id> ^status active)
  953.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  954.     (source-face ^number 1 ^id <id> ^status active)
  955.     (source-face ^number {<n2> <> <nf> <> 1 <> 6} ^id <id> ^status active)
  956.     (source-face ^number {<n3> <> <n2> <> 1 <> 6} ^id <id> ^status active)
  957.     (face-relation ^front {<n2> <> <nf>} ^right {<n3> <> <nf>} ^top 1)
  958.     (face-relation ^front <nf> ^right <n4> ^left <n3> ^top 1)
  959. -->
  960.     (make goal ^want rotate ^object face ^number <n3> ^direction neg
  961.                ^value 90 ^id <id> ^seq 1 ^status active)
  962.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  963.                ^value 180 ^id <id> ^seq 2 ^status active)
  964.     (make goal ^want rotate ^object face ^number <n3> ^direction pos
  965.                ^value 90 ^id <id> ^seq 3 ^status active)
  966.     (make goal ^want rotate ^object face ^number <n4> ^direction neg
  967.                ^value 90 ^id <id> ^seq 4 ^status active)
  968.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  969.                ^value 90 ^id <id> ^seq 5 ^status active)
  970.     (make goal ^want rotate ^object face ^number <n4> ^direction pos
  971.                ^value 90 ^id <id> ^seq 6 ^status active)
  972.     (modify 2 ^status used)
  973.     (modify 3 ^status used)
  974.     (modify 4 ^status used)
  975.     (modify 5 ^status used))
  976.  
  977. (p position_top_corner*desired_cubie_under_desired_position
  978.     (goal ^want position ^object top-corner ^id <id> ^status active)
  979.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  980.     (source-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  981.     (source-face ^number {<nr> <> <nf> <> 1 <> 6} ^id <id> ^status active)
  982.     (source-face ^number 6 ^id <id> ^status active)
  983.     (face-relation ^front <nf> ^right <nr> ^bottom 6)
  984. -->
  985.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  986.                ^value 90 ^id <id> ^seq 1 ^status active)
  987.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  988.                ^value 90 ^id <id> ^seq 2 ^status active)
  989.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  990.                ^value 90 ^id <id> ^seq 3 ^status active)
  991.     (modify 2 ^status used)
  992.     (modify 3 ^status used)
  993.     (modify 4 ^status used)
  994.     (modify 5 ^status used))
  995.  
  996. (p position_top_corner*desired_cubie_on_bottom_left_front
  997.     (goal ^want position ^object top-corner ^id <id> ^status active)
  998.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  999.     (source-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1000.     (source-face ^number {<nl> <> <nf> <> 1 <> 6} ^id <id> ^status active)
  1001.     (source-face ^number 6 ^id <id> ^status active)
  1002.     (face-relation ^front <nl> ^posterior <np> ^right <nf> ^bottom 6)
  1003. -->
  1004.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1005.                ^value 90 ^id <id> ^seq 1 ^status active)
  1006.     (make goal ^want rotate ^object face ^number <np> ^direction neg
  1007.                ^value 90 ^id <id> ^seq 2 ^status active)
  1008.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1009.                ^value 90 ^id <id> ^seq 3 ^status active)
  1010.     (make goal ^want rotate ^object face ^number <np> ^direction pos
  1011.                ^value 90 ^id <id> ^seq 4 ^status active)
  1012.     (modify 2 ^status used)
  1013.     (modify 3 ^status used)
  1014.     (modify 4 ^status used)
  1015.     (modify 5 ^status used))
  1016.  
  1017. (p position_top_corner*desired_cubie_on_bottom_left_posterior
  1018.     (goal ^want position ^object top-corner ^id <id> ^status active)
  1019.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1020.     (source-face ^number {<nl> <> <nf> <> 1 <> 6} ^id <id> ^status active)
  1021.     (source-face ^number {<np> <> <nl> <> 1 <> 6} ^id <id> ^status active)
  1022.     (source-face ^number 6 ^id <id> ^status active)
  1023.     (face-relation ^front <nf> ^posterior <np> ^right <nr>
  1024.                    ^left <nl> ^bottom 6)
  1025. -->
  1026.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1027.                ^value 180 ^id <id> ^seq 1 ^status active)
  1028.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1029.                ^value 90 ^id <id> ^seq 2 ^status active)
  1030.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1031.                ^value 90 ^id <id> ^seq 3 ^status active)
  1032.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1033.                ^value 90 ^id <id> ^seq 4 ^status active)
  1034.     (modify 2 ^status used)
  1035.     (modify 3 ^status used)
  1036.     (modify 4 ^status used)
  1037.     (modify 5 ^status used))
  1038.  
  1039. (p position_top_corner*desired_cubie_on_bottom_right_posterior
  1040.     (goal ^want position ^object top-corner ^id <id> ^status active)
  1041.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1042.     (source-face ^number {<nr> <> 1 <> 6} ^id <id> ^status active)
  1043.     (source-face ^number {<np> <> <nr> <> 1 <> 6} ^id <id> ^status active)
  1044.     (source-face ^number 6 ^id <id> ^status active)
  1045.     (face-relation ^front <nf> ^posterior <np> ^right <nr> ^bottom 6)
  1046. -->
  1047.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1048.                ^value 90 ^id <id> ^seq 1 ^status active)
  1049.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1050.                ^value 90 ^id <id> ^seq 2 ^status active)
  1051.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1052.                ^value 90 ^id <id> ^seq 3 ^status active)
  1053.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1054.                ^value 90 ^id <id> ^seq 4 ^status active)
  1055.     (modify 2 ^status used)
  1056.     (modify 3 ^status used)
  1057.     (modify 4 ^status used)
  1058.     (modify 5 ^status used))
  1059.  
  1060. (p orient_top_corner
  1061.     (goal ^want orient ^object top-corner ^id <id> ^status active)
  1062.     (face ^number 1 ^block 5 ^color <ct>)
  1063.     (face ^number { << 2 3 4 5 >> <nf> } ^block 5 ^color <cf>)
  1064.     (face ^number { <nr> <> <nf> <> 1 <> 6 } ^block 5 ^color <cr>)
  1065.     (face-relation ^front <nf> ^right <nr> ^top 1 ^bottom 6)
  1066.     (face ^number <nf> ^block 3 ^color <> <cf>)
  1067. -->
  1068.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1069.                ^value 90 ^id <id> ^seq 1 ^status active)
  1070.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1071.                ^value 180 ^id <id> ^seq 2 ^status active)
  1072.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1073.                ^value 90 ^id <id> ^seq 3 ^status active)
  1074.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1075.                ^value 90 ^id <id> ^seq 4 ^status active)
  1076.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1077.                ^value 180 ^id <id> ^seq 5 ^status active)
  1078.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1079.                ^value 90 ^id <id> ^seq 6 ^status active))
  1080.  
  1081. (p position_vertical_edge*get_defining_faces
  1082.     (goal ^want position ^object vertical-edge ^id <id> ^status active)
  1083.    -(source-face ^id <id> ^status active)
  1084.     (face ^number { << 2 3 4 5 >> <nf> } ^block 5 ^color <cf>)
  1085.    -(front-face ^number <nf> ^id <id> ^status used)
  1086.     (face ^number { <nr> <> <nf> <> 1 <> 6 } ^block 5 ^color <cr>)
  1087.     (face-relation ^front <nf> ^right <nr> ^top 1 ^bottom 6)
  1088.     (face ^number {<n1> <> 1} ^block { << 2 4 6 8 >> <b1> } ^color <cf>)
  1089.     (face ^number {<n2> <> <n1> <> 1} ^block { << 2 4 6 8 >> <b2> }
  1090.           ^color <cr>)
  1091.     (cubie-order ^face-num <n1> ^adj-face-num <n2>
  1092.                  ^block <b1> ^adj-blk-num <b2>)
  1093. -->
  1094.     (make front-face ^number <nf> ^color <cf> ^id <id> ^status active)
  1095.     (make source-face ^number <n1> ^color <cf> ^id <id> ^status active)
  1096.     (make source-face ^number <n2> ^color <cr> ^id <id> ^status active))
  1097.  
  1098. (p position_vertical_edge*desired_cube_in_position
  1099.     (goal ^want position ^object vertical-edge ^id <id> ^status active)
  1100.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1101.     (source-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1102.     (source-face ^number {<nr> <> <nf> <> 1 <> 6} ^id <id> ^status active)
  1103.     (face-relation ^front <nf> ^right <nr> ^top 1)
  1104. -->
  1105.     (modify 2 ^status used)
  1106.     (modify 3 ^status used)
  1107.     (modify 4 ^status used))
  1108.  
  1109. (p position_vertical_edge*fr-to-bp
  1110.     (goal ^want position ^object vertical-edge ^id <id> ^status active)
  1111.     (front-face ^number {<n1> <> 1 <> 6} ^id <id> ^status active)
  1112.     (source-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1113.     (source-face ^number {<nr> <> <nf> <> 1 <> 6} ^id <id>
  1114.                  ^status active)
  1115.     (face-relation ^front <nf> ^posterior <np> ^right <nr> ^bottom 6)
  1116.    -(face-relation ^front <n1> ^right <nr> ^bottom 6)
  1117. -->
  1118.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1119.                ^value 90 ^id <id> ^seq 1 ^status active)
  1120.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1121.                ^value 90 ^id <id> ^seq 2 ^status active)
  1122.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1123.                ^value 90 ^id <id> ^seq 3 ^status active)
  1124.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1125.                ^value 90 ^id <id> ^seq 4 ^status active)
  1126.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1127.                ^value 90 ^id <id> ^seq 5 ^status active)
  1128.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1129.                ^value 90 ^id <id> ^seq 6 ^status active)
  1130.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1131.                ^value 90 ^id <id> ^seq 7 ^status active)
  1132.     (modify 3 ^number 6)
  1133.     (modify 4 ^number <np>))
  1134.  
  1135. (p position_vertical_edge*try_bottom_rotation
  1136.     (goal ^want position ^object vertical-edge ^id <id> ^status active)
  1137.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1138.     (source-face ^number { << 2 3 4 5 >> <ns> } ^color <cs>
  1139.                  ^id <id>^status active)
  1140.     (face ^number <ns> ^block 5 ^color <> <cs>)
  1141.     (source-face ^number 6 ^id <id> ^status active)
  1142.     (face-relation ^front <ns> ^right <nsr> ^bottom 6)
  1143. -->
  1144.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1145.                ^value 90 ^id <id> ^seq 1 ^status active)
  1146.     (modify 3 ^number <nsr>))
  1147.  
  1148. (p position_vertical_edge*match_on_f-face
  1149.     (goal ^want position ^object vertical-edge ^id <id> ^status active)
  1150.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1151.     (face-relation ^front <nf> ^right <nr> ^bottom 6)
  1152.     (face ^number <nf> ^block 5 ^color <cf>)
  1153.     (face ^number <nf> ^block 8 ^color <cf>)
  1154.     (face ^number <nr> ^block 5 ^color <cr>)
  1155.     (source-face ^number {<nf> <> 1 <> 6} ^color <cf> ^id <id> ^status active)
  1156.     (source-face ^number 6 ^color <cr> ^id <id> ^status active)
  1157. -->
  1158.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1159.                ^value 90 ^id <id> ^seq 1 ^status active)
  1160.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1161.                ^value 90 ^id <id> ^seq 2 ^status active)
  1162.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1163.                ^value 90 ^id <id> ^seq 3 ^status active)
  1164.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1165.                ^value 90 ^id <id> ^seq 4 ^status active)
  1166.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1167.                ^value 90 ^id <id> ^seq 5 ^status active)
  1168.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1169.                ^value 90 ^id <id> ^seq 6 ^status active)
  1170.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1171.                ^value 90 ^id <id> ^seq 7 ^status active)
  1172.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1173.                ^value 90 ^id <id> ^seq 8 ^status active)
  1174.     (modify 2 ^status used)
  1175.     (modify 7 ^status used)
  1176.     (modify 8 ^status used))
  1177.  
  1178. (p position_vertical_edge*match_on_r-face
  1179.     (goal ^want position ^object vertical-edge ^id <id> ^status active)
  1180.     (front-face ^number {<nf> <> 1 <> 6} ^id <id> ^status active)
  1181.     (face-relation ^front <nf> ^right <nr> ^bottom 6)
  1182.     (face ^number <nf> ^block 5 ^color <cf>)
  1183.     (face ^number <nr> ^block 5 ^color <cr>)
  1184.     (face ^number <nr> ^block 8 ^color <cr>)
  1185.     (source-face ^number {<nr> <> 1 <> 6} ^color <cr> ^id <id> ^status active)
  1186.     (source-face ^number 6 ^color <cf> ^id <id> ^status active)
  1187. -->
  1188.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1189.                ^value 90 ^id <id> ^seq 1 ^status active)
  1190.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1191.                ^value 90 ^id <id> ^seq 2 ^status active)
  1192.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1193.                ^value 90 ^id <id> ^seq 3 ^status active)
  1194.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1195.                ^value 90 ^id <id> ^seq 4 ^status active)
  1196.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1197.                ^value 90 ^id <id> ^seq 5 ^status active)
  1198.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1199.                ^value 90 ^id <id> ^seq 6 ^status active)
  1200.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1201.                ^value 90 ^id <id> ^seq 7 ^status active)
  1202.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1203.                ^value 90 ^id <id> ^seq 8 ^status active)
  1204.     (modify 2 ^status used)
  1205.     (modify 7 ^status used)
  1206.     (modify 8 ^status used))
  1207.  
  1208. (p orient_vertical_edge
  1209.     (goal ^want orient ^object vertical-edge ^id <id> ^status active)
  1210.     (face ^number { << 2 3 4 5 >> <nf> } ^block 5 ^color <cf>)
  1211.     (face ^number { <nr> <> <nf> <> 1 <> 6 } ^block 5 ^color <cr>)
  1212.     (face ^number <nf> ^block 6 ^color <cr>)
  1213.     (face ^number <nr> ^block 4 ^color <cf>)
  1214.     (cubie-order ^face-num <nf> ^direction rt
  1215.                  ^adj-face-num <nr> ^block 6 ^adj-blk-num 4)
  1216.     (face-relation ^front <nf> ^top 1 ^right <nr>)
  1217. -->
  1218.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1219.                ^value 90 ^id <id> ^seq 1 ^status active)
  1220.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1221.                ^value 90 ^id <id> ^seq 2 ^status active)
  1222.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1223.                ^value 90 ^id <id> ^seq 3 ^status active)
  1224.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1225.                ^value 90 ^id <id> ^seq 4 ^status active)
  1226.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1227.                ^value 90 ^id <id> ^seq 5 ^status active)
  1228.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1229.                ^value 90 ^id <id> ^seq 6 ^status active)
  1230.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1231.                ^value 90 ^id <id> ^seq 7 ^status active)
  1232.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1233.                ^value 90 ^id <id> ^seq 8 ^status active)
  1234.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1235.                ^value 90 ^id <id> ^seq 9 ^status active)
  1236.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1237.                ^value 90 ^id <id> ^seq 10 ^status active)
  1238.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1239.                ^value 90 ^id <id> ^seq 11 ^status active)
  1240.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1241.                ^value 90 ^id <id> ^seq 12 ^status active)
  1242.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1243.                ^value 90 ^id <id> ^seq 13 ^status active)
  1244.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1245.                ^value 90 ^id <id> ^seq 14 ^status active)
  1246.     (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1247.                ^value 90 ^id <id> ^seq 15 ^status active))
  1248.  
  1249. (p position_bottom_corner
  1250.     (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1251.    -(bottom-corner ^id <id> ^status << active done >>)
  1252.    -(goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1253.     (face ^number 2 ^block 9 ^color <c29>)
  1254.     (face ^number 3 ^block 7 ^color <c37>)
  1255.     (cubie-order ^face-num 2 ^direction dn ^adj-face-num 6
  1256.                  ^block 9 ^adj-blk-num <blk269>)
  1257.     (face ^number 6 ^block <blk269> ^color <c269>)
  1258.     (face ^number 3 ^block 9 ^color <c39>)
  1259.     (face ^number 4 ^block 7 ^color <c47>)
  1260.     (cubie-order ^face-num 3 ^direction dn ^adj-face-num 6
  1261.                  ^block 9 ^adj-blk-num <blk369>)
  1262.     (face ^number 6 ^block <blk369> ^color <c369>)
  1263.     (face ^number 4 ^block 9 ^color <c49>)
  1264.     (face ^number 5 ^block 7 ^color <c57>)
  1265.     (cubie-order ^face-num 4 ^direction dn ^adj-face-num 6
  1266.                  ^block 9 ^adj-blk-num <blk469>)
  1267.     (face ^number 6 ^block <blk469> ^color <c469>)
  1268.     (face ^number 5 ^block 9 ^color <c59>)
  1269.     (face ^number 2 ^block 7 ^color <c27>)
  1270.     (cubie-order ^face-num 5 ^direction dn ^adj-face-num 6
  1271.                  ^block 9 ^adj-blk-num <blk569>)
  1272.     (face ^number 6 ^block <blk569> ^color <c569>)
  1273. -->
  1274.     (make bottom-corner ^number 1 ^face 2 ^color <c29>
  1275.                       ^id <id> ^status active)
  1276.     (make bottom-corner ^number 1 ^face 3 ^color <c37>
  1277.                       ^id <id> ^status active)
  1278.     (make bottom-corner ^number 1 ^face 6 ^color <c269>
  1279.                       ^id <id> ^status active)
  1280.     (make bottom-corner ^number 2 ^face 3 ^color <c39>
  1281.                       ^id <id> ^status active)
  1282.     (make bottom-corner ^number 2 ^face 4 ^color <c47>
  1283.                       ^id <id> ^status active)
  1284.     (make bottom-corner ^number 2 ^face 6 ^color <c369>
  1285.                       ^id <id> ^status active)
  1286.     (make bottom-corner ^number 3 ^face 4 ^color <c49>
  1287.                       ^id <id> ^status active)
  1288.     (make bottom-corner ^number 3 ^face 5 ^color <c57>
  1289.                       ^id <id> ^status active)
  1290.     (make bottom-corner ^number 3 ^face 6 ^color <c469>
  1291.                       ^id <id> ^status active)
  1292.     (make bottom-corner ^number 4 ^face 5 ^color <c59>
  1293.                       ^id <id> ^status active)
  1294.     (make bottom-corner ^number 4 ^face 2 ^color <c27>
  1295.                       ^id <id> ^status active)
  1296.     (make bottom-corner ^number 4 ^face 6 ^color <c569>
  1297.                       ^id <id> ^status active))
  1298.  
  1299. (p position_bottom_corner*find_no_match
  1300.     (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1301.    -(goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1302.    -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1303.     (bottom-corner ^number 1 ^face 2 ^id <id> ^status active)
  1304. -->
  1305.     (make goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1306.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1307.                ^value 90 ^id <id> ^seq 1 ^status active))
  1308.  
  1309. (p position_bottom_corner*clean_up_bottom_corner
  1310.     (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1311.     (goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1312.    -(goal ^want rotate ^object face ^id <id> ^status active)
  1313.     (bottom-corner ^id <id> ^status active)
  1314. -->
  1315.     (modify 3 ^status used))
  1316.  
  1317. (p position_bottom_corner*clean_up_bottom_corner*exit
  1318.     (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1319.     (goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1320.    -(goal ^want rotate ^object face ^id <id> ^status active)
  1321.    -(bottom-corner ^id <id> ^status active)
  1322. -->
  1323.     (remove 2))
  1324.  
  1325. (p position_bottom_corner*find_one_match
  1326.      (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1327.     -(goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1328.     -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1329.     -(bottom-corner ^id <id> ^status done)
  1330.      (face ^number <nf> ^block 5 ^color <cf>)
  1331.      (face ^number <nr> ^block 5 ^color <cr>)
  1332.      (face ^number <nb> ^block 5 ^color <cb>)
  1333.      (face-relation ^front <nf> ^right <nr> ^bottom <nb>)
  1334.      (bottom-corner ^number <n1> ^color <cf> ^status active)
  1335.      (bottom-corner ^number <n1> ^color <cr> ^status active)
  1336.      (bottom-corner ^number <n1> ^color <cb> ^status active)
  1337.      (bottom-corner ^number <n1> ^face <nf> ^status active)
  1338.      (bottom-corner ^number <n1> ^face <nr> ^status active)
  1339.      (bottom-corner ^number <n1> ^face <nb> ^status active)
  1340. -->
  1341.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1342.                ^value 90 ^id <id> ^seq 1 ^status active)
  1343.      (make goal ^want clean-up ^object bottom-corner ^id <id> ^status active))
  1344.  
  1345. (p position_bottom_corner*exchange_two_adjacent
  1346.      (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1347.     -(goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1348.     -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1349.     -(bottom-corner ^id <id> ^status done)
  1350.      (face ^number <nf> ^block 5 ^color <cf>)
  1351.      (face ^number <nl> ^block 5 ^color <cl>)
  1352.      (face ^number <nb> ^block 5 ^color <cb>)
  1353.      (face-relation ^front <nf> ^posterior <np> ^left <nl> ^right <nr>
  1354.                     ^bottom <nb>)
  1355.      (bottom-corner ^number <n1> ^color <cf> ^status active)
  1356.      (bottom-corner ^number <n1> ^color <cl> ^status active)
  1357.      (bottom-corner ^number <n1> ^color <cb> ^status active)
  1358.      (bottom-corner ^number <n1> ^face <nf> ^status active)
  1359.      (bottom-corner ^number <n1> ^face <nl> ^status active)
  1360.      (bottom-corner ^number <n1> ^face <nb> ^status active)
  1361.      (face ^number <nf> ^block 5 ^color <cf>)
  1362.      (face ^number <nr> ^block 5 ^color <cr>)
  1363.      (bottom-corner ^number {<n2> <> <n1>} ^color <cf> ^status active)
  1364.      (bottom-corner ^number <n2> ^color <cr> ^status active)
  1365.      (bottom-corner ^number <n2> ^color <cb> ^status active)
  1366.      (bottom-corner ^number <n2> ^face <nf> ^status active)
  1367.      (bottom-corner ^number <n2> ^face <nr> ^status active)
  1368.      (bottom-corner ^number <n2> ^face <nb> ^status active)
  1369. -->
  1370.      (make bottom-corner ^id <id> ^status done)
  1371.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1372.                ^value 90 ^id <id> ^seq 1 ^status active)
  1373.      (make goal ^want rotate ^object face ^number 6 ^direction neg
  1374.                ^value 90 ^id <id> ^seq 2 ^status active)
  1375.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1376.                ^value 90 ^id <id> ^seq 3 ^status active)
  1377.      (make goal ^want rotate ^object face ^number <np> ^direction pos
  1378.                ^value 90 ^id <id> ^seq 4 ^status active)
  1379.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1380.                ^value 90 ^id <id> ^seq 5 ^status active)
  1381.      (make goal ^want rotate ^object face ^number <np> ^direction neg
  1382.                ^value 90 ^id <id> ^seq 6 ^status active)
  1383.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1384.                ^value 90 ^id <id> ^seq 7 ^status active)
  1385.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1386.                ^value 90 ^id <id> ^seq 8 ^status active)
  1387.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1388.                ^value 90 ^id <id> ^seq 9 ^status active)
  1389.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1390.                ^value 180 ^id <id> ^seq 10 ^status active)
  1391.      (make goal ^want clean-up ^object bottom-corner ^id <id> ^status active))
  1392.  
  1393. (p position_bottom_corner*exchange_two_diagonal
  1394.      (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1395.     -(goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1396.     -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1397.     -(bottom-corner ^id <id> ^status done)
  1398.      (face ^number <nf> ^block 5 ^color <cf>)
  1399.      (face ^number <nl> ^block 5 ^color <cl>)
  1400.      (face ^number <nb> ^block 5 ^color <cb>)
  1401.      (face-relation ^front <nf> ^posterior <np> ^left <nl> ^right <nr>
  1402.                     ^bottom <nb>)
  1403.      (bottom-corner ^number <n1> ^color <cf> ^status active)
  1404.      (bottom-corner ^number <n1> ^color <cl> ^status active)
  1405.      (bottom-corner ^number <n1> ^color <cb> ^status active)
  1406.      (bottom-corner ^number <n1> ^face <nf> ^status active)
  1407.      (bottom-corner ^number <n1> ^face <nl> ^status active)
  1408.      (bottom-corner ^number <n1> ^face <nb> ^status active)
  1409.      (face ^number <nr> ^block 5 ^color <cr>)
  1410.      (face ^number <np> ^block 5 ^color <cp>)
  1411.      (face-relation ^front <nr> ^right <np> ^bottom <nb>)
  1412.      (bottom-corner ^number {<n2> > <n1>} ^color <cr> ^status active)
  1413.      (bottom-corner ^number <n2> ^color <cp> ^status active)
  1414.      (bottom-corner ^number <n2> ^color <cb> ^status active)
  1415.      (bottom-corner ^number <n2> ^face <nr> ^status active)
  1416.      (bottom-corner ^number <n2> ^face <np> ^status active)
  1417.      (bottom-corner ^number <n2> ^face <nb> ^status active)
  1418. -->
  1419.      (make bottom-corner ^id <id> ^status done)
  1420.      (make goal ^want rotate ^object face ^number <np> ^direction neg
  1421.                ^value 90 ^id <id> ^seq 1 ^status active)
  1422.      (make goal ^want rotate ^object face ^number 6 ^direction neg
  1423.                ^value 90 ^id <id> ^seq 2 ^status active)
  1424.      (make goal ^want rotate ^object face ^number <np> ^direction pos
  1425.                ^value 90 ^id <id> ^seq 3 ^status active)
  1426.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1427.                ^value 90 ^id <id> ^seq 4 ^status active)
  1428.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1429.                ^value 180 ^id <id> ^seq 5 ^status active)
  1430.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1431.                ^value 90 ^id <id> ^seq 6 ^status active)
  1432.      (make goal ^want rotate ^object face ^number <np> ^direction neg
  1433.                ^value 90 ^id <id> ^seq 7 ^status active)
  1434.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1435.                ^value 90 ^id <id> ^seq 8 ^status active)
  1436.      (make goal ^want rotate ^object face ^number <np> ^direction pos
  1437.                ^value 90 ^id <id> ^seq 9 ^status active)
  1438.      (make goal ^want rotate ^object face ^number 6 ^direction pos
  1439.                ^value 90 ^id <id> ^seq 10 ^status active)
  1440.      (make goal ^want clean-up ^object bottom-corner ^id <id> ^status active))
  1441.  
  1442. (p position_bottom_corner*match_four
  1443.      (goal ^want position ^object bottom-corner ^id <id> ^status active)
  1444.     -(goal ^want clean-up ^object bottom-corner ^id <id> ^status active)
  1445.     -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1446.     -(bottom-corner ^id <id> ^status done)
  1447.      (face ^number <n1f> ^block 5 ^color <c1f>)
  1448.      (face ^number <n1r> ^block 5 ^color <c1r>)
  1449.      (face ^number <nb> ^block 5 ^color <c1b>)
  1450.      (face-relation ^front <n1f> ^right <n1r> ^bottom <nb>)
  1451.      (bottom-corner ^number 1 ^color <c1f> ^status active)
  1452.      (bottom-corner ^number 1 ^color <c1r> ^status active)
  1453.      (bottom-corner ^number 1 ^color <c1b> ^status active)
  1454.      (bottom-corner ^number 1 ^face <n1f> ^status active)
  1455.      (bottom-corner ^number 1 ^face <n1r> ^status active)
  1456.      (bottom-corner ^number 1 ^face <nb> ^status active)
  1457.      (face ^number <n2f> ^block 5 ^color <c2f>)
  1458.      (face ^number <n2r> ^block 5 ^color <c2r>)
  1459.      (face-relation ^front <n2f> ^right <n2r> ^bottom <nb>)
  1460.      (bottom-corner ^number 2 ^color <c2f> ^status active)
  1461.      (bottom-corner ^number 2 ^color <c2r> ^status active)
  1462.      (bottom-corner ^number 2 ^color <c2b> ^status active)
  1463.      (bottom-corner ^number 2 ^face <n2f> ^status active)
  1464.      (bottom-corner ^number 2 ^face <n2r> ^status active)
  1465.      (bottom-corner ^number 2 ^face <nb> ^status active)
  1466.      (face ^number <n3f> ^block 5 ^color <c3f>)
  1467.      (face ^number <n3r> ^block 5 ^color <c3r>)
  1468.      (face-relation ^front <n3f> ^right <n3r> ^bottom <nb>)
  1469.      (bottom-corner ^number 3 ^color <c3f> ^status active)
  1470.      (bottom-corner ^number 3 ^color <c3r> ^status active)
  1471.      (bottom-corner ^number 3 ^color <c3b> ^status active)
  1472.      (bottom-corner ^number 3 ^face <n3f> ^status active)
  1473.      (bottom-corner ^number 3 ^face <n3r> ^status active)
  1474.      (bottom-corner ^number 3 ^face <nb> ^status active)
  1475.      (face ^number <n4f> ^block 5 ^color <c4f>)
  1476.      (face ^number <n4r> ^block 5 ^color <c4r>)
  1477.      (face-relation ^front <n4f> ^right <n4r> ^bottom <nb>)
  1478.      (bottom-corner ^number 4 ^color <c4f> ^status active)
  1479.      (bottom-corner ^number 4 ^color <c4r> ^status active)
  1480.      (bottom-corner ^number 4 ^color <c4b> ^status active)
  1481.      (bottom-corner ^number 4 ^face <n4f> ^status active)
  1482.      (bottom-corner ^number 4 ^face <n4r> ^status active)
  1483.      (bottom-corner ^number 4 ^face <nb> ^status active)
  1484. -->
  1485.      (make bottom-corner ^id <id> ^status done)
  1486.      (modify 6 ^status used)
  1487.      (modify 7 ^status used)
  1488.      (modify 8 ^status used)
  1489.      (modify 15 ^status used)
  1490.      (modify 16 ^status used)
  1491.      (modify 17 ^status used)
  1492.      (modify 24 ^status used)
  1493.      (modify 25 ^status used)
  1494.      (modify 26 ^status used)
  1495.      (modify 33 ^status used)
  1496.      (modify 34 ^status used)
  1497.      (modify 35 ^status used))
  1498.  
  1499. (p orient_bottom_corner*bc1
  1500.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1501.     (face ^number 6 ^block 5 ^color <cb>)
  1502.     (face ^number <nf> ^block 9 ^color <cb>)
  1503.     (face ^number <nr> ^block 9 ^color <cb>)
  1504.     (face ^number <np> ^block 9 ^color <cb>)
  1505.     (cubie-order ^face-num <nf> ^direction dn ^adj-face-num 6
  1506.                  ^block 7 ^adj-blk-num <abn>)
  1507.     (face ^number 6 ^block <abn> ^color <cb>)
  1508.     (face-relation ^front <nf> ^right <nr> ^posterior <np> 
  1509.                    ^top 1 ^bottom 6)
  1510. -->
  1511.     (make vodor ^right <nr> ^bottom 6 ^id <id> ^status active))
  1512.  
  1513. (p orient_bottom_corner*bc2
  1514.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1515.     (face ^number 6 ^block 5 ^color <cb>)
  1516.     (face ^number <nr> ^block 7 ^color <cb>)
  1517.     (face ^number <np> ^block 7 ^color <cb>)
  1518.     (face ^number <nl> ^block 7 ^color <cb>)
  1519.     (cubie-order ^face-num <nl> ^direction dn ^adj-face-num 6
  1520.                  ^block 9 ^adj-blk-num <abn>)
  1521.     (face ^number 6 ^block <abn> ^color <cb>)
  1522.     (face-relation ^front <nf> ^right <nr> ^left <nl> ^posterior <np> 
  1523.                    ^top 1 ^bottom 6)
  1524. -->
  1525.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1526.                ^value 180 ^id <id> ^seq 1 ^status active)
  1527.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1528.                ^value 90 ^id <id> ^seq 2 ^status active)
  1529.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1530.                ^value 180 ^id <id> ^seq 3 ^status active)
  1531.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1532.                ^value 90 ^id <id> ^seq 4 ^status active)
  1533.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1534.                ^value 90 ^id <id> ^seq 5 ^status active)
  1535.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1536.                ^value 90 ^id <id> ^seq 6 ^status active)
  1537.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1538.                ^value 90 ^id <id> ^seq 7 ^status active)
  1539.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1540.                ^value 90 ^id <id> ^seq 8 ^status active))
  1541.  
  1542. (p orient_bottom_corner*bc3
  1543.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1544.     (face ^number 6 ^block 5 ^color <cb>)
  1545.     (face ^number <nr> ^block 7 ^color <cb>)
  1546.     (face ^number <np> ^block 7 ^color <cb>)
  1547.     (face ^number <np> ^block 9 ^color <cb>)
  1548.     (face ^number <nl> ^block 9 ^color <cb>)
  1549.     (face-relation ^front <nf> ^right <nr> ^left <nl> ^posterior <np> 
  1550.                    ^top 1 ^bottom 6)
  1551. -->
  1552.     (make vodor ^right <nr> ^bottom 6 ^id <id> ^status active))
  1553.  
  1554. (p orient_bottom_corner*bc4
  1555.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1556.     (face ^number 6 ^block 5 ^color <cb>)
  1557.     (face ^number <nf> ^block 7 ^color <cb>)
  1558.     (face ^number <np> ^block 9 ^color <cb>)
  1559.     (face-relation ^front <nf> ^right <nr> ^posterior <np> 
  1560.                    ^top 1 ^bottom 6)
  1561.     (cubie-order ^face-num <nf> ^direction dn ^adj-face-num 6
  1562.                  ^block 9 ^adj-blk-num <abn1>)
  1563.     (face ^number 6 ^block <abn1> ^color <cb>)
  1564.     (cubie-order ^face-num <np> ^direction dn ^adj-face-num 6
  1565.                  ^block 7 ^adj-blk-num <abn2>)
  1566.     (face ^number 6 ^block <abn2> ^color <cb>)
  1567. -->
  1568.     (make vodor ^right <nr> ^bottom 6 ^id <id> ^status active))
  1569.  
  1570. (p orient_bottom_corner*bc5
  1571.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1572.     (face ^number 6 ^block 5 ^color <cb>)
  1573.     (face ^number <nf> ^block 7 ^color <cb>)
  1574.     (face ^number <nf> ^block 9 ^color <cb>)
  1575.     (face-relation ^front <nf> ^right <nr> ^posterior <np> 
  1576.                    ^top 1 ^bottom 6)
  1577.     (cubie-order ^face-num <np> ^direction dn ^adj-face-num 6
  1578.                  ^block 7 ^adj-blk-num <abn1>)
  1579.     (face ^number 6 ^block <abn1> ^color <cb>)
  1580.     (cubie-order ^face-num <np> ^direction dn ^adj-face-num 6
  1581.                  ^block 9 ^adj-blk-num <abn2>)
  1582.     (face ^number 6 ^block <abn2> ^color <cb>)
  1583. -->
  1584.     (make vodor ^right <nr> ^bottom 6 ^id <id> ^status active))
  1585.  
  1586. (p orient_bottom_corner*bc6
  1587.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1588.     (face ^number 6 ^block 5 ^color <cb>)
  1589.     (face ^number <nf> ^block 7 ^color <cb>)
  1590.     (face ^number <nr> ^block 9 ^color <cb>)
  1591.     (face-relation ^front <nf> ^right <nr> ^posterior <np> 
  1592.                    ^top 1 ^bottom 6)
  1593.     (cubie-order ^face-num <nf> ^direction dn ^adj-face-num 6
  1594.                  ^block 9 ^adj-blk-num <abn1>)
  1595.     (face ^number 6 ^block <abn1> ^color <cb>)
  1596.     (cubie-order ^face-num <np> ^direction dn ^adj-face-num 6
  1597.                  ^block 9 ^adj-blk-num <abn2>)
  1598.     (face ^number 6 ^block <abn2> ^color <cb>)
  1599. -->
  1600.     (make vodor ^right <nr> ^bottom 6 ^id <id> ^status active))
  1601.  
  1602. (p orient_bottom_corner*bc7
  1603.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1604.     (face ^number 6 ^block 5 ^color <cb>)
  1605.     (face ^number <nr> ^block 7 ^color <cb>)
  1606.     (face ^number <nr> ^block 9 ^color <cb>)
  1607.     (face ^number <nl> ^block 7 ^color <cb>)
  1608.     (face ^number <nl> ^block 9 ^color <cb>)
  1609.     (face-relation ^front <nf> ^right <nr> ^left <nl> ^posterior <np> 
  1610.                    ^top 1 ^bottom 6)
  1611. -->
  1612.     (make vodor ^right <nr> ^bottom 6 ^id <id> ^status active))
  1613.  
  1614. (p orient_bottom_corner*rotate_utility
  1615.     (goal ^want orient ^object bottom-corner ^id <id> ^status active)
  1616.     (vodor ^right <nr> ^bottom 6 ^id <id> ^status active)
  1617. -->
  1618.     (modify 2 ^status used)
  1619.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1620.                ^value 90 ^id <id> ^seq 1 ^status active)
  1621.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1622.                ^value 90 ^id <id> ^seq 2 ^status active)
  1623.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1624.                ^value 90 ^id <id> ^seq 3 ^status active)
  1625.     (make goal ^want rotate ^object face ^number 6 ^direction neg
  1626.                ^value 90 ^id <id> ^seq 4 ^status active)
  1627.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1628.                ^value 90 ^id <id> ^seq 5 ^status active)
  1629.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1630.                ^value 180 ^id <id> ^seq 6 ^status active)
  1631.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1632.                ^value 90 ^id <id> ^seq 7 ^status active)
  1633.     (make goal ^want rotate ^object face ^number 6 ^direction pos
  1634.                ^value 180 ^id <id> ^seq 8 ^status active))
  1635.  
  1636. (p position_orient_bottom_edge*make_bottom_edges
  1637.     (goal ^want << position orient >> ^object bottom-edge ^id <id>
  1638.           ^status active)
  1639.    -(bottom-edge ^id <id> ^status << active done >>)
  1640.    -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1641.     (face ^number 2 ^block 8 ^color <c28>)
  1642.     (cubie-order ^face-num 2 ^direction dn ^adj-face-num 6
  1643.                  ^block 8 ^adj-blk-num <blk268>)
  1644.     (face ^number 6 ^block <blk268> ^color <c268>)
  1645.     (face ^number 3 ^block 8 ^color <c38>)
  1646.     (cubie-order ^face-num 3 ^direction dn ^adj-face-num 6
  1647.                  ^block 8 ^adj-blk-num <blk368>)
  1648.     (face ^number 6 ^block <blk368> ^color <c368>)
  1649.     (face ^number 4 ^block 8 ^color <c48>)
  1650.     (cubie-order ^face-num 4 ^direction dn ^adj-face-num 6
  1651.                  ^block 8 ^adj-blk-num <blk468>)
  1652.     (face ^number 6 ^block <blk468> ^color <c468>)
  1653.     (face ^number 5 ^block 8 ^color <c58>)
  1654.     (cubie-order ^face-num 5 ^direction dn ^adj-face-num 6
  1655.                  ^block 8 ^adj-blk-num <blk568>)
  1656.     (face ^number 6 ^block <blk568> ^color <c568>)
  1657. -->
  1658.     (make bottom-edge ^number 1 ^face 2 ^color <c28>
  1659.                       ^id <id> ^status active)
  1660.     (make bottom-edge ^number 1 ^face 6 ^color <c268>
  1661.                       ^id <id> ^status active)
  1662.     (make bottom-edge ^number 2 ^face 3 ^color <c38>
  1663.                       ^id <id> ^status active)
  1664.     (make bottom-edge ^number 2 ^face 6 ^color <c368>
  1665.                       ^id <id> ^status active)
  1666.     (make bottom-edge ^number 3 ^face 4 ^color <c48>
  1667.                       ^id <id> ^status active)
  1668.     (make bottom-edge ^number 3 ^face 6 ^color <c468>
  1669.                       ^id <id> ^status active)
  1670.     (make bottom-edge ^number 4 ^face 5 ^color <c58>
  1671.                       ^id <id> ^status active)
  1672.     (make bottom-edge ^number 4 ^face 6 ^color <c568>
  1673.                       ^id <id> ^status active))
  1674.  
  1675. (p position_bottom_edge*find_no_match
  1676.      (goal ^want position ^object bottom-edge ^id <id> ^status active)
  1677.     -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1678.     -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1679.      (bottom-edge ^number 1 ^face 2 ^id <id> ^status active)
  1680. -->
  1681.      (make goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1682.      (make vodor ^right 4 ^left 2 ^front 3 ^bottom 6 ^id <id>
  1683.                        ^status active))
  1684.  
  1685. (p position_bottom_edge*clean_up_bottom_edge
  1686.     (goal ^want position ^object bottom-edge ^id <id> ^status active)
  1687.     (goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1688.    -(goal ^want rotate ^object face ^id <id> ^status active)
  1689.     (bottom-edge ^id <id> ^status active)
  1690. -->
  1691.     (modify 3 ^status used))
  1692.  
  1693. (p position_bottom_edge*clean_up_bottom_edge*exit
  1694.     (goal ^want position ^object bottom-edge ^id <id> ^status active)
  1695.     (goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1696.    -(goal ^want rotate ^object face ^id <id> ^status active)
  1697.    -(bottom-edge ^id <id> ^status active)
  1698. -->
  1699.     (remove 2))
  1700.  
  1701. (p position_bottom_edge*find_one_match
  1702.      (goal ^want position ^object bottom-edge ^id <id> ^status active)
  1703.     -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1704.     -(goal ^want rotate ^object face ^number 6 ^id <id> ^status active)
  1705.     -(bottom-edge ^id <id> ^status done)
  1706.      (face ^number <nf> ^block 5 ^color <cf>)
  1707.      (face ^number <nb> ^block 5 ^color <cb>)
  1708.      (face-relation ^front <nf> ^right <nr> ^left <nl> ^bottom <nb>)
  1709.      (bottom-edge ^number <n1> ^color <cf> ^status active)
  1710.      (bottom-edge ^number <n1> ^color <cb> ^status active)
  1711.      (bottom-edge ^number <n1> ^face <nf> ^status active)
  1712.      (bottom-edge ^number <n1> ^face <nb> ^status active)
  1713. -->
  1714.      (make vodor ^right <nr> ^left <nl> ^front <nf> ^bottom <nb> ^id <id>
  1715.                        ^status active)
  1716.      (make goal ^want clean-up ^object bottom-edge ^id <id> ^status active))
  1717.  
  1718. (p position_bottom_edge*match_four
  1719.      (goal ^want position ^object bottom-edge ^id <id> ^status active)
  1720.     -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1721.     -(goal ^want rotate ^object face ^id <id> ^status active)
  1722.     -(bottom-edge ^id <id> ^status done)
  1723.      (face ^number <n1f> ^block 5 ^color <c1f>)
  1724.      (face ^number <nb> ^block 5 ^color <cb>)
  1725.      (face-relation ^front <n1f> ^bottom <nb>)
  1726.      (bottom-edge ^number 1 ^color <c1f> ^status active)
  1727.      (bottom-edge ^number 1 ^color <cb> ^status active)
  1728.      (bottom-edge ^number 1 ^face <n1f> ^status active)
  1729.      (bottom-edge ^number 1 ^face <nb> ^status active)
  1730.      (face ^number <n2f> ^block 5 ^color <c2f>)
  1731.      (face-relation ^front <n2f> ^bottom <nb>)
  1732.      (bottom-edge ^number 2 ^color <c2f> ^status active)
  1733.      (bottom-edge ^number 2 ^color <cb> ^status active)
  1734.      (bottom-edge ^number 2 ^face <n2f> ^status active)
  1735.      (bottom-edge ^number 2 ^face <nb> ^status active)
  1736.      (face ^number <n3f> ^block 5 ^color <c3f>)
  1737.      (face-relation ^front <n3f> ^bottom <nb>)
  1738.      (bottom-edge ^number 3 ^color <c3f> ^status active)
  1739.      (bottom-edge ^number 3 ^color <cb> ^status active)
  1740.      (bottom-edge ^number 3 ^face <n3f> ^status active)
  1741.      (bottom-edge ^number 3 ^face <nb> ^status active)
  1742.      (face ^number <n4f> ^block 5 ^color <c4f>)
  1743.      (face-relation ^front <n4f> ^bottom <nb>)
  1744.      (bottom-edge ^number 4 ^color <c4f> ^status active)
  1745.      (bottom-edge ^number 4 ^color <cb> ^status active)
  1746.      (bottom-edge ^number 4 ^face <n4f> ^status active)
  1747.      (bottom-edge ^number 4 ^face <nb> ^status active)
  1748. -->
  1749.      (make bottom-edge ^id <id> ^status done)
  1750.      (modify 5 ^status used)
  1751.      (modify 6 ^status used)
  1752.      (modify 11 ^status used)
  1753.      (modify 12 ^status used)
  1754.      (modify 17 ^status used)
  1755.      (modify 18 ^status used)
  1756.      (modify 23 ^status used)
  1757.      (modify 24 ^status used))
  1758.  
  1759. (p orient_bottom_edge*be1
  1760.      (goal ^want orient ^object bottom-edge ^id <id> ^status active)
  1761.     -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1762.     -(goal ^want rotate ^object face ^id <id> ^status active)
  1763.     -(bottom-edge ^id <id> ^status done)
  1764.      (face ^number {2 <nf>} ^block 5 ^color <cf>)
  1765.      (face ^number <nb> ^block 5 ^color <cb>)
  1766.      (face-relation ^front <nf> ^posterior <np> ^right <nr> ^left <nl>
  1767.                     ^bottom <nb>)
  1768.      (bottom-edge ^number <n1> ^face <nf> ^color <cb> ^status active)
  1769.      (bottom-edge ^number <n1> ^face <nb> ^color <cf> ^status active)
  1770.      (face ^number <nr> ^block 5 ^color <cr>)
  1771.      (bottom-edge ^number <n2> ^face <nr> ^color <cb> ^status active)
  1772.      (bottom-edge ^number <n2> ^face <nb> ^color <cr> ^status active)
  1773.      (face ^number <np> ^block 5 ^color <cp>)
  1774.      (bottom-edge ^number <n3> ^face <np> ^color <cb> ^status active)
  1775.      (bottom-edge ^number <n3> ^face <nb> ^color <cp> ^status active)
  1776.      (face ^number <nl> ^block 5 ^color <cl>)
  1777.      (bottom-edge ^number <n4> ^face <nl> ^color <cb> ^status active)
  1778.      (bottom-edge ^number <n4> ^face <nb> ^color <cl> ^status active)
  1779. -->
  1780.      (make bottom-edge ^id <id> ^status done)
  1781.      (modify 5 ^status used)
  1782.      (modify 6 ^status used)
  1783.      (modify 8 ^status used)
  1784.      (modify 9 ^status used)
  1785.      (modify 11 ^status used)
  1786.      (modify 12 ^status used)
  1787.      (modify 14 ^status used)
  1788.      (modify 15 ^status used)
  1789.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1790.                ^value 90 ^id <id> ^seq 1 ^status active)
  1791.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1792.                ^value 90 ^id <id> ^seq 2 ^status active)
  1793.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1794.                ^value 180 ^id <id> ^seq 3 ^status active)
  1795.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1796.                ^value 90 ^id <id> ^seq 4 ^status active)
  1797.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1798.                ^value 90 ^id <id> ^seq 5 ^status active)
  1799.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1800.                ^value 180 ^id <id> ^seq 6 ^status active)
  1801.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1802.                ^value 90 ^id <id> ^seq 7 ^status active)
  1803.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1804.                ^value 90 ^id <id> ^seq 8 ^status active)
  1805.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1806.                ^value 90 ^id <id> ^seq 9 ^status active)
  1807.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1808.                ^value 90 ^id <id> ^seq 10 ^status active)
  1809.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1810.                ^value 90 ^id <id> ^seq 11 ^status active)
  1811.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1812.                ^value 180 ^id <id> ^seq 12 ^status active)
  1813.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1814.                ^value 90 ^id <id> ^seq 13 ^status active)
  1815.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1816.                ^value 90 ^id <id> ^seq 14 ^status active)
  1817.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1818.                ^value 180 ^id <id> ^seq 15 ^status active)
  1819.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1820.                ^value 90 ^id <id> ^seq 16 ^status active)
  1821.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1822.                ^value 90 ^id <id> ^seq 17 ^status active)
  1823.      (make goal ^want rotate ^object face ^number <nb> ^direction neg
  1824.                ^value 90 ^id <id> ^seq 18 ^status active))
  1825.  
  1826. (p orient_bottom_edge*be2
  1827.      (goal ^want orient ^object bottom-edge ^id <id> ^status active)
  1828.     -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1829.     -(goal ^want rotate ^object face ^id <id> ^status active)
  1830.     -(bottom-edge ^id <id> ^status done)
  1831.      (face ^number <nf> ^block 5 ^color <cf>)
  1832.      (face ^number <nb> ^block 5 ^color <cb>)
  1833.      (face-relation ^front <nf> ^posterior <np> ^right <nr> ^left <nl>
  1834.                     ^bottom <nb>)
  1835.      (bottom-edge ^number <n1> ^face <nf> ^color <cb> ^status active)
  1836.      (bottom-edge ^number <n1> ^face <nb> ^color <cf> ^status active)
  1837.      (face ^number <nr> ^block 5 ^color <cr>)
  1838.      (bottom-edge ^number <n2> ^face <nr> ^color <cr> ^status active)
  1839.      (bottom-edge ^number <n2> ^face <nb> ^color <cb> ^status active)
  1840.      (face ^number <np> ^block 5 ^color <cp>)
  1841.      (bottom-edge ^number <n3> ^face <np> ^color <cb> ^status active)
  1842.      (bottom-edge ^number <n3> ^face <nb> ^color <cp> ^status active)
  1843.      (face ^number <nl> ^block 5 ^color <cl>)
  1844.      (bottom-edge ^number <n4> ^face <nl> ^color <cl> ^status active)
  1845.      (bottom-edge ^number <n4> ^face <nb> ^color <cb> ^status active)
  1846. -->
  1847.      (make bottom-edge ^id <id> ^status done)
  1848.      (modify 5 ^status used)
  1849.      (modify 6 ^status used)
  1850.      (modify 8 ^status used)
  1851.      (modify 9 ^status used)
  1852.      (modify 11 ^status used)
  1853.      (modify 12 ^status used)
  1854.      (modify 14 ^status used)
  1855.      (modify 15 ^status used)
  1856.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1857.                ^value 90 ^id <id> ^seq 1 ^status active)
  1858.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1859.                ^value 90 ^id <id> ^seq 2 ^status active)
  1860.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1861.                ^value 90 ^id <id> ^seq 3 ^status active)
  1862.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1863.                ^value 90 ^id <id> ^seq 4 ^status active)
  1864.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1865.                ^value 90 ^id <id> ^seq 5 ^status active)
  1866.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1867.                ^value 90 ^id <id> ^seq 6 ^status active)
  1868.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1869.                ^value 90 ^id <id> ^seq 7 ^status active)
  1870.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1871.                ^value 90 ^id <id> ^seq 8 ^status active)
  1872.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1873.                ^value 90 ^id <id> ^seq 9 ^status active)
  1874.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1875.                ^value 90 ^id <id> ^seq 10 ^status active)
  1876.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1877.                ^value 90 ^id <id> ^seq 11 ^status active)
  1878.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1879.                ^value 90 ^id <id> ^seq 12 ^status active)
  1880.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1881.                ^value 90 ^id <id> ^seq 13 ^status active)
  1882.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1883.                ^value 90 ^id <id> ^seq 14 ^status active)
  1884.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1885.                ^value 180 ^id <id> ^seq 15 ^status active)
  1886.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1887.                ^value 90 ^id <id> ^seq 16 ^status active)
  1888.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1889.                ^value 90 ^id <id> ^seq 17 ^status active)
  1890.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1891.                ^value 90 ^id <id> ^seq 18 ^status active)
  1892.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1893.                ^value 90 ^id <id> ^seq 19 ^status active)
  1894.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1895.                ^value 90 ^id <id> ^seq 20 ^status active)
  1896.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1897.                ^value 90 ^id <id> ^seq  21 ^status active)
  1898.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1899.                ^value 90 ^id <id> ^seq 22 ^status active)
  1900.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1901.                ^value 90 ^id <id> ^seq 23 ^status active)
  1902.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1903.                ^value 90 ^id <id> ^seq 24 ^status active)
  1904.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1905.                ^value 90 ^id <id> ^seq 25 ^status active)
  1906.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1907.                ^value 90 ^id <id> ^seq 26 ^status active)
  1908.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1909.                ^value 90 ^id <id> ^seq 27 ^status active)
  1910.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1911.                ^value 90 ^id <id> ^seq 28 ^status active)
  1912.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1913.                ^value 90 ^id <id> ^seq 29 ^status active)
  1914.      (make goal ^want rotate ^object face ^number <nb> ^direction pos
  1915.                ^value 180 ^id <id> ^seq 30 ^status active))
  1916.  
  1917. (p orient_bottom_edge*be3
  1918.      (goal ^want orient ^object bottom-edge ^id <id> ^status active)
  1919.     -(goal ^want clean-up ^object bottom-edge ^id <id> ^status active)
  1920.     -(goal ^want rotate ^object face ^id <id> ^status active)
  1921.     -(bottom-edge ^id <id> ^status done)
  1922.      (face ^number <nf> ^block 5 ^color <cf>)
  1923.      (face ^number <nb> ^block 5 ^color <cb>)
  1924.      (face-relation ^front <nf> ^posterior <np> ^right <nr> ^left <nl>
  1925.                     ^bottom <nb>)
  1926.      (bottom-edge ^number <n1> ^face <nf> ^color <cf> ^status active)
  1927.      (bottom-edge ^number <n1> ^face <nb> ^color <cb> ^status active)
  1928.      (face ^number <nr> ^block 5 ^color <cr>)
  1929.      (bottom-edge ^number <n2> ^face <nr> ^color <cr> ^status active)
  1930.      (bottom-edge ^number <n2> ^face <nb> ^color <cb> ^status active)
  1931.      (face ^number <np> ^block 5 ^color <cp>)
  1932.      (bottom-edge ^number <n3> ^face <np> ^color <cb> ^status active)
  1933.      (bottom-edge ^number <n3> ^face <nb> ^color <cp> ^status active)
  1934.      (face ^number <nl> ^block 5 ^color <cl>)
  1935.      (bottom-edge ^number <n4> ^face <nl> ^color <cb> ^status active)
  1936.      (bottom-edge ^number <n4> ^face <nb> ^color <cl> ^status active)
  1937.      (goal ^id <oldid>)
  1938.     -(goal ^id > <oldid>)
  1939. -->
  1940.      (modify 1 ^status done)
  1941.      (modify 1 ^want position ^object bottom-edge ^id (compute <oldid> + 1)
  1942.                 ^status active)
  1943.      (make bottom-edge ^id <id> ^status done)
  1944.      (modify 5 ^status used)
  1945.      (modify 6 ^status used)
  1946.      (modify 8 ^status used)
  1947.      (modify 9 ^status used)
  1948.      (modify 11 ^status used)
  1949.      (modify 12 ^status used)
  1950.      (modify 14 ^status used)
  1951.      (modify 15 ^status used)
  1952.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1953.                ^value 90 ^id <id> ^seq 1 ^status active)
  1954.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1955.                ^value 90 ^id <id> ^seq 2 ^status active)
  1956.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1957.                ^value 90 ^id <id> ^seq 3 ^status active)
  1958.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1959.                ^value 90 ^id <id> ^seq 4 ^status active)
  1960.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1961.                ^value 90 ^id <id> ^seq 5 ^status active)
  1962.      (make goal ^want rotate ^object face ^number <nb> ^direction neg
  1963.                ^value 90 ^id <id> ^seq 6 ^status active)
  1964.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1965.                ^value 90 ^id <id> ^seq 7 ^status active)
  1966.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1967.                ^value 90 ^id <id> ^seq 8 ^status active)
  1968.      (make goal ^want rotate ^object face ^number <nf> ^direction neg
  1969.                ^value 90 ^id <id> ^seq 9 ^status active)
  1970.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1971.                ^value 90 ^id <id> ^seq 10 ^status active)
  1972.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1973.                ^value 90 ^id <id> ^seq 11 ^status active)
  1974.      (make goal ^want rotate ^object face ^number <nb> ^direction neg
  1975.                ^value 90 ^id <id> ^seq 12 ^status active)
  1976.      (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1977.                ^value 90 ^id <id> ^seq 13 ^status active)
  1978.      (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1979.                ^value 90 ^id <id> ^seq 14 ^status active)
  1980.      (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1981.                ^value 180 ^id <id> ^seq 15 ^status active)
  1982.      (make goal ^want rotate ^object face ^number <nl> ^direction pos
  1983.                ^value 90 ^id <id> ^seq 16 ^status active)
  1984.      (make goal ^want rotate ^object face ^number <nr> ^direction neg
  1985.                ^value 90 ^id <id> ^seq 17 ^status active))
  1986.  
  1987. (p orient_position_bottom_edge*rotate_utility
  1988.     (goal ^want { << orient position >> <w> } ^object bottom-edge ^id <id>
  1989.           ^status active)
  1990.     (vodor ^right <nr> ^left <nl> ^front <nf> ^bottom <nb> ^id <id>
  1991.           ^status active)
  1992. -->
  1993.     (modify 2 ^status used)
  1994.     (make goal ^want rotate ^object face ^number <nl> ^direction neg
  1995.                ^value 90 ^id <id> ^seq 1 ^status active)
  1996.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  1997.                ^value 90 ^id <id> ^seq 2 ^status active)
  1998.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  1999.                ^value 90 ^id <id> ^seq 3 ^status active)
  2000.     (make goal ^want rotate ^object face ^number <nl> ^direction pos
  2001.                ^value 90 ^id <id> ^seq 4 ^status active)
  2002.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  2003.                ^value 90 ^id <id> ^seq 5 ^status active)
  2004.     (make goal ^want rotate ^object face ^number <nb> ^direction pos
  2005.                ^value 180 ^id <id> ^seq 6 ^status active)
  2006.     (make goal ^want rotate ^object face ^number <nl> ^direction neg
  2007.                ^value 90 ^id <id> ^seq 7 ^status active)
  2008.     (make goal ^want rotate ^object face ^number <nr> ^direction pos
  2009.                ^value 90 ^id <id> ^seq 8 ^status active)
  2010.     (make goal ^want rotate ^object face ^number <nf> ^direction pos
  2011.                ^value 90 ^id <id> ^seq 9 ^status active)
  2012.     (make goal ^want rotate ^object face ^number <nl> ^direction pos
  2013.                ^value 90 ^id <id> ^seq 10 ^status active)
  2014.     (make goal ^want rotate ^object face ^number <nr> ^direction neg
  2015.                ^value 90 ^id <id> ^seq 11 ^status active))
  2016.  
  2017.  
  2018.  
  2019.  
  2020.  
  2021.  
  2022.  
  2023.  
  2024.  
  2025.  
  2026.  
  2027.