% File:   prob01.nadl
% Desc:   AIPS'98 Competition Gripper problem with4 balls
% Date:   99
% Author: Rune M. Jensen CS, CMU, (IAU, DTU)

VARIABLES
  nat(1) pr % position of robot: 0:rooma, 1:roomb
               % position of balls: 0:rooma, 1:roomb 2:leftgripper 3:rightgripper
  nat(2) p0,p1,p2,p3

SYSTEM

  agt: Action

   MoveRobotA2B
     con: pr
     pre: pr = 0
     eff: pr' = 1

   MoveRobotB2A
     con: pr
     pre: pr = 1
     eff: pr' = 0

   PickLeft0
     con: p0
     pre: p0 = pr
          /\ p1 <> 2
          /\ p2 <> 2
          /\ p3 <> 2
     eff: p0' = 2

   PickLeft1
     con: p1
     pre: p1 = pr
          /\ p0 <> 2
          /\ p2 <> 2
          /\ p3 <> 2
     eff: p1' = 2

   PickLeft2
     con: p2
     pre: p2 = pr
          /\ p0 <> 2
          /\ p1 <> 2
          /\ p3 <> 2
     eff: p2' = 2

   PickLeft3
     con: p3
     pre: p3 = pr
          /\ p0 <> 2
          /\ p1 <> 2
          /\ p2 <> 2
     eff: p3' = 2

   PickRight0
     con: p0
     pre: p0 = pr
          /\ p1 <> 3
          /\ p2 <> 3
          /\ p3 <> 3
     eff: p0' = 3

   PickRight1
     con: p1
     pre: p1 = pr
          /\ p0 <> 3
          /\ p2 <> 3
          /\ p3 <> 3
     eff: p1' = 3

   PickRight2
     con: p2
     pre: p2 = pr
          /\ p0 <> 3
          /\ p1 <> 3
          /\ p3 <> 3
     eff: p2' = 3

   PickRight3
     con: p3
     pre: p3 = pr
          /\ p0 <> 3
          /\ p1 <> 3
          /\ p2 <> 3
     eff: p3' = 3

   DropLeft0
     con: p0
     pre: p0 = 2
     eff: p0' = pr

   DropLeft1
     con: p1
     pre: p1 = 2
     eff: p1' = pr

   DropLeft2
     con: p2
     pre: p2 = 2
     eff: p2' = pr

   DropLeft3
     con: p3
     pre: p3 = 2
     eff: p3' = pr

   DropRight0
     con: p0
     pre: p0 = 3
     eff: p0' = pr

   DropRight1
     con: p1
     pre: p1 = 3
     eff: p1' = pr

   DropRight2
     con: p2
     pre: p2 = 3
     eff: p2' = pr

   DropRight3
     con: p3
     pre: p3 = 3
     eff: p3' = pr

ENVIRONMENT

INITIALLY
  pr = 0 /\ p0 = 0 /\ p1 = 0 /\ p2 = 0 /\ p3 = 0

GOAL
  p0 = 1 /\ p1 = 1 /\ p2 = 1 /\ p3 = 1
