С синтаксической точки зрения произведение — это последовательность букв, то есть слово (строка, текст). Расстановка скобок — это добавление скобок в это слово. Можно работать со словами (как и делают в учебниках по логике), но ведь скобки можно расставить неправильно, и надо вводить грамматику.
В данной задаче более естественный тип данных — дерево. Каждый узел или имеет 2-х детей и обозначает бинарную операцию группы, или помечен буквой и не имеет детей. Ассоциативность даёт следующее отношение
: множество всех пар деревьев вида
, где
— деревья. Пусть
есть наименьшее замкнутое множество, включающее
, где под замкнутыми множествами подразумеваются замкнутые по операциям
и
для любых деревьев
(ЕМНИП, это называется «синтаксическое замыкание»). Ещё есть операция «уплощения дерева», которая возвращает список всех букв аргумента-дерева в том порядке, в котором они встречаются в дереве. Надо доказать, что ядерное отношение уплощения дерева равно транзитивному рефлексивному симметричному замыканию
. Это если немногословно.