op removestudent in: r: GradeRoster, name: String, ssnum: String; out: r': GradeRoster; pre: (* the GradeRoster must not empty. If the GradeRoster is empty then removes student will return the same list as pass in *) (* if (r=nil) return r; -- COMMENT: you probably want the following: *) r != nil; post: (* Search through the GradeRoster until find a match with name and ssnum. If found the name will be deleted, otherwise search through until the GradeRoster exhausted and then return r'. *); end removestudent;