from z3 import *

p, q = Bools('p q')
s = Solver()
s.add(Not(q))
s.assert_and_track(q, "p1")
s.assert_and_track(p, "p2")
print(s.check())
print(s.unsat_core())