kdrag.solvers.kb.string.rewrite

kdrag.solvers.kb.string.rewrite(s, R, exclude=-1)

Rewrite to a fixed point using rules R.

Exclude is useful for simplifying a rule

>>> rewrite((1,2,3,4), [((2,3), (5,6)), ((5,6), (7,8))])
(1, 7, 8, 4)
>>> rewrite((1,1,1,1,1,1), [((1,1), ())])
()
>>> rewrite((1,1,1,1,2,1), [((1,1), ())])
(2, 1)