4.2 graph
| (require karp/lib/graph) | package: Karp | 
type-descriptor
(graph directedness)
directedness = #:undirected | #:directed 
type-descriptor
(subgraph-of a-graph)
a-graph : value-descriptor? Graph? 
value-descriptor / procedure
(edges-of a-graph)
(edges-of g) 
a-graph : value-descriptor? Graph? 
g : graph? 
value-descriptor / procedure
(vertices-of a-graph)
(vertices-of g) 
a-graph : value-descriptor? Graph? 
g : graph? 
procedure
(endpoints e) → (setof? any)
e : edge? 
procedure
(-e- u v) → undirected-edge?
u : any v : any 
NOT available inside verifier definitions
procedure
(-e-> u v) → directed-edge?
u : any v : any 
NOT available inside verifier definitions
procedure
(has-edge? u v g) → boolean?
u : any v : any g : graph? 
procedure
(e-u e) → any
e : edge 
procedure
(e-v e) → any
e : edge? 
procedure
(incident? e v) → boolean?
e : edge? v : any 
procedure
(subgraph-of? g1 g2) → boolean?
g1 : graph? g2 : graph? 
procedure
(neighbors g u) → (setof any)
g : graph? u : any 
procedure
(in-neighbors g u) → (setof any)
g : graph? u : any 
procedure
(create-graph V E [#:directed? directed]) → graph?
V : (setof any) E : (setof edge?) directed : boolean? = #f 
procedure
(create-graph-from-edges E [ #:directed? directed]) → graph? E : (setof edge?) directed : boolean? = #f 
procedure
(remove-edges g es) → graph?
g : graph? es : (setof edge) 
procedure
(remove-vertices g vs) → graph?
g : graph? vs : (setof any) 
procedure
(connected? g) → boolean?
g : graph? 
procedure
(acyclic? g) → boolean?
g : graph? 
procedure
(st-path? g s t) → boolean?
g : graph? s : any t : any