INTERFACEPOEdgeType ; TYPE T = { GT, GE, EQ, Absent, Bottom }; CSRPublic = OBJECT plusIdent, bottom: T; METHODS init(): CSRPublic; plus(ev1, ev2: T): T; times(ev1, ev2: T): T; closure(ev: T): T; END (* OBJECT *); CSR <: CSRPublic; VAR csr: CSR; END POEdgeType.