Discrete Algorithmic Mathematics