program order is a partial order on all events as defined by the program syntactically. It is also known as sequenced-before order