Не совсем понятно, что вы подразумеваете под «объединением».Но вы можете получить утверждения от одного и добавить к другому:
from z3 import *
i = Int('x')
s1 = Solver()
s1.add(i == 3)
s1.push()
s2 = Solver()
s2.add(s1.assertions())
print s2.check()
print s2.model()
Это печатает:
sat
[x = 3]
Вы можете использовать этот трюк для создания своих собственных комбинаций, я полагаю.