session types formal definition and graphs