Text this: Proving liveness properties of concurrent programs using petri-nets