const pk: Function;
secret sk: Function;
inversekeys (pk,sk);

protocol nsl7(I,R)
{
	role R
	{
		var ni;
		const nr;

		read_1(I,R, {I,ni}pk(R) );
		send_2(R,I, {ni,nr,R}pk(I) );
		read_3(I,R, {nr}pk(R) );
		claim_4(R,Secret,ni);
		claim_5(R,Secret,nr);
	}
}

const Alice,Bob,Eve;
const ne;
untrusted Eve;
compromised sk(Eve);

run nsl7.R(Agent,Agent);
run nsl7.R(Agent,Agent);
