registerStudent(ident uid, ident id, ident studentId) { assume count (studentId, /account/student/id) = 1; assume exists /exercise[id] && /exercise[id]/open && exists /account[uid]/student && /account[uid]/student/id = studentId || exists /account[uid]/assistant[id]; assume exists /exercise[id]; assume not exists /exercise[id]/student[studentId]; insert /exercise[id] <student id=[studentId] />; }