<> <> <> DIRECTORY Asserting, Graphs, Rope; GraphOps: CEDAR DEFINITIONS = {OPEN Graphs; <> <> <> <> <> RankGraph: PROC [g: Graph, d: DirectedDirection]; GraphRanked: PROC [g: Graph, d: DirectedDirection] RETURNS [BOOL]; VertexRank: PROC [v: Vertex, d: DirectedDirection] RETURNS [rank: INT]; <> EdgePredicate: TYPE = PROC [v, w: Vertex] RETURNS [BOOL]; <> DetermineComponents: PROC [g: Graph, d: Direction, predicate: EdgePredicate _ NIL] RETURNS[numComponents: CARDINAL _ 0]; <> ComponentsDetermined: PROC [g: Graph, d: Direction] RETURNS [BOOL]; VertexComponent: PROC [v: Vertex, d: Direction] RETURNS [component: CARDINAL]; }.