code: private ImmutableSubstitution<NonFunctionalTerm> selectDownSubstitution(
              ImmutableSubstitution<NonFunctionalTerm> simplificationSubstitution, ImmutableSet<Variable> rightVariables) {
          ImmutableMap<Variable, NonFunctionalTerm> newMap = simplificationSubstitution.getImmutableMap().entrySet().stream()
                  .filter(e -> rightVariables.contains(e.getKey()))
                  .collect(ImmutableCollectors.toMap());
          return substitutionFactory.getSubstitution(newMap);
      }
docs: Selects the entries that can be applied to the right child.
  
  Useful when there is an equality between two variables defined on the right (otherwise would not converge)