<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 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),
            )
        )