Std.Edge
Interface that every Graph edge should provide
Semantics of operations is denoted using mathematical model, described in Graph
interface.
create x y l
creates an edge connecting nodes x
and y
labeled with a a given label l
insert e g
returns a graph g'
with a set of edges extended with edge e
. If src e
or dst e
wasn't in the set of nodes N
, then it is extended as well, so that axioms of graph are preserved.
Postconditions:
- E(g') = E(g) ∪ {e}.
update e l g
if edge e
exists in graph g
then return a new graph g'
in which edge e
is associated with label l
. Otherwise return g
unchanged.
Postcondition:
- E(g) ⊆ E(g') - N(g) ⊆ N(g') - e ∉ E(g) → e ∉ E(g'). - e ∈ E(g) → ε(g')e = l.
remove e g
returns a graph g'
that doesn't contain edge e
.
Postconditions:
- E(g') = E(g) \ {e}.
include Regular.Std.Opaque.S with type t := t
include Core_kernel.Comparable.S with type t := t
val comparator : (t, comparator_witness) Base__.Comparator.comparator
module Replace_polymorphic_compare : sig ... end
module Map : sig ... end
module Set : sig ... end
include Core_kernel.Hashable.S with type t := t
val hash_fold_t :
Ppx_hash_lib.Std.Hash.state ->
t ->
Ppx_hash_lib.Std.Hash.state
val hash : t -> Ppx_hash_lib.Std.Hash.hash_value
val hashable : t Core_kernel__.Hashtbl.Hashable.t
module Table : sig ... end
module Hash_set : sig ... end
module Hash_queue : sig ... end