protocol

unweighted_graph_protocol

Protocol for unweighted graph predicates, extending the common graph protocol with unweighted edge operations.

Availability:
logtalk_load(graphs(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-02-19
Compilation flags:
static
Extends:
Remarks:
(none)

Public predicates

edge/3

True iff there is an edge between Vertex1 and Vertex2 in Graph.

Compilation flags:
static
Template:
edge(Vertex1,Vertex2,Graph)
Mode and number of proofs:
edge(+vertex,+vertex,+graph) - zero_or_one

add_edge/4

Adds an edge between Vertex1 and Vertex2 to the graph.

Compilation flags:
static
Template:
add_edge(Graph,Vertex1,Vertex2,NewGraph)
Mode and number of proofs:
add_edge(+graph,+vertex,+vertex,-graph) - one

delete_edge/4

Deletes the edge between Vertex1 and Vertex2 from the graph. The graph is unchanged if the edge does not exist.

Compilation flags:
static
Template:
delete_edge(Graph,Vertex1,Vertex2,NewGraph)
Mode and number of proofs:
delete_edge(+graph,+vertex,+vertex,-graph) - one

complement/2

Unifies NewGraph with the complement graph where there is an edge between all pairs of vertices not connected in the original graph.

Compilation flags:
static
Template:
complement(Graph,NewGraph)
Mode and number of proofs:
complement(+graph,-graph) - one

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)