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