{'fraction_non_alphanumeric': 0.02130977130977131, 'fraction_numerical': 0.006756756756756757, 'mean_word_length': 5.072555205047319, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Algorithms, Equations, and Logic

From the beginning of recorded history, people have worked with numbers using algorithms. Algorithms are processes that can be carried out by following a set of instructions in a completely mechanical manner without any need for creative thought. Until the 1930s no need was felt for a precise mathematical definition or characterization of what it means for something to be algorithmic. The need then did arise, in those years, in connection with attempts to prove that for some problems no algorithmic solution is possible. In 1935 Alan Turing considered this matter in isolation at Cambridge University. Meanwhile, in Princeton, the combined efforts of Kurt Gödel and Alonzo Church with his students Stephen Kleene and J. Barkley Rosser were brought to bear on the same topic. E.L. Post had also been thinking about these things, like Turing also in isolation, since the 1920s. Although the various formulations that were developed seemed superficially to be quite different from one another, they all turned out to be equivalent. This consensus about algorithmic processes has come to be called the Church–Turing Thesis. Turing’s conception differed from all the others in that it was formulated in terms of an abstract machine. What was striking about his characterization is his analysis that showed why even very limited fundamental operations would suffice for all algorithms if supplemented by unlimited data storage capability. Moreover, he demonstrated that a single such machine, Turing’s so-called ‘Universal Machine’, could be made to carry out any algorithmic process whatever. These insights have played a key role in the development of modern all-purpose computers. But, as will become clear later, the notion of universality spills over into mathematical domains far removed from computation.1 Turing began his investigation with a problem from mathematical logic, a prob-