Truth, Proof and Infinity: A Theory of Constructive Reasoning