Space complexity theory