reserve Values for Values_with_Bool;
reserve a, a1, a2 for Element of the carrier of Values;
reserve S for Events_structure over Values;
reserve p, p1, p2 for Process of S;
reserve x, x1, x2 for Location of S;
reserve tr, tr1, tr2 for trace of S;
reserve e, e0, e1, e2, e3, e4, e5 for Event of S;
reserve E for EventSet of S;
reserve DS for DistributedSysWithSharedMem of Values;
reserve p, p1, p2 for Process of DS;
reserve x, x1, x2, flag1, flag2, turn for Location of DS;
reserve tr, tr1, tr2 for trace of DS;
reserve e, e0, e1, e2, e3, e4, e5 for Event of DS;
reserve E for EventSet of DS;

theorem thLinPreordEvents:
  e1 <= e2 or e2 <= e1
proof
  the events of DS is strongly_connected;
  then [e1,e2] in the InternalRel of the events of DS or
       [e2,e1] in the InternalRel of the events of DS by RELAT_2:def 7;
  hence e1 <= e2 or e2 <= e1 by ORDERS_2:def 5;
end;
