
  -spec projection(SetFun, Set1) -> Set2
                      when
                          SetFun :: set_fun(),
                          Set1 :: a_set(),
                          Set2 :: a_set().

  Returns the set created by substituting each element of Set1 by
  the result of applying SetFun to the element.

  If SetFun is a number i >= 1 and Set1 is a relation, then the
  returned set is the projection of Set1 onto coordinate i.

    1> S1 = sofs:from_term([{1,a},{2,b},{3,a}]),
    S2 = sofs:projection(2, S1),
    sofs:to_external(S2).
    [a,b]
