This is an old revision of the document!
addParticipant(ident uid, ident id, ident studentId) {
assume exists //accounts/account[uid]/student && //accounts/account[uid]/student/id = studentId && //exams/exam[id]/free
|| exists //accounts/account[uid]/examiner[id];
assume exists //exams/exam[id]; # implicitly true in OO implementations
assume count (studentId, //accounts/account/student/id) = 1;
assume not exists //exams/exam[id]/results/participant[studentId];
insert //exams/exam[id]/results/participant[studentId];
}