{'fraction_non_alphanumeric': 0.022909507445589918, 'fraction_numerical': 0.013745704467353952, 'mean_word_length': 5.069444444444445, '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}}
Combining Unification Algorithms

Abstract An algorithm is presented for solving equations in a combination of arbitrary theories over disjoint sets of function symbols. It is an extension of (Boudet el al . 1989) in which the problem was treated for the combination of an arbitrary and a simple theory. The algorithm consists of a set of transformation rules that simplify a unification problem until a solved form is obtained. Each rule is shown to preserve solutions, and solved problems are unification problems in normal form. The rules terminate for any control that delays replacement until the end. The algorithm is more efficient than Schmidt-Schaus (1990) because nondeterministic branching is performed only when necessary, that is when theory clashes or compound cycles are encountered. The results presented here come from the author's thesis (Boudet (1990a)).