kdrag.solvers.kb.multiset.replace

kdrag.solvers.kb.multiset.replace(xs, lhs, rhs)

Replace multiset pattern lhs in multiset xs with rhs.

>>> replace([("a", 1), ("b", 2)], [("a", 1)], [("a", 2), ("c", 3)])
[('a', 2), ('b', 2), ('c', 3)]
>>> replace([("a", 1), ("b", 2)], [("a", 1), ("b", 2)], [("a", 2), ("c", 3)])
[('a', 2), ('c', 3)]
>>> replace([("a", 1), ("b", 2)], [("a", 1), ("b", 4)], [("a", 2)]) == None
True
>>> replace([('p', 25)], [('p', 25)], [('q', 1)])
[('q', 1)]