are likewise assigned to binsthen strings of length fourand so on in this waya string of any given length can be assigned to some bin by this processany string of finite length is assigned to some bin so any programwhich is merely string of finite lengthis assigned to some bin because all programs are assigned to some binthe set of all programs is countable naturally most of the strings in the bins are not legal programsbut this is irrelevant all that matters is that the strings that do correspond to programs are also in the bins now we consider the number of possible functions to keep things simpleassume that all functions take single positive integer as input and yield single positive integer as output we will call such functions integer functions function is simply mapping from input values to output values of coursenot all computer programs literally take integers as input and yield integers as output howevereverything that computers read and write is essentially series of numberswhich may be interpreted as letters or something else any useful computer program' input and output can be coded as integer valuesso our simple model of computer input and output is sufficiently general to cover all possible computer programs we now wish to see if it is possible to assign all of the integer functions to the infinite set of bins if sothen the number of functions is countableand it might then be possible to assign every integer function to program if the set of integer functions cannot be assigned to binsthen there will be integer functions that must have no corresponding program imagine each integer function as table with two columns and an infinite number of rows the first column lists the positive integers starting at the second column lists the output of the function when given the value in the first column as input thusthe table explicitly describes the mapping from input to output for each function call this function table next we will try to assign function tables to bins to do so we must order the functionsbut it does not matter what order we choose for examplebin could store the function that always returns regardless of the input value bin could store the function that returns its input bin could store the function that doubles its input and adds bin could store function for which we can see no simple relationship between input and output these four functions as assigned to the first four bins are shown in figure there is no requirement for function to have any discernible relationship between input and output function is simply mapping of inputs to outputswith no constraint on how the mapping is determined