This is the domain definition of DmS1.
Action A-i deletes all the preconditions for actions A-j , j<i

______________________________________________________________

Example with i=3:

(OPERATOR A3
  (params)
  (preconds
   ()
   (i3))
  (effects
   ()
   ((add (g3))
    (del (i1))
    (del (i2)))))
______________________________________________________________

Example problem:

(setf (current-problem)
      (create-problem (name test1)
		      (objects
		       ())
		      (state
		       (and (i1) (i2) (i3) (i4) (i5)))
		      (goal (and (g2) (g3) (g4) (g1) (g5)))))
______________________________________________________________

Domain definition:

(create-problem-space 'art-md :current t)

(defvar *number-a-ops* 15
  "Size parameter for the synthetic domain DmS1")

(defun make-sym (prefix number)
  (let ((*print-case* :upcase))
    (intern (format nil "~S~D" prefix number))))

(dotimes (i *number-a-ops*)
  (eval
   `(operator ,(make-sym 'A (1+ i))
	      (params)
	      (preconds () (,(make-sym 'I (1+ i))))
	      (effects ()
	       ,(let ((all-effects `((add (,(make-sym 'G (1+ i)))))))
		  (dotimes (j i)
		    (push (cons 'del `((,(make-sym 'I (1+ j))))) all-effects))
		  all-effects)))))




