object
unweighted_directed_graph(Dictionary)
Unweighted directed graph predicates using a dictionary representation. The parametric object parameter is the dictionary to use for the graph representation.
Availability:
logtalk_load(graphs(loader))Author: Paulo Moura
Version: 1:0:0
Date: 2026-02-20
Compilation flags:
static, context_switching_callsRemarks:
(none)
Inherited public predicates:
add_edge/4 add_edges/3 add_vertex/3 add_vertices/3 all_pairs_min_paths/2 all_pairs_min_predecessors/2 breadth_first_order/3 complement/2 cycle/2 delete_edge/4 delete_edges/3 delete_vertex/3 delete_vertices/3 depth_first_order/3 edge/3 edges/2 empty/1 has_cycle/1 has_path/3 in_degree/3 is_acyclic/1 is_bipartite/1 is_complete/1 is_sparse/1 max_path/5 min_distances/3 min_path/5 min_predecessors/3 neighbors/3 new/1 new/2 new/3 number_of_edges/2 number_of_vertices/2 out_degree/3 path/3 reachable/3 strongly_connected_components/2 symmetric_closure/2 topological_sort/2 transitive_closure/2 transpose/2 vertices/2 weakly_connected_components/2
Public predicates
compose/3
Composes NewGraph by connecting the drains of LeftGraph to the sources of RightGraph.
Compilation flags:
staticTemplate:
compose(LeftGraph,RightGraph,NewGraph)Mode and number of proofs:
compose(+graph,+graph,-graph) - oneunion/3
Unifies UnionGraph with the union of Graph1 and Graph2.
Compilation flags:
staticTemplate:
union(Graph1,Graph2,UnionGraph)Mode and number of proofs:
union(+graph,+graph,-graph) - onetopological_sort/3
Difference list version of topological_sort/2 where Sorted0 is the tail of Sorted.
Compilation flags:
staticTemplate:
topological_sort(Graph,Sorted0,Sorted)Mode and number of proofs:
topological_sort(+graph,+list(vertex),-list(vertex)) - oneleaves/2
Unifies Leaves with a sorted list of vertices with no outgoing edges.
Compilation flags:
staticTemplate:
leaves(Graph,Leaves)Mode and number of proofs:
leaves(+graph,-list(vertex)) - onetransitive_reduction/2
Computes the transitive reduction of the graph. An edge Vertex1-Vertex2 is in the reduction iff it is in the graph and there is no other path of length >= 2 from Vertex1 to Vertex2.
Compilation flags:
staticTemplate:
transitive_reduction(Graph,Reduction)Mode and number of proofs:
transitive_reduction(+graph,-graph) - oneProtected predicates
(no local declarations; see entity ancestors if any)
Private predicates
(no local declarations; see entity ancestors if any)
Operators
(none)