{'fraction_non_alphanumeric': 0.012242268041237113, 'fraction_numerical': 0.007087628865979381, 'mean_word_length': 5.390946502057613, '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}}
Co-Synthesis of New Complex Selection Algorithms and their Human Comprehensible XML Documentation

In this paper, an approach for program and algorithm synthesis within a higher-order framework is presented that allows us to generate new algorithm structures together with readable documentation which enable users to conveniently inspect the results of this synthesis process. The synthesis approach is based on feature graphs as a higherorder data type for specifying synthesis types like proof terms, theorems and document types. The document synthesis method uses constructive reasoning about a user-defined knowledge base to synthesise documents from metaobjects which are composed of diagrams,text, and references to articles, theorems and algorithms. The data format used for reasoning is a variant of XML syntax and thus enables the organisation of comprehensive knowledge in XML repositories and the conversion of document terms into LTEX, PDF or XHTML documents which can be displayed by browsers. This framework has been applied for the automated synthesis of several new selection algorithms and their documentation. As one new result, an algorithm that proves selecting the 4th element of 24 elements needs at most 34 comparisons was synthesised using 50 seconds CPU time on an AMD Athlon 3200. The correctness of the synthesised algorithm was manually checked. It improves the known upper bounds for the specific selection problems. The running time for synthesis is several orders of magnitude more efficient than comparative approaches.