Meta-data
- Description: Algebraic Graphs based on work by Andrey Mokhov
- Authors: Vilem-Benjamin Liepelt
- License: BSD3
- Copyright: (c) Authors 2018
- Issue-tracking: https://github.com/granule-project/granule/issues
- Repository: https://github.com/granule-project/granule
Contents
data Graph (a : Type) where EmptyG : Graph a ; Vertex : a -> Graph a ; Overlay : (Graph a) -> (Graph a) -> Graph a ; Connect : (Graph a) -> (Graph a) -> Graph a
vertices : forall {a : Type} . (List a) -> Graph a
edge : forall {a : Type} . a -> a -> Graph a
mapG : forall {a : Type, b : Type} . ((a -> b) [0..∞]) -> (Graph a) -> Graph b
foldG : forall {a : Type, b : Type} . (b [0..∞]) -> ((a -> b) [0..∞]) -> ((b -> b -> b) [0..∞]) -> ((b -> b -> b) [0..∞]) -> (Graph a) -> b
isEmpty : forall {a : Type} . (Graph (a [0])) -> Bool
hasVertex : (Int [0..∞]) -> (Graph Int) -> Bool
toList : forall {a : Type} . (Graph a) -> List a
transpose : forall {a : Type} . (Graph a) -> Graph a
add : Int -> Int -> Int
size : forall {a : Type} . (Graph (a [0])) -> Int
Count number of leaves of the graph expression
vertexcount : forall {a : Type} . (Graph (a [0])) -> Int