{'fraction_non_alphanumeric': 0.05475040257648953, 'fraction_numerical': 0.0322061191626409, 'mean_word_length': 4.706422018348624, '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}}
An Application of Ramsey's Theorem to Proving Programs Terminate (An Exposition)

We describe an application of Ramsey’s Theorem to proving programs terminate. This paper is self contained; it does not require knowledge of either field. Our account is based on two articles, one by B. Cook, Podelski, and Rybalchenko [5] and one by Podelski and Rybalchenko [19]. Many other papers that also used this application [3, 4, 18, 20, 21]. Termination checkers that have used this application are Terminator [2], Loopfrog [14], and ARMC [24] In the summary below we refer to Programs 1,2,3 and 4 which appear later in the paper.