-- prize.csp -- -- Simon Gay, Royal Holloway, January 1999 -- -- channel year1, year2, year3, pass, fail, graduate, present, prize S = {| year1, year2, year3, pass, fail, graduate |} P = {| pass, present |} C = {| pass, fail, prize |} STUDENT = year1 -> (pass -> YEAR2 [] fail -> STUDENT) YEAR2 = year2 -> (pass -> YEAR3 [] fail -> YEAR2) YEAR3 = year3 -> (pass -> graduate -> STOP [] fail -> YEAR3) PARENT = pass -> present -> PARENT COLLEGE = fail -> STOP [] pass -> C1 C1 = fail -> STOP [] pass -> C2 C2 = fail -> STOP [] pass -> prize -> STOP SYSTEM = (STUDENT [ S || P ] PARENT) [ union(S,P) || C ] COLLEGE