title: jug filling in LISP
body: <p>Starting with an empty 5-gallon jug and an empty 11-gallon jug, how can we end up with exactly 3 gallons of water in the 11-gallon jug and with the 5-gallon jug empty?</p>
  
  <p>I want to write a function in Lisp that computes a list of successor states for any state in this puzzle</p>
  
  <p>my solution </p>
  
  <pre><code>(0 0) &gt; (5 0) &gt; (0 5) &gt; (5 5) &gt; (0 10 ) &gt; (5 10)&gt;(4 11)&gt;(4 0)&gt;(0 4)&gt;(5 4)&gt;(0 9)&gt;(5 9)&gt;(3 11)&gt;(3 0)&gt;(0 3)
  </code></pre>
  
  <p>How can I implement <code>successors</code> function?</p>
  
  <pre><code>        (setq initial-state '(0 0))
      (setq fill-jug1-state '(5 0))
      (setq fill-jug2-state '(0 11))
      (setq full '(5 11))
      (defparameter *jug-1* 5) 
      (defparameter *jug-2* 11)
      (defun successors (initial-state)
  
  )
  </code></pre>
  
  <p><strong>please help !!!!</strong></p>