{'fraction_non_alphanumeric': 0.015625, 'fraction_numerical': 0.0006510416666666666, 'mean_word_length': 5.351239669421488, '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}}
Generating Propagation Rules for Finite Domains via Unification in Finite Algebras

Constraint solving techniques are nowadays frequently based on constraint propagation which can be interpreted as a specific form of deduction. Using constraint programming languages enhanced with constraint handling rules facilities, we can now perform constraint propagation just by applying deduction rules over constraints. The idea of computing propagation rules in the particular case of small finite domains has emerged in a recent paper by K. R. Apt and E. Monfroy [1]. Due to its interest for practical applications, the integration of Finite Domains into (constraint) logic programming has been thoroughly investigated during the last decade. A possible way of integration is achieved using a unitary unification algorithm, based on the handling of Directed Acyclic Graphs to represent functions over the finite domain. We show in this paper the interest of this solver for the generation of propagation rules for finite domains. Our motivation relies on the well-established fact that unification provides a concise solution to perform safe deductions about the possible values taken by variables. Conversely, the propagation rules appear to be a quite interesting output in comparison with the symbolic most general solution usually printed out by the unification algorithm. Therefore, a rule-based approach and the notion of propagation rules are adopted here, in order to provide a more understandable output to the unification algorithm.