import re


def parse_head(str_prop: str) -> str:
    """Parses the head of a proposition string."""

    matches = re.match("([^\(]*)\([^\)]*", str_prop)
    if matches is None:
        raise ValueError(f"Unable to parse proposition from '{str_prop}'.")
    name_pred = matches.group(1)
    return name_pred