[ library(grasper) | Reference Manual | Alphabetic Index ]
# graph_labeling(+Graph, ++VertexHeuristic, ++EdgeHeuristic)

Labels a graph variable using VertexHeuristic and EdgeHeuristic.
*Graph*
- A graph.
*VertexHeuristic*
- 'up' for starting vertex inclusion first / 'down' for starting vertex exclusion first.
*EdgeHeuristic*
- 'up' for starting edge inclusion first / 'down' for starting edge exclusion first.

## Description

Labels a graph variable using VertexHeuristic and EdgeHeuristic.
### Fail Conditions

Fails
if Graph is not a graph variable,
if VertexHeuristic is not in {down,up} or
if EdgeHeuristic is not in {down,up}.
## Examples

?- graph_labeling(G,down,up).
No.
?- V`::[]..[1,2], E`::[]..[[1,2],[2,1]], dirgraph(G,V,E), graph_labeling(G,d,up).
No.
?- V`::[]..[1,2], E`::[]..[[1,2],[2,1]], dirgraph(G,V,E), graph_labeling(G,down,u).
No.
?- V`::[]..[1,2], E`::[]..[[1,2],[2,1]], dirgraph(G,V,E), graph_labeling(G,down,up).
V = []
E = []
G = dirgraph([], [])
Yes ? ;
V = [2]
E = []
G = dirgraph([2], [])
Yes ? ;
V = [1]
E = []
G = dirgraph([1], [])
Yes ? ;
V = [1, 2]
E = [[1, 2], [2, 1]]
G = dirgraph([1, 2], [[1, 2], [2, 1]])
Yes ? ;
V = [1, 2]
E = [[1, 2]]
G = dirgraph([1, 2], [[1, 2]])
Yes ? ;
V = [1, 2]
E = [[2, 1]]
G = dirgraph([1, 2], [[2, 1]])
Yes ? ;
V = [1, 2]
E = []
G = dirgraph([1, 2], [])
Yes