Adds an assignment of package as a derivation.

def derive(
        self, dependency, is_positive, cause
    ):  # type: (Dependency, bool, Incompatibility) -> None
        """
        Adds an assignment of package as a derivation.
        """
        self._assign(
            Assignment.derivation(
                dependency,
                is_positive,
                cause,
                self.decision_level,
                len(self._assignments),
            )
        )