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