{'fraction_non_alphanumeric': 0.01911764705882353, 'fraction_numerical': 0.0014705882352941176, 'mean_word_length': 5.948979591836735, '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}}
Object-Oriented Constraint Satisfaction Problems 1

The object-oriented paradigm can be leveraged to make the definition of constraint satisfaction problems more modular, which often results in reusable subproblems and fewer encoding errors. These objectoriented constraint satisfaction problems (OOCSPs) synthesize object-oriented constructs with declarative constraints to provide a rich, solver-independent language for describing both finite and infinite domains as sets of structured objects. This paper introduces the concept of an OOCSP, describes algorithms for solving certain classes of OOCSPs, and gives an undecidability result that shows not all OOCSPs can be solved.