{'fraction_non_alphanumeric': 0.021037868162692847, 'fraction_numerical': 0.001402524544179523, 'mean_word_length': 6.069306930693069, '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}}
Modularization of Logic Programs

Standard software and knowledge engineering best practices advise for modularity because, amongst other benefits, it facilitates development, debugging, maintenance, composition and interoperability. Knowledge bases written as Logic Programs are no exception, and their corresponding semantics should enable such modularity. In this paper we formally define several new syntactical notions and semantics properties that capture the notions of modularity and separation of concerns applied to the LPs domain. Furthermore, we set forth other notions necessary for top-down, call-graph oriented existential query answering with 2-valued semantics for LPs with Integrity Constraints.