
  -spec family_specification(Fun, Family1) -> Family2
                                when
                                    Fun :: spec_fun(),
                                    Family1 :: family(),
                                    Family2 :: family().

  If Family1 is a family, then Family2 is the restriction of 
  Family1 to those elements i of the index set for which Fun
  applied to Family1[i] returns true. If Fun is a tuple 
  {external, Fun2}, then Fun2 is applied to the external set of 
  Family1[i], otherwise Fun is applied to Family1[i].

    1> F1 = sofs:family([{a,[1,2,3]},{b,[1,2]},{c,[1]}]),
    SpecFun = fun(S) -> sofs:no_elements(S) =:= 2 end,
    F2 = sofs:family_specification(SpecFun, F1),
    sofs:to_external(F2).
    [{b,[1,2]}]
