This is the domain definition for the third domain in the paper.

__________________________________________________________________________

The domain:

(create-problem-space 'paint :current t)

(ptype-of OBJECT :top-type)
(ptype-of COLOR :top-type)
(ptype-of ROLLER :top-type)

(OPERATOR prepare-wall
  (params <roller> <wall> <color>)
  (preconds
   ((<roller> ROLLER)
    (<wall> OBJECT)
    (<color> COLOR))
   (and (needs-painting <wall>)
	(clean <roller>)))
  (effects
   ()
   ((add (prepared <wall> <roller> <color>))
    (add (chosen <roller> <color>)))))

(OPERATOR fill-roller
   (params <roller> <color>)
   (preconds
    ((<roller> ROLLER)
     (<color> COLOR))
    (and (clean <roller>)
	 (chosen <roller> <color>)))
   (effects
    ()
    ((add (filled-with-paint <roller> <color>))
     (del (clean <roller>)))))

(OPERATOR paint-wall
  (params <roller> <wall> <color>)
  (preconds
   ((<roller> ROLLER)
    (<wall> OBJECT)
    (<color> COLOR))
   (and (prepared <wall> <roller> <color>)
	(filled-with-paint <roller> <color>)))
   (effects
    ()
    ((add (painted <wall> <color>))
     (del (needs-painting <wall>))
     (del (prepared <wall> <roller> <color>)))))
__________________________________________________________________________

The problem:

(setf (current-problem)
      (create-problem (name test)
		      (objects
		       (wall1 wall2 wall3 wall4 wall5 object)
		       (white yellow light-blue green 
			      red dark-blue purple brown black color)
		       (roller1 roller2 roller))
		      (state
		       (and (needs-painting wall1) (needs-painting wall2) 
			    (needs-painting wall3) (needs-painting wall4) 
			    (needs-painting wall5) 
			    (clean roller1) (clean roller2)))
		      (goal (and (painted wall1 red) (painted wall2 red) 
				 (painted wall3 red) (painted wall4 green) 
				 (painted wall5 green)))))
__________________________________________________________________________

The successful trace (with the variable strategy):
	Key:  (goal)
	      <instantiated-operator>
	      <APPLIED-OPERATOR>

<cl> (run)
Creating objects (WALL1 WALL2 WALL3 WALL4 WALL5) of type OBJECT
Creating objects (WHITE YELLOW LIGHT-BLUE GREEN RED DARK-BLUE PURPLE BROWN BLACK) of type COLOR
Creating objects (ROLLER1 ROLLER2) of type ROLLER

  2 n2 (done)
  4 n4 <*finish*>
  5   n5 (painted wall1 red)
  7   n7 <paint-wall roller2 wall1 red> 
  8     n8 (prepared wall1 roller2 red)
 10     n10 <prepare-wall roller2 wall1 red>
 11     n11 (filled-with-paint roller2 red)
 13     n13 <fill-roller roller2 red>
 14       n14 (chosen roller2 red)
 16       n16 <prepare-wall roller2 wall1 red> 
 17   n17 (painted wall2 red)
 19   n19 <paint-wall roller2 wall2 red> 
 20     n20 (prepared wall2 roller2 red)
 22     n22 <prepare-wall roller2 wall2 red>
 23   n23 (painted wall3 red)
 25   n25 <paint-wall roller2 wall3 red> 
 26     n26 (prepared wall3 roller2 red)
 28     n28 <prepare-wall roller2 wall3 red>
 29     n29 <PREPARE-WALL ROLLER2 WALL3 RED> 
 30     n30 <PREPARE-WALL ROLLER2 WALL2 RED> 
 31     n31 <PREPARE-WALL ROLLER2 WALL1 RED> 
 32     n32 <FILL-ROLLER ROLLER2 RED> 
 33   n33 <PAINT-WALL ROLLER2 WALL3 RED> 
 34   n34 <PAINT-WALL ROLLER2 WALL2 RED> 
 35   n35 <PAINT-WALL ROLLER2 WALL1 RED> 
 36   n36 (painted wall4 green)
 38   n38 <paint-wall roller2 wall4 green> 
 39     n39 (prepared wall4 roller2 green)
 41     n41 <prepare-wall roller2 wall4 green>
 42       n42 (clean roller2) ...no relevant operators.

 37   n37 paint-wall
 38   n43 <paint-wall roller1 wall4 green>
 39     n44 (prepared wall4 roller1 green)
 41     n46 <prepare-wall roller1 wall4 green>
 42     n47 (filled-with-paint roller1 green)
 44     n49 <fill-roller roller1 green>
 45       n50 (chosen roller1 green)
 47       n52 <prepare-wall roller1 wall4 green> 
 48   n53 (painted wall5 green)
 50   n55 <paint-wall roller2 wall5 green> 
 51     n56 (prepared wall5 roller2 green)
 53     n58 <prepare-wall roller2 wall5 green> ...requires an unsolvable precondition.

 50   n55 <paint-wall roller2 wall5 green>  ...no pending goals.
 50   n59 <paint-wall roller1 wall5 green>
 51     n60 (prepared wall5 roller1 green)
 53     n62 <prepare-wall roller1 wall5 green>
 54     n63 <PREPARE-WALL ROLLER1 WALL5 GREEN>
 55     n64 <PREPARE-WALL ROLLER1 WALL4 GREEN>
 56     n65 <FILL-ROLLER ROLLER1 GREEN>
 57   n66 <PAINT-WALL ROLLER1 WALL5 GREEN>
 57   n67 <PAINT-WALL ROLLER1 WALL4 GREEN>
Achieved top-level goals.

Solution:
	<prepare-wall roller2 wall3 red>
	<prepare-wall roller2 wall2 red>
	<prepare-wall roller2 wall1 red>
	<fill-roller roller2 red>
	<paint-wall roller2 wall3 red>
	<paint-wall roller2 wall2 red>
	<paint-wall roller2 wall1 red>
	<prepare-wall roller1 wall5 green>
	<prepare-wall roller1 wall4 green>
	<fill-roller roller1 green>
	<paint-wall roller1 wall5 green>
	<paint-wall roller1 wall4 green>


#<PRODIGY result: T, 4.117 secs, 67 nodes, 1 sol> 




