semialgorithms