precover subcover multicover open cover exact cover semicovering cover hypermodule hyperensemble hyperfunction