bool ain,bin;
int turn;

proctype A()
{
   (turn==0);
   progress: ain=true;
   assert(bin==false);
   ain=false;
   turn=1
}

proctype B()
{
   (turn==1);
   progress: bin=true;
   assert(ain==false);
   bin=false;
   turn=0
}

init
{
  turn=0;
  ain=false;
  bin=false;
  atomic{
    run A(); run B();
  }
}


