This is Russell's flat tire domain.



(operator

 open

 (params 

  (<x> Container))

 (preconds

  (unlocked <x>) (closed <x>))

 (effects 

  (del closed <x>) (open <x>)))





(operator

 close

 (params 

  (<x> Container))

 (preconds

  (open <x>))

 (effects 

  (del open <x>) (closed <x>)))



(operator

 fetch

 (params (<x> Object)  (<y> Container))

 (preconds

  (in <x> <y>) (open <y>))

 (effects

  (del in <x> <y>) (have <x>)))





(operator

 put-away

 (params  (<x> Object) (<y> Container))

 (preconds

  (have <x>) (open <y>))

 (effects

  (in <x> <y>)  (del have <x>)))



(operator

 loosen 

 (params (<x> Nut)  (<y> Hub))

 (preconds

  (have wrench) (tight <x> <y>) (on-ground <y>))

 (effects

  (loose <x> <y>) (del tight <x> <y>)))



(operator

 tighten

 (params (<x> Nut)

   (<y> Hub))

 (preconds

  (have wrench) (loose <x> <y>) (on-ground <y>))

 (effects

  (tight <x> <y>) (del loose <x> <y>)))



(operator

 jack-up

 (params (<y> Hub))

 (preconds  (on-ground <y>) (have jack))

 (effects (not-on-ground <y>) (del on-ground <y>) (del have jack)))



(operator

 jack-down

 (params (<x> Hub))

 (preconds (not-on-ground <x>))

 (effects (del not-on-ground <x>) (on-ground <x>) (have jack)))



(operator

 undo

 (params (<x> Nut) (<y> Hub))

 (preconds

  (not-on-ground <y>) (fastened <y>) (have wrench) (loose <x> <y>))

 (effects

  (have <x>) (unfastened <y>) (del fastened <y>) 

  (del loose <x> <y>)))



(operator

 do-up

 (params (<x> Nut) (<y> Hub))

 (preconds 

  (have wrench) (unfastened <y>)

       (not-on-ground <y>) (have <x>))

 (effects

   (loose <x> <y>) (fastened <y>) (del unfastened <y>)

   (del have <x>)))



(operator

 remove-wheel

 (params (<x> Wheel) (<y> Hub))

 (preconds 

  (not-on-ground <y>) (on <x> <y>) (unfastened <y>))

 (effects

   (have <x>) (free <y>) (del on <x> <y>)))



(operator

 put-on-wheel

 (params (<x> Wheel) (<y> Hub))

 (preconds

  (have <x>) (free <y>) (unfastened <y>) (not-on-ground <y>))

 (effects

  (on <x> <y>) (del free <y>) (del have <x>)))



(operator

 inflate

 (params (<x> Wheel))

 (preconds

  (have pump) (not-inflated <x>) (intact <x>))

 (effects (del not-inflated <x>) (inflated <x>)))



(operator

 cuss

 (params)

 (preconds)

 (effects (del annoyed)))



