Idris2Doc : Data.Graph.Types

Data.Graph.Types

(source)
A representation for sparse, simple, undirected
labeled graphs.

This module provides only the data types plus
interface implementations.

Definitions

Node : Type
  A node in an undirected graph.

Totality: total
Visibility: public export
recordEdge : Type
  An edge in a simple, undirected graph.
Since edges go in both directions and loops are not allowed,
we can enforce without loss of generality
that `n2 > n1 = True`.

Totality: total
Visibility: public export
Constructor: 
MkEdge : (node1 : Node) -> (node2 : Node) -> (0_ : node2>node1) ->Edge

Projections:
.node1 : Edge->Node
.node2 : Edge->Node
0.prf : ({rec:0} : Edge) ->node2{rec:0}>node1{rec:0}

Hints:
EqEdge
OrdEdge
ShowEdge
.node1 : Edge->Node
Totality: total
Visibility: public export
node1 : Edge->Node
Totality: total
Visibility: public export
.node2 : Edge->Node
Totality: total
Visibility: public export
node2 : Edge->Node
Totality: total
Visibility: public export
0.prf : ({rec:0} : Edge) ->node2{rec:0}>node1{rec:0}
Totality: total
Visibility: public export
0prf : ({rec:0} : Edge) ->node2{rec:0}>node1{rec:0}
Totality: total
Visibility: public export
mkEdge : Node->Node->MaybeEdge
Totality: total
Visibility: public export
(<>) : (i : Node) -> (j : Node) -> {auto0_ : j>i} ->Edge
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 4
recordLNode : Type->Type
  A labeled node in a graph.

Totality: total
Visibility: public export
Constructor: 
MkLNode : Node->n->LNoden

Projections:
.label : LNoden->n
.node : LNoden->Node

Hints:
Eqa=>Eq (LNodea)
FoldableLNode
FunctorLNode
Shown=>Show (LNoden)
TraversableLNode
.node : LNoden->Node
Totality: total
Visibility: public export
node : LNoden->Node
Totality: total
Visibility: public export
.label : LNoden->n
Totality: total
Visibility: public export
label : LNoden->n
Totality: total
Visibility: public export
(:>) : Node->n->LNoden
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 4
recordLEdge : Type->Type
  A labeled edge in an undirected graph

Totality: total
Visibility: public export
Constructor: 
MkLEdge : Edge->e->LEdgee

Projections:
.edge : LEdgee->Edge
.label : LEdgee->e

Hints:
Eqa=>Eq (LEdgea)
FoldableLEdge
FunctorLEdge
Orda=>Ord (LEdgea)
Showe=>Show (LEdgee)
TraversableLEdge
.edge : LEdgee->Edge
Totality: total
Visibility: public export
edge : LEdgee->Edge
Totality: total
Visibility: public export
.label : LEdgee->e
Totality: total
Visibility: public export
label : LEdgee->e
Totality: total
Visibility: public export
(:>) : Edge->e->LEdgee
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 4
recordAdj : Type->Type->Type
  Adjacency info of a `Node` in a labeled graph.

This consists of the node's label plus
a list of all its neighboring nodes and
the labels of the edges connecting them.

This is what is stored in underlying `BitMap`
representing the graph.

Totality: total
Visibility: public export
Constructor: 
MkAdj : n->AssocListe->Adjen

Projections:
.label : Adjen->n
.neighbours : Adjen->AssocListe

Hints:
BifoldableAdj
BifunctorAdj
BitraversableAdj
Eqe=>Eqn=>Eq (Adjen)
Foldable (Adje)
Functor (Adje)
Showe=>Shown=>Show (Adjen)
Traversable (Adje)
.label : Adjen->n
Totality: total
Visibility: public export
label : Adjen->n
Totality: total
Visibility: public export
.neighbours : Adjen->AssocListe
Totality: total
Visibility: public export
neighbours : Adjen->AssocListe
Totality: total
Visibility: public export
recordContext : Type->Type->Type
  The Context of a `Node` in a labeled graph
including the `Node` itself, its label, plus
its direct neighbors together with the
labels of the edges leading to them.

Totality: total
Visibility: public export
Constructor: 
MkContext : Node->n->AssocListe->Contexten

Projections:
.label : Contexten->n
.neighbours : Contexten->AssocListe
.node : Contexten->Node

Hints:
BifoldableContext
BifunctorContext
BitraversableContext
Eqe=>Eqn=>Eq (Contexten)
Foldable (Contexte)
Functor (Contexte)
Showe=>Shown=>Show (Contexten)
Traversable (Contexte)
.node : Contexten->Node
Totality: total
Visibility: public export
node : Contexten->Node
Totality: total
Visibility: public export
.label : Contexten->n
Totality: total
Visibility: public export
label : Contexten->n
Totality: total
Visibility: public export
.neighbours : Contexten->AssocListe
Totality: total
Visibility: public export
neighbours : Contexten->AssocListe
Totality: total
Visibility: public export
GraphRep : Type->Type->Type
  Internal representation of labeled graphs.

Totality: total
Visibility: public export
recordGraph : Type->Type->Type
Totality: total
Visibility: public export
Constructor: 
MkGraph : GraphRepen->Graphen

Projection: 
.graph : Graphen->GraphRepen

Hints:
BifoldableGraph
BifunctorGraph
BitraversableGraph
Eqe=>Eqn=>Eq (Graphen)
Foldable (Graphe)
Functor (Graphe)
Showe=>Shown=>Show (Graphen)
Traversable (Graphe)
.graph : Graphen->GraphRepen
Totality: total
Visibility: public export
graph : Graphen->GraphRepen
Totality: total
Visibility: public export
dataDecomp : Type->Type->Type
Totality: total
Visibility: public export
Constructors:
Split : Contexten->Graphen->Decompen
Empty : Decompen