I'd like to just add that sets are very natural in describing algorithms :-)-- given a set e of edges and a set s of vertices, compute-- set r of vertices reachable from vertices in s following edges in e:r := swhile exists v in {v: (u,v) in e, u in r, v not in r}:r := r + {v}