build devShells.x86_64-linux.ghc948
979.93 s
[algebraic-graphs] ============ Count Int: instances ============
979.93 s
[algebraic-graphs] OK: Semiring
979.93 s
[algebraic-graphs] OK: StarSemiring
979.93 s
[algebraic-graphs]
979.93 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.consistent ============
979.93 s
[algebraic-graphs] OK: arbitraryLabelledAdjacencyMap
979.93 s
[algebraic-graphs] OK: empty
979.93 s
[algebraic-graphs] OK: vertex
979.93 s
[algebraic-graphs] OK: edge
979.93 s
[algebraic-graphs] OK: overlay
979.93 s
[algebraic-graphs] OK: connect
979.93 s
[algebraic-graphs] OK: vertices
979.93 s
[algebraic-graphs] OK: edges
979.93 s
[algebraic-graphs] OK: overlays
979.93 s
[algebraic-graphs] OK: fromAdjacencyMaps
979.93 s
[algebraic-graphs] OK: removeVertex
979.93 s
[algebraic-graphs] OK: removeEdge
979.93 s
[algebraic-graphs] OK: replaceVertex
979.93 s
[algebraic-graphs] OK: replaceEdge
979.93 s
[algebraic-graphs] OK: transpose
979.93 s
[algebraic-graphs] OK: gmap
979.93 s
[algebraic-graphs] OK: emap
979.93 s
[algebraic-graphs] OK: induce
979.93 s
[algebraic-graphs] OK: closure
979.93 s
[algebraic-graphs] OK: reflexiveClosure
979.93 s
[algebraic-graphs] OK: symmetricClosure
979.93 s
[algebraic-graphs] OK: transitiveClosure
979.93 s
[algebraic-graphs]
979.93 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.empty ============
979.93 s
[algebraic-graphs] OK: isEmpty empty == True
979.93 s
[algebraic-graphs] OK: hasVertex x empty == False
979.93 s
[algebraic-graphs] OK: vertexCount empty == 0
979.93 s
[algebraic-graphs] OK: edgeCount empty == 0
979.93 s
[algebraic-graphs]
979.93 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.vertex ============
979.93 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
979.93 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
979.93 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
979.93 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
979.93 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.edge ============
982.19 s
[algebraic-graphs] OK: edge e x y == connect e (vertex x) (vertex y)
982.19 s
[algebraic-graphs] OK: edge zero x y == vertices [x,y]
982.19 s
[algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= mempty)
982.19 s
[algebraic-graphs] OK: edgeLabel x y (edge e x y) == e
982.19 s
[algebraic-graphs] OK: edgeCount (edge e x y) == if e == mempty then 0 else 1
982.19 s
[algebraic-graphs] OK: vertexCount (edge e 1 1) == 1
982.19 s
[algebraic-graphs] OK: vertexCount (edge e 1 2) == 2
982.19 s
[algebraic-graphs] OK: x -<e>- y == edge e x y
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.overlay ============
982.19 s
[algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
982.19 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
982.19 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
982.19 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
982.19 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
982.19 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
982.19 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
982.19 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e
982.19 s
[algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e
982.19 s
[algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.connect ============
982.19 s
[algebraic-graphs] OK: isEmpty (connect e x y) == isEmpty x && isEmpty y
982.19 s
[algebraic-graphs] OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y
982.19 s
[algebraic-graphs] OK: vertexCount (connect e x y) >= vertexCount x
982.19 s
[algebraic-graphs] OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y
982.19 s
[algebraic-graphs] OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
982.19 s
[algebraic-graphs] OK: vertexCount (connect e 1 2) == 2
982.19 s
[algebraic-graphs] OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.vertices ============
982.19 s
[algebraic-graphs] OK: vertices [] == empty
982.19 s
[algebraic-graphs] OK: vertices [x] == vertex x
982.19 s
[algebraic-graphs] OK: vertices == overlays . map vertex
982.19 s
[algebraic-graphs] OK: hasVertex x . vertices == elem x
982.19 s
[algebraic-graphs] OK: vertexCount . vertices == length . nub
982.19 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.edges ============
982.19 s
[algebraic-graphs] OK: edges [] == empty
982.19 s
[algebraic-graphs] OK: edges [(e,x,y)] == edge e x y
982.19 s
[algebraic-graphs] OK: edges == overlays . map (\(e, x, y) -> edge e x y)
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.overlays ============
982.19 s
[algebraic-graphs] OK: overlays [] == empty
982.19 s
[algebraic-graphs] OK: overlays [x] == x
982.19 s
[algebraic-graphs] OK: overlays [x,y] == overlay x y
982.19 s
[algebraic-graphs] OK: overlays == foldr overlay empty
982.19 s
[algebraic-graphs] OK: isEmpty . overlays == all isEmpty
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.fromAdjacencyMaps ============
982.19 s
[algebraic-graphs] OK: fromAdjacencyMaps [] == empty
982.19 s
[algebraic-graphs] OK: fromAdjacencyMaps [(x, Map.empty)] == vertex x
982.19 s
[algebraic-graphs] OK: fromAdjacencyMaps [(x, Map.singleton y e)] == if e == zero then vertices [x,y] else edge e x y
982.19 s
[algebraic-graphs] OK: overlay (fromAdjacencyMaps xs) (fromAdjacencyMaps ys) == fromAdjacencyMaps (xs ++ ys)
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.isSubgraphOf ============
982.19 s
[algebraic-graphs] OK: isSubgraphOf empty x == True
982.19 s
[algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
982.19 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.isEmpty ============
982.19 s
[algebraic-graphs] OK: isEmpty empty == True
982.19 s
[algebraic-graphs] OK: isEmpty (overlay empty empty) == True
982.19 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
982.19 s
[algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
982.19 s
[algebraic-graphs] OK: isEmpty (removeEdge x y $ edge e x y) == False
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.hasVertex ============
982.19 s
[algebraic-graphs] OK: hasVertex x empty == False
982.19 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
982.19 s
[algebraic-graphs] OK: hasVertex x . removeVertex x == const False
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.hasEdge ============
982.19 s
[algebraic-graphs] OK: hasEdge x y empty == False
982.19 s
[algebraic-graphs] OK: hasEdge x y (vertex z) == False
982.19 s
[algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= zero)
982.19 s
[algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
982.19 s
[algebraic-graphs] OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.edgeLabel ============
982.19 s
[algebraic-graphs] OK: edgeLabel x y empty == zero
982.19 s
[algebraic-graphs] OK: edgeLabel x y (vertex z) == zero
982.19 s
[algebraic-graphs] OK: edgeLabel x y (edge e x y) == e
982.19 s
[algebraic-graphs] OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.vertexCount ============
982.19 s
[algebraic-graphs] OK: vertexCount empty == 0
982.19 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
982.19 s
[algebraic-graphs] OK: vertexCount == length . vertexList
982.19 s
[algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.edgeCount ============
982.19 s
[algebraic-graphs] OK: edgeCount empty == 0
982.19 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
982.19 s
[algebraic-graphs] OK: edgeCount (edge e x y) == if e == zero then 0 else 1
982.19 s
[algebraic-graphs] OK: edgeCount == length . edgeList
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.vertexList ============
982.19 s
[algebraic-graphs] OK: vertexList empty == []
982.19 s
[algebraic-graphs] OK: vertexList (vertex x) == [x]
982.19 s
[algebraic-graphs] OK: vertexList . vertices == nub . sort
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.edgeList ============
982.19 s
[algebraic-graphs] OK: edgeList empty == []
982.19 s
[algebraic-graphs] OK: edgeList (vertex x) == []
982.19 s
[algebraic-graphs] OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)]
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.vertexSet ============
982.19 s
[algebraic-graphs] OK: vertexSet empty == Set.empty
982.19 s
[algebraic-graphs] OK: vertexSet . vertex == Set.singleton
982.19 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.edgeSet ============
982.19 s
[algebraic-graphs] OK: edgeSet empty == Set.empty
982.19 s
[algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
982.19 s
[algebraic-graphs] OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y)
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.preSet ============
982.19 s
[algebraic-graphs] OK: preSet x empty == Set.empty
982.19 s
[algebraic-graphs] OK: preSet x (vertex x) == Set.empty
982.19 s
[algebraic-graphs] OK: preSet 1 (edge e 1 2) == Set.empty
982.19 s
[algebraic-graphs] OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x]
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.postSet ============
982.19 s
[algebraic-graphs] OK: postSet x empty == Set.empty
982.19 s
[algebraic-graphs] OK: postSet x (vertex x) == Set.empty
982.19 s
[algebraic-graphs] OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y]
982.19 s
[algebraic-graphs] OK: postSet 2 (edge e 1 2) == Set.empty
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.skeleton ============
982.19 s
[algebraic-graphs] OK: hasEdge x y == hasEdge x y . skeleton
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.removeVertex ============
982.19 s
[algebraic-graphs] OK: removeVertex x (vertex x) == empty
982.19 s
[algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
982.19 s
[algebraic-graphs] OK: removeVertex x (edge e x x) == empty
982.19 s
[algebraic-graphs] OK: removeVertex 1 (edge e 1 2) == vertex 2
982.19 s
[algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.removeEdge ============
982.19 s
[algebraic-graphs] OK: removeEdge x y (edge e x y) == vertices [x,y]
982.19 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
982.19 s
[algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
982.19 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
982.19 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.replaceVertex ============
982.19 s
[algebraic-graphs] OK: replaceVertex x x == id
982.19 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
982.19 s
[algebraic-graphs] OK: replaceVertex x y == gmap (\v -> if v == x then y else v)
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.replaceEdge ============
982.19 s
[algebraic-graphs] OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y)
982.19 s
[algebraic-graphs] OK: replaceEdge e x y (edge f x y) == edge e x y
982.19 s
[algebraic-graphs] OK: edgeLabel x y (replaceEdge e x y z) == e
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.transpose ============
982.19 s
[algebraic-graphs] OK: transpose empty == empty
982.19 s
[algebraic-graphs] OK: transpose (vertex x) == vertex x
982.19 s
[algebraic-graphs] OK: transpose (edge e x y) == edge e y x
982.19 s
[algebraic-graphs] OK: transpose . transpose == id
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.gmap ============
982.19 s
[algebraic-graphs] OK: gmap f empty == empty
982.19 s
[algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
982.19 s
[algebraic-graphs] OK: gmap f (edge e x y) == edge e (f x) (f y)
982.19 s
[algebraic-graphs] OK: gmap id == id
982.19 s
[algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.emap ============
982.19 s
[algebraic-graphs] OK: emap h empty == empty
982.19 s
[algebraic-graphs] OK: emap h (vertex x) == vertex x
982.19 s
[algebraic-graphs] OK: emap h (edge e x y) == edge (h e) x y
982.19 s
[algebraic-graphs] OK: emap h (overlay x y) == overlay (emap h x) (emap h y)
982.19 s
[algebraic-graphs] OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y)
982.19 s
[algebraic-graphs] OK: emap id == id
982.19 s
[algebraic-graphs] OK: emap g . emap h == emap (g . h)
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.induce ============
982.19 s
[algebraic-graphs] OK: induce (const True ) x == x
982.19 s
[algebraic-graphs] OK: induce (const False) x == empty
982.19 s
[algebraic-graphs] OK: induce (/= x) == removeVertex x
982.19 s
[algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
982.19 s
[algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
982.19 s
[algebraic-graphs]
982.19 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.induceJust ============
983.30 s
[algebraic-graphs] OK: induceJust (vertex Nothing) == empty
983.30 s
[algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
983.30 s
[algebraic-graphs] OK: induceJust . gmap Just == id
983.30 s
[algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.closure ============
983.30 s
[algebraic-graphs] OK: closure empty == empty
983.30 s
[algebraic-graphs] OK: closure (vertex x) == edge one x x
983.30 s
[algebraic-graphs] OK: closure (edge e x x) == edge one x x
983.30 s
[algebraic-graphs] OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
983.30 s
[algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
983.30 s
[algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
983.30 s
[algebraic-graphs] OK: closure . closure == closure
983.30 s
[algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.reflexiveClosure ============
983.30 s
[algebraic-graphs] OK: reflexiveClosure empty == empty
983.30 s
[algebraic-graphs] OK: reflexiveClosure (vertex x) == edge one x x
983.30 s
[algebraic-graphs] OK: reflexiveClosure (edge e x x) == edge one x x
983.30 s
[algebraic-graphs] OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
983.30 s
[algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.symmetricClosure ============
983.30 s
[algebraic-graphs] OK: symmetricClosure empty == empty
983.30 s
[algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
983.30 s
[algebraic-graphs] OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)]
983.30 s
[algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
983.30 s
[algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.AdjacencyMap.transitiveClosure ============
983.30 s
[algebraic-graphs] OK: transitiveClosure empty == empty
983.30 s
[algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
983.30 s
[algebraic-graphs] OK: transitiveClosure (edge e x y) == edge e x y
983.30 s
[algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.empty ============
983.30 s
[algebraic-graphs] OK: isEmpty empty == True
983.30 s
[algebraic-graphs] OK: hasVertex x empty == False
983.30 s
[algebraic-graphs] OK: vertexCount empty == 0
983.30 s
[algebraic-graphs] OK: edgeCount empty == 0
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.vertex ============
983.30 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
983.30 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
983.30 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
983.30 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.edge ============
983.30 s
[algebraic-graphs] OK: edge e x y == connect e (vertex x) (vertex y)
983.30 s
[algebraic-graphs] OK: edge zero x y == vertices [x,y]
983.30 s
[algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= mempty)
983.30 s
[algebraic-graphs] OK: edgeLabel x y (edge e x y) == e
983.30 s
[algebraic-graphs] OK: edgeCount (edge e x y) == if e == mempty then 0 else 1
983.30 s
[algebraic-graphs] OK: vertexCount (edge e 1 1) == 1
983.30 s
[algebraic-graphs] OK: vertexCount (edge e 1 2) == 2
983.30 s
[algebraic-graphs] OK: x -<e>- y == edge e x y
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.overlay ============
983.30 s
[algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
983.30 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
983.30 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
983.30 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
983.30 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
983.30 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
983.30 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
983.30 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e
983.30 s
[algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e
983.30 s
[algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.connect ============
983.30 s
[algebraic-graphs] OK: isEmpty (connect e x y) == isEmpty x && isEmpty y
983.30 s
[algebraic-graphs] OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y
983.30 s
[algebraic-graphs] OK: vertexCount (connect e x y) >= vertexCount x
983.30 s
[algebraic-graphs] OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y
983.30 s
[algebraic-graphs] OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
983.30 s
[algebraic-graphs] OK: vertexCount (connect e 1 2) == 2
983.30 s
[algebraic-graphs] OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.vertices ============
983.30 s
[algebraic-graphs] OK: vertices [] == empty
983.30 s
[algebraic-graphs] OK: vertices [x] == vertex x
983.30 s
[algebraic-graphs] OK: vertices == overlays . map vertex
983.30 s
[algebraic-graphs] OK: hasVertex x . vertices == elem x
983.30 s
[algebraic-graphs] OK: vertexCount . vertices == length . nub
983.30 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.edges ============
983.30 s
[algebraic-graphs] OK: edges [] == empty
983.30 s
[algebraic-graphs] OK: edges [(e,x,y)] == edge e x y
983.30 s
[algebraic-graphs] OK: edges == overlays . map (\(e, x, y) -> edge e x y)
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.overlays ============
983.30 s
[algebraic-graphs] OK: overlays [] == empty
983.30 s
[algebraic-graphs] OK: overlays [x] == x
983.30 s
[algebraic-graphs] OK: overlays [x,y] == overlay x y
983.30 s
[algebraic-graphs] OK: overlays == foldr overlay empty
983.30 s
[algebraic-graphs] OK: isEmpty . overlays == all isEmpty
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.foldg ============
983.30 s
[algebraic-graphs] OK: foldg empty vertex connect == id
983.30 s
[algebraic-graphs] OK: foldg empty vertex (fmap flip connect) == transpose
983.30 s
[algebraic-graphs] OK: foldg 1 (const 1) (const (+)) == size
983.30 s
[algebraic-graphs] OK: foldg True (const False) (const (&&)) == isEmpty
983.30 s
[algebraic-graphs] OK: foldg False (== x) (const (||)) == hasVertex x
983.30 s
[algebraic-graphs] OK: foldg Set.empty Set.singleton (const Set.union) == vertexSet
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.buildg ============
983.30 s
[algebraic-graphs] OK: buildg (\e _ _ -> e) == empty
983.30 s
[algebraic-graphs] OK: buildg (\_ v _ -> v x) == vertex x
983.30 s
[algebraic-graphs] OK: buildg (\e v c -> c l (foldg e v c x) (foldg e v c y)) == connect l x y
983.30 s
[algebraic-graphs] OK: buildg (\e v c -> foldr (c zero) e (map v xs)) == vertices xs
983.30 s
[algebraic-graphs] OK: buildg (\e v c -> foldg e v (flip c) g) == transpose g
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.isSubgraphOf ============
983.30 s
[algebraic-graphs] OK: isSubgraphOf empty x == True
983.30 s
[algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
983.30 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.isEmpty ============
983.30 s
[algebraic-graphs] OK: isEmpty empty == True
983.30 s
[algebraic-graphs] OK: isEmpty (overlay empty empty) == True
983.30 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
983.30 s
[algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
983.30 s
[algebraic-graphs] OK: isEmpty (removeEdge x y $ edge e x y) == False
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.size ============
983.30 s
[algebraic-graphs] OK: size empty == 1
983.30 s
[algebraic-graphs] OK: size (vertex x) == 1
983.30 s
[algebraic-graphs] OK: size (overlay x y) == size x + size y
983.30 s
[algebraic-graphs] OK: size (connect x y) == size x + size y
983.30 s
[algebraic-graphs] OK: size x >= 1
983.30 s
[algebraic-graphs] OK: size x >= vertexCount x
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.hasVertex ============
983.30 s
[algebraic-graphs] OK: hasVertex x empty == False
983.30 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
983.30 s
[algebraic-graphs] OK: hasVertex x . removeVertex x == const False
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.hasEdge ============
983.30 s
[algebraic-graphs] OK: hasEdge x y empty == False
983.30 s
[algebraic-graphs] OK: hasEdge x y (vertex z) == False
983.30 s
[algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= zero)
983.30 s
[algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
983.30 s
[algebraic-graphs] OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.edgeLabel ============
983.30 s
[algebraic-graphs] OK: edgeLabel x y empty == zero
983.30 s
[algebraic-graphs] OK: edgeLabel x y (vertex z) == zero
983.30 s
[algebraic-graphs] OK: edgeLabel x y (edge e x y) == e
983.30 s
[algebraic-graphs] OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.vertexCount ============
983.30 s
[algebraic-graphs] OK: vertexCount empty == 0
983.30 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
983.30 s
[algebraic-graphs] OK: vertexCount == length . vertexList
983.30 s
[algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.edgeCount ============
983.30 s
[algebraic-graphs] OK: edgeCount empty == 0
983.30 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
983.30 s
[algebraic-graphs] OK: edgeCount (edge e x y) == if e == zero then 0 else 1
983.30 s
[algebraic-graphs] OK: edgeCount == length . edgeList
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.vertexList ============
983.30 s
[algebraic-graphs] OK: vertexList empty == []
983.30 s
[algebraic-graphs] OK: vertexList (vertex x) == [x]
983.30 s
[algebraic-graphs] OK: vertexList . vertices == nub . sort
983.30 s
[algebraic-graphs]
983.30 s
[algebraic-graphs] ============ Labelled.Graph.edgeList ============
983.30 s
[algebraic-graphs] OK: edgeList empty == []
983.31 s
[algebraic-graphs] OK: edgeList (vertex x) == []
983.31 s
[algebraic-graphs] OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)]
983.31 s
[algebraic-graphs]
983.31 s
[algebraic-graphs] ============ Labelled.Graph.vertexSet ============
983.31 s
[algebraic-graphs] OK: vertexSet empty == Set.empty
983.31 s
[algebraic-graphs] OK: vertexSet . vertex == Set.singleton
983.31 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
983.31 s
[algebraic-graphs]
983.31 s
[algebraic-graphs] ============ Labelled.Graph.edgeSet ============
983.31 s
[algebraic-graphs] OK: edgeSet empty == Set.empty
983.31 s
[algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
983.31 s
[algebraic-graphs] OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y)
983.31 s
[algebraic-graphs]
983.31 s
[algebraic-graphs] ============ Labelled.Graph.preSet ============
983.31 s
[algebraic-graphs] OK: preSet x empty == Set.empty
983.31 s
[algebraic-graphs] OK: preSet x (vertex x) == Set.empty
985.84 s
[algebraic-graphs] OK: preSet 1 (edge e 1 2) == Set.empty
986.00 s
[algebraic-graphs] OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x]
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.postSet ============
986.00 s
[algebraic-graphs] OK: postSet x empty == Set.empty
986.00 s
[algebraic-graphs] OK: postSet x (vertex x) == Set.empty
986.00 s
[algebraic-graphs] OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y]
986.00 s
[algebraic-graphs] OK: postSet 2 (edge e 1 2) == Set.empty
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.removeVertex ============
986.00 s
[algebraic-graphs] OK: removeVertex x (vertex x) == empty
986.00 s
[algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
986.00 s
[algebraic-graphs] OK: removeVertex x (edge e x x) == empty
986.00 s
[algebraic-graphs] OK: removeVertex 1 (edge e 1 2) == vertex 2
986.00 s
[algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.removeEdge ============
986.00 s
[algebraic-graphs] OK: removeEdge x y (edge e x y) == vertices [x,y]
986.00 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
986.00 s
[algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
986.00 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
986.00 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.replaceVertex ============
986.00 s
[algebraic-graphs] OK: replaceVertex x x == id
986.00 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
986.00 s
[algebraic-graphs] OK: replaceVertex x y == fmap (\v -> if v == x then y else v)
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.replaceEdge ============
986.00 s
[algebraic-graphs] OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y)
986.00 s
[algebraic-graphs] OK: replaceEdge e x y (edge f x y) == edge e x y
986.00 s
[algebraic-graphs] OK: edgeLabel x y (replaceEdge e x y z) == e
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.transpose ============
986.00 s
[algebraic-graphs] OK: transpose empty == empty
986.00 s
[algebraic-graphs] OK: transpose (vertex x) == vertex x
986.00 s
[algebraic-graphs] OK: transpose (edge e x y) == edge e y x
986.00 s
[algebraic-graphs] OK: transpose . transpose == id
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.fmap ============
986.00 s
[algebraic-graphs] OK: fmap f empty == empty
986.00 s
[algebraic-graphs] OK: fmap f (vertex x) == vertex (f x)
986.00 s
[algebraic-graphs] OK: fmap f (edge e x y) == edge e (f x) (f y)
986.00 s
[algebraic-graphs] OK: fmap id == id
986.00 s
[algebraic-graphs] OK: fmap f . fmap g == fmap (f . g)
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.emap ============
986.00 s
[algebraic-graphs] OK: emap h empty == empty
986.00 s
[algebraic-graphs] OK: emap h (vertex x) == vertex x
986.00 s
[algebraic-graphs] OK: emap h (edge e x y) == edge (h e) x y
986.00 s
[algebraic-graphs] OK: emap h (overlay x y) == overlay (emap h x) (emap h y)
986.00 s
[algebraic-graphs] OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y)
986.00 s
[algebraic-graphs] OK: emap id == id
986.00 s
[algebraic-graphs] OK: emap g . emap h == emap (g . h)
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.induce ============
986.00 s
[algebraic-graphs] OK: induce (const True ) x == x
986.00 s
[algebraic-graphs] OK: induce (const False) x == empty
986.00 s
[algebraic-graphs] OK: induce (/= x) == removeVertex x
986.00 s
[algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
986.00 s
[algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.induceJust ============
986.00 s
[algebraic-graphs] OK: induceJust (vertex Nothing) == empty
986.00 s
[algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
986.00 s
[algebraic-graphs] OK: induceJust . gmap Just == id
986.00 s
[algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.closure ============
986.00 s
[algebraic-graphs] OK: closure empty == empty
986.00 s
[algebraic-graphs] OK: closure (vertex x) == edge one x x
986.00 s
[algebraic-graphs] OK: closure (edge e x x) == edge one x x
986.00 s
[algebraic-graphs] OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
986.00 s
[algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
986.00 s
[algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
986.00 s
[algebraic-graphs] OK: closure . closure == closure
986.00 s
[algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.reflexiveClosure ============
986.00 s
[algebraic-graphs] OK: reflexiveClosure empty == empty
986.00 s
[algebraic-graphs] OK: reflexiveClosure (vertex x) == edge one x x
986.00 s
[algebraic-graphs] OK: reflexiveClosure (edge e x x) == edge one x x
986.00 s
[algebraic-graphs] OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
986.00 s
[algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.symmetricClosure ============
986.00 s
[algebraic-graphs] OK: symmetricClosure empty == empty
986.00 s
[algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
986.00 s
[algebraic-graphs] OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)]
986.00 s
[algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
986.00 s
[algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
986.00 s
[algebraic-graphs]
986.00 s
[algebraic-graphs] ============ Labelled.Graph.transitiveClosure ============
986.00 s
[algebraic-graphs] OK: transitiveClosure empty == empty
986.01 s
[algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
986.01 s
[algebraic-graphs] OK: transitiveClosure (edge e x y) == edge e x y
986.01 s
[algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ Labelled.Graph.context ============
986.01 s
[algebraic-graphs] OK: context (const False) x == Nothing
986.01 s
[algebraic-graphs] OK: context (== 1) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [] [(e,2)])
986.01 s
[algebraic-graphs] OK: context (== 2) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [] )
986.01 s
[algebraic-graphs] OK: context (const True ) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [(e,2)])
986.01 s
[algebraic-graphs] OK: context (== 4) (3 * 1 * 4 * 1 * 5) == Just (Context [(one,3), (one,1)] [(one,1), (one,5)])
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap ============
986.01 s
[algebraic-graphs] OK: Axioms of non-empty graphs
986.01 s
[algebraic-graphs] OK: Theorems of non-empty graphs
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ Ord (NonEmpty.AdjacencyMap a) ============
986.01 s
[algebraic-graphs] OK: vertex 1 < vertex 2
986.01 s
[algebraic-graphs] OK: vertex 3 < edge 1 2
986.01 s
[algebraic-graphs] OK: vertex 1 < edge 1 1
986.01 s
[algebraic-graphs] OK: edge 1 1 < edge 1 2
986.01 s
[algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
986.01 s
[algebraic-graphs] OK: edge 1 2 < edge 1 3
986.01 s
[algebraic-graphs] OK: x <= x + y
986.01 s
[algebraic-graphs] OK: x + y <= x * y
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ Show (NonEmpty.AdjacencyMap a) ============
986.01 s
[algebraic-graphs] OK: show (1 :: AdjacencyMap Int) == "vertex 1"
986.01 s
[algebraic-graphs] OK: show (1 + 2 :: AdjacencyMap Int) == "vertices1 [1,2]"
986.01 s
[algebraic-graphs] OK: show (1 * 2 :: AdjacencyMap Int) == "edge 1 2"
986.01 s
[algebraic-graphs] OK: show (1 * 2 * 3 :: AdjacencyMap Int) == "edges1 [(1,2),(1,3),(2,3)]"
986.01 s
[algebraic-graphs] OK: show (1 * 2 + 3 :: AdjacencyMap Int) == "overlay (vertex 3) (edge 1 2)"
986.01 s
[algebraic-graphs] OK: show (vertex (-1) :: AdjacencyMap Int) == "vertex (-1)"
986.01 s
[algebraic-graphs] OK: show (vertex (-1) + vertex (-2) :: AdjacencyMap Int) == "vertices1 [-2,-1]"
986.01 s
[algebraic-graphs] OK: show (vertex (-1) * vertex (-2) :: AdjacencyMap Int) == "edge (-1) (-2)"
986.01 s
[algebraic-graphs] OK: show (vertex (-1) * vertex (-2) * vertex (-3) :: AdjacencyMap Int) == "edges1 [(-2,-3),(-1,-3),(-1,-2)]"
986.01 s
[algebraic-graphs] OK: show (vertex (-1) * vertex (-2) + vertex (-3) :: AdjacencyMap Int) == "overlay (vertex (-3)) (edge (-1) (-2))"
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.toNonEmpty ============
986.01 s
[algebraic-graphs] OK: toNonEmpty empty == Nothing
986.01 s
[algebraic-graphs] OK: toNonEmpty . fromNonEmpty == Just
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.fromNonEmpty ============
986.01 s
[algebraic-graphs] OK: isEmpty . fromNonEmpty == const False
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertex ============
986.01 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
986.01 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
986.01 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.edge ============
986.01 s
[algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
986.01 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
986.01 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
986.01 s
[algebraic-graphs] OK: vertexCount (edge 1 1) == 1
986.01 s
[algebraic-graphs] OK: vertexCount (edge 1 2) == 2
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.overlay ============
986.01 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
986.01 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
986.01 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
986.01 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
986.01 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
986.01 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
986.01 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.connect ============
986.01 s
[algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
986.01 s
[algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
986.01 s
[algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
986.01 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
986.01 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
986.01 s
[algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
986.01 s
[algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
986.01 s
[algebraic-graphs] OK: vertexCount (connect 1 2) == 2
986.01 s
[algebraic-graphs] OK: edgeCount (connect 1 2) == 1
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertices1 ============
986.01 s
[algebraic-graphs] OK: vertices1 [x] == vertex x
986.01 s
[algebraic-graphs] OK: hasVertex x . vertices1 == elem x
986.01 s
[algebraic-graphs] OK: vertexCount . vertices1 == length . nub
986.01 s
[algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
986.01 s
[algebraic-graphs]
986.01 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.edges1 ============
986.01 s
[algebraic-graphs] OK: edges1 [(x,y)] == edge x y
986.01 s
[algebraic-graphs] OK: edges1 == overlays1 . fmap (uncurry edge)
986.01 s
[algebraic-graphs] OK: edgeCount . edges1 == length . nub
986.01 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.overlays1 ============
988.72 s
[algebraic-graphs] OK: overlays1 [x] == x
988.72 s
[algebraic-graphs] OK: overlays1 [x,y] == overlay x y
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.connects1 ============
988.72 s
[algebraic-graphs] OK: connects1 [x] == x
988.72 s
[algebraic-graphs] OK: connects1 [x,y] == connect x y
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.isSubgraphOf ============
988.72 s
[algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
988.72 s
[algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
988.72 s
[algebraic-graphs] OK: isSubgraphOf (path1 xs) (circuit1 xs) == True
988.72 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.hasVertex ============
988.72 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.hasEdge ============
988.72 s
[algebraic-graphs] OK: hasEdge x y (vertex z) == False
988.72 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
988.72 s
[algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
988.72 s
[algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexCount ============
988.72 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
988.72 s
[algebraic-graphs] OK: vertexCount x >= 1
988.72 s
[algebraic-graphs] OK: vertexCount == length . vertexList1
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeCount ============
988.72 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
988.72 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
988.72 s
[algebraic-graphs] OK: edgeCount == length . edgeList
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexList1 ============
988.72 s
[algebraic-graphs] OK: vertexList1 (vertex x) == [x]
988.72 s
[algebraic-graphs] OK: vertexList1 . vertices1 == nub . sort
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeList ============
988.72 s
[algebraic-graphs] OK: edgeList (vertex x) == []
988.72 s
[algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
988.72 s
[algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
988.72 s
[algebraic-graphs] OK: edgeList . edges1 == nub . sort . toList
988.72 s
[algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexSet ============
988.72 s
[algebraic-graphs] OK: vertexSet . vertex == Set.singleton
988.72 s
[algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
988.72 s
[algebraic-graphs] OK: vertexSet . clique1 == Set.fromList . toList
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeSet ============
988.72 s
[algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
988.72 s
[algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
988.72 s
[algebraic-graphs] OK: edgeSet . edges1 == Set.fromList . toList
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.preSet ============
988.72 s
[algebraic-graphs] OK: preSet x (vertex x) == Set.empty
988.72 s
[algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty
988.72 s
[algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x]
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.postSet ============
988.72 s
[algebraic-graphs] OK: postSet x (vertex x) == Set.empty
988.72 s
[algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y]
988.72 s
[algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.path1 ============
988.72 s
[algebraic-graphs] OK: path1 [x] == vertex x
988.72 s
[algebraic-graphs] OK: path1 [x,y] == edge x y
988.72 s
[algebraic-graphs] OK: path1 . reverse == transpose . path1
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.circuit1 ============
988.72 s
[algebraic-graphs] OK: circuit1 [x] == edge x x
988.72 s
[algebraic-graphs] OK: circuit1 [x,y] == edges1 [(x,y), (y,x)]
988.72 s
[algebraic-graphs] OK: circuit1 . reverse == transpose . circuit1
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.clique1 ============
988.72 s
[algebraic-graphs] OK: clique1 [x] == vertex x
988.72 s
[algebraic-graphs] OK: clique1 [x,y] == edge x y
988.72 s
[algebraic-graphs] OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)]
988.72 s
[algebraic-graphs] OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys)
988.72 s
[algebraic-graphs] OK: clique1 . reverse == transpose . clique1
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.biclique1 ============
988.72 s
[algebraic-graphs] OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
988.72 s
[algebraic-graphs] OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.star ============
988.72 s
[algebraic-graphs] OK: star x [] == vertex x
988.72 s
[algebraic-graphs] OK: star x [y] == edge x y
988.72 s
[algebraic-graphs] OK: star x [y,z] == edges1 [(x,y), (x,z)]
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.stars1 ============
988.72 s
[algebraic-graphs] OK: stars1 [(x, [] )] == vertex x
988.72 s
[algebraic-graphs] OK: stars1 [(x, [y])] == edge x y
988.72 s
[algebraic-graphs] OK: stars1 [(x, ys )] == star x ys
988.72 s
[algebraic-graphs] OK: stars1 == overlays1 . fmap (uncurry star)
988.72 s
[algebraic-graphs] OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.tree ============
988.72 s
[algebraic-graphs] OK: tree (Node x []) == vertex x
988.72 s
[algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z]
988.72 s
[algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
988.72 s
[algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)]
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.removeVertex1 ============
988.72 s
[algebraic-graphs] OK: removeVertex1 x (vertex x) == Nothing
988.72 s
[algebraic-graphs] OK: removeVertex1 1 (vertex 2) == Just (vertex 2)
988.72 s
[algebraic-graphs] OK: removeVertex1 x (edge x x) == Nothing
988.72 s
[algebraic-graphs] OK: removeVertex1 1 (edge 1 2) == Just (vertex 2)
988.72 s
[algebraic-graphs] OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.removeEdge ============
988.72 s
[algebraic-graphs] OK: removeEdge x y (edge x y) == vertices1 [x,y]
988.72 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
988.72 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
988.72 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.replaceVertex ============
988.72 s
[algebraic-graphs] OK: replaceVertex x x == id
988.72 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
988.72 s
[algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.mergeVertices ============
988.72 s
[algebraic-graphs] OK: mergeVertices (const False) x == id
988.72 s
[algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
988.72 s
[algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
988.72 s
[algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.transpose ============
988.72 s
[algebraic-graphs] OK: transpose (vertex x) == vertex x
988.72 s
[algebraic-graphs] OK: transpose (edge x y) == edge y x
988.72 s
[algebraic-graphs] OK: transpose . transpose == id
988.72 s
[algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.gmap ============
988.72 s
[algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
988.72 s
[algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
988.72 s
[algebraic-graphs] OK: gmap id == id
988.72 s
[algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.induce1 ============
988.72 s
[algebraic-graphs] OK: induce1 (const True ) x == Just x
988.72 s
[algebraic-graphs] OK: induce1 (const False) x == Nothing
988.72 s
[algebraic-graphs] OK: induce1 (/= x) == removeVertex1 x
988.72 s
[algebraic-graphs] OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.induceJust1 ============
988.72 s
[algebraic-graphs] OK: induceJust1 (vertex Nothing) == Nothing
988.72 s
[algebraic-graphs] OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x)
988.72 s
[algebraic-graphs] OK: induceJust1 . gmap Just == Just
988.72 s
[algebraic-graphs] OK: induceJust1 . gmap (\x -> if p x then Just x else Nothing) == induce1 p
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.closure ============
988.72 s
[algebraic-graphs] OK: closure (vertex x) == edge x x
988.72 s
[algebraic-graphs] OK: closure (edge x x) == edge x x
988.72 s
[algebraic-graphs] OK: closure (edge x y) == edges1 [(x,x), (x,y), (y,y)]
988.72 s
[algebraic-graphs] OK: closure (path1 $ nub xs) == reflexiveClosure (clique1 $ nub xs)
988.72 s
[algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
988.72 s
[algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
988.72 s
[algebraic-graphs] OK: closure . closure == closure
988.72 s
[algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.reflexiveClosure ============
988.72 s
[algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x
988.72 s
[algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x
988.72 s
[algebraic-graphs] OK: reflexiveClosure (edge x y) == edges1 [(x,x), (x,y), (y,y)]
988.72 s
[algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.symmetricClosure ============
988.72 s
[algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
988.72 s
[algebraic-graphs] OK: symmetricClosure (edge x y) == edges1 [(x,y), (y,x)]
988.72 s
[algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
988.72 s
[algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.AdjacencyMap.transitiveClosure ============
988.72 s
[algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
988.72 s
[algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y
988.72 s
[algebraic-graphs] OK: transitiveClosure (path1 $ nub xs) == clique1 (nub $ xs)
988.72 s
[algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ NonEmpty.Graph.============
988.72 s
[algebraic-graphs] OK: Axioms of non-empty graphs
988.72 s
[algebraic-graphs] OK: Theorems of non-empty graphs
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ Ord (NonEmpty.Graph a) ============
988.72 s
[algebraic-graphs] OK: vertex 1 < vertex 2
988.72 s
[algebraic-graphs] OK: vertex 3 < edge 1 2
988.72 s
[algebraic-graphs] OK: vertex 1 < edge 1 1
988.72 s
[algebraic-graphs] OK: edge 1 1 < edge 1 2
988.72 s
[algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
988.72 s
[algebraic-graphs] OK: edge 1 2 < edge 1 3
988.72 s
[algebraic-graphs] OK: x <= x + y
988.72 s
[algebraic-graphs] OK: x + y <= x * y
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ Functor (NonEmpty.Graph a) ============
988.72 s
[algebraic-graphs] OK: fmap f (vertex x) == vertex (f x)
988.72 s
[algebraic-graphs] OK: fmap f (edge x y) == edge (f x) (f y)
988.72 s
[algebraic-graphs] OK: fmap id == id
988.72 s
[algebraic-graphs] OK: fmap f . fmap g == fmap (f . g)
988.72 s
[algebraic-graphs]
988.72 s
[algebraic-graphs] ============ Monad (NonEmpty.Graph a) ============
988.72 s
[algebraic-graphs] OK: (vertex x >>= f) == f x
990.04 s
[algebraic-graphs] OK: (edge x y >>= f) == connect (f x) (f y)
990.04 s
[algebraic-graphs] OK: (vertices1 xs >>= f) == overlays1 (fmap f xs)
990.04 s
[algebraic-graphs] OK: (x >>= vertex) == x
990.04 s
[algebraic-graphs] OK: ((x >>= f) >>= g) == (x >>= (\y -> (f y) >>= g))
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.toNonEmpty ============
990.04 s
[algebraic-graphs] OK: toNonEmpty empty == Nothing
990.04 s
[algebraic-graphs] OK: toNonEmpty (toGraph x) == Just (x :: NonEmpty.Graph a)
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.vertex ============
990.04 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
990.04 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
990.04 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
990.04 s
[algebraic-graphs] OK: size (vertex x) == 1
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.edge ============
990.04 s
[algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
990.04 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
990.04 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
990.04 s
[algebraic-graphs] OK: vertexCount (edge 1 1) == 1
990.04 s
[algebraic-graphs] OK: vertexCount (edge 1 2) == 2
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.overlay ============
990.04 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
990.04 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
990.04 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
990.04 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
990.04 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
990.04 s
[algebraic-graphs] OK: size (overlay x y) == size x + size y
990.04 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
990.04 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.overlay1 ============
990.04 s
[algebraic-graphs] OK: overlay1 empty x == x
990.04 s
[algebraic-graphs] OK: x /= empty ==> overlay1 x y == overlay (fromJust $ toNonEmpty x) y
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.connect ============
990.04 s
[algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
990.04 s
[algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
990.04 s
[algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
990.04 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
990.04 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
990.04 s
[algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
990.04 s
[algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
990.04 s
[algebraic-graphs] OK: size (connect x y) == size x + size y
990.04 s
[algebraic-graphs] OK: vertexCount (connect 1 2) == 2
990.04 s
[algebraic-graphs] OK: edgeCount (connect 1 2) == 1
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.vertices1 ============
990.04 s
[algebraic-graphs] OK: vertices1 [x] == vertex x
990.04 s
[algebraic-graphs] OK: hasVertex x . vertices1 == elem x
990.04 s
[algebraic-graphs] OK: vertexCount . vertices1 == length . nub
990.04 s
[algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.edges1 ============
990.04 s
[algebraic-graphs] OK: edges1 [(x,y)] == edge x y
990.04 s
[algebraic-graphs] OK: edges1 == overlays1 . fmap (uncurry edge)
990.04 s
[algebraic-graphs] OK: edgeCount . edges1 == length . nub
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.overlays1 ============
990.04 s
[algebraic-graphs] OK: overlays1 [x] == x
990.04 s
[algebraic-graphs] OK: overlays1 [x,y] == overlay x y
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.connects1 ============
990.04 s
[algebraic-graphs] OK: connects1 [x] == x
990.04 s
[algebraic-graphs] OK: connects1 [x,y] == connect x y
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.foldg1 ============
990.04 s
[algebraic-graphs] OK: foldg1 vertex overlay connect == id
990.04 s
[algebraic-graphs] OK: foldg1 vertex overlay (flip connect) == transpose
990.04 s
[algebraic-graphs] OK: foldg1 (const 1) (+) (+) == size
990.04 s
[algebraic-graphs] OK: foldg1 (== x) (||) (||) == hasVertex x
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.isSubgraphOf ============
990.04 s
[algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
990.04 s
[algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
990.04 s
[algebraic-graphs] OK: isSubgraphOf (path1 xs) (circuit1 xs) == True
990.04 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.(===) ============
990.04 s
[algebraic-graphs] OK: x === x == True
990.04 s
[algebraic-graphs] OK: x + y === x + y == True
990.04 s
[algebraic-graphs] OK: 1 + 2 === 2 + 1 == False
990.04 s
[algebraic-graphs] OK: x + y === x * y == False
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.size ============
990.04 s
[algebraic-graphs] OK: size (vertex x) == 1
990.04 s
[algebraic-graphs] OK: size (overlay x y) == size x + size y
990.04 s
[algebraic-graphs] OK: size (connect x y) == size x + size y
990.04 s
[algebraic-graphs] OK: size x >= 1
990.04 s
[algebraic-graphs] OK: size x >= vertexCount x
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.hasVertex ============
990.04 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.hasEdge ============
990.04 s
[algebraic-graphs] OK: hasEdge x y (vertex z) == False
990.04 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
990.04 s
[algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
990.04 s
[algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.vertexCount ============
990.04 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
990.04 s
[algebraic-graphs] OK: vertexCount x >= 1
990.04 s
[algebraic-graphs] OK: vertexCount == length . vertexList1
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.edgeCount ============
990.04 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
990.04 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
990.04 s
[algebraic-graphs] OK: edgeCount == length . edgeList
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.vertexList1 ============
990.04 s
[algebraic-graphs] OK: vertexList1 (vertex x) == [x]
990.04 s
[algebraic-graphs] OK: vertexList1 . vertices1 == nub . sort
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.edgeList ============
990.04 s
[algebraic-graphs] OK: edgeList (vertex x) == []
990.04 s
[algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
990.04 s
[algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
990.04 s
[algebraic-graphs] OK: edgeList . edges1 == nub . sort . toList
990.04 s
[algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.vertexSet ============
990.04 s
[algebraic-graphs] OK: vertexSet . vertex == Set.singleton
990.04 s
[algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
990.04 s
[algebraic-graphs] OK: vertexSet . clique1 == Set.fromList . toList
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.edgeSet ============
990.04 s
[algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
990.04 s
[algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
990.04 s
[algebraic-graphs] OK: edgeSet . edges1 == Set.fromList . toList
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.path1 ============
990.04 s
[algebraic-graphs] OK: path1 [x] == vertex x
990.04 s
[algebraic-graphs] OK: path1 [x,y] == edge x y
990.04 s
[algebraic-graphs] OK: path1 . reverse == transpose . path1
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.circuit1 ============
990.04 s
[algebraic-graphs] OK: circuit1 [x] == edge x x
990.04 s
[algebraic-graphs] OK: circuit1 [x,y] == edges1 [(x,y), (y,x)]
990.04 s
[algebraic-graphs] OK: circuit1 . reverse == transpose . circuit1
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.clique1 ============
990.04 s
[algebraic-graphs] OK: clique1 [x] == vertex x
990.04 s
[algebraic-graphs] OK: clique1 [x,y] == edge x y
990.04 s
[algebraic-graphs] OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)]
990.04 s
[algebraic-graphs] OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys)
990.04 s
[algebraic-graphs] OK: clique1 . reverse == transpose . clique1
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.biclique1 ============
990.04 s
[algebraic-graphs] OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
990.04 s
[algebraic-graphs] OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys)
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.star ============
990.04 s
[algebraic-graphs] OK: star x [] == vertex x
990.04 s
[algebraic-graphs] OK: star x [y] == edge x y
990.04 s
[algebraic-graphs] OK: star x [y,z] == edges1 [(x,y), (x,z)]
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.stars1 ============
990.04 s
[algebraic-graphs] OK: stars1 [(x, [] )] == vertex x
990.04 s
[algebraic-graphs] OK: stars1 [(x, [y])] == edge x y
990.04 s
[algebraic-graphs] OK: stars1 [(x, ys )] == star x ys
990.04 s
[algebraic-graphs] OK: stars1 == overlays1 . fmap (uncurry star)
990.04 s
[algebraic-graphs] OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys)
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.tree ============
990.04 s
[algebraic-graphs] OK: tree (Node x []) == vertex x
990.04 s
[algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z]
990.04 s
[algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
990.04 s
[algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)]
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.mesh1 ============
990.04 s
[algebraic-graphs] OK: mesh1 [x] [y] == vertex (x, y)
990.04 s
[algebraic-graphs] OK: mesh1 xs ys == box (path1 xs) (path1 ys)
990.04 s
[algebraic-graphs] OK: mesh1 [1,2,3] ['a', 'b'] == <correct result>
990.04 s
[algebraic-graphs] OK: size (mesh xs ys) == max 1 (3 * length xs * length ys - length xs - length ys -1)
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.torus1 ============
990.04 s
[algebraic-graphs] OK: torus1 [x] [y] == edge (x,y) (x,y)
990.04 s
[algebraic-graphs] OK: torus1 xs ys == box (circuit1 xs) (circuit1 ys)
990.04 s
[algebraic-graphs] OK: torus1 [1,2] ['a', 'b'] == <correct result>
990.04 s
[algebraic-graphs] OK: size (torus1 xs ys) == max 1 (3 * length xs * length ys)
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.removeVertex1 ============
990.04 s
[algebraic-graphs] OK: removeVertex1 x (vertex x) == Nothing
990.04 s
[algebraic-graphs] OK: removeVertex1 1 (vertex 2) == Just (vertex 2)
990.04 s
[algebraic-graphs] OK: removeVertex1 x (edge x x) == Nothing
990.04 s
[algebraic-graphs] OK: removeVertex1 1 (edge 1 2) == Just (vertex 2)
990.04 s
[algebraic-graphs] OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.removeEdge ============
990.04 s
[algebraic-graphs] OK: removeEdge x y (edge x y) == vertices1 [x,y]
990.04 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
990.04 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
990.04 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
990.04 s
[algebraic-graphs] OK: size (removeEdge x y z) <= 3 * size z
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.replaceVertex ============
990.04 s
[algebraic-graphs] OK: replaceVertex x x == id
990.04 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
990.04 s
[algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
990.04 s
[algebraic-graphs]
990.04 s
[algebraic-graphs] ============ NonEmpty.Graph.mergeVertices ============
990.04 s
[algebraic-graphs] OK: mergeVertices (const False) x == id
995.96 s
[algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
995.96 s
[algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
996.00 s
[algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.splitVertex1 ============
996.00 s
[algebraic-graphs] OK: splitVertex1 x [x] == id
996.00 s
[algebraic-graphs] OK: splitVertex1 x [y] == replaceVertex x y
996.00 s
[algebraic-graphs] OK: splitVertex1 1 [0,1] $ 1 * (2 + 3) == (0 + 1) * (2 + 3)
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.transpose ============
996.00 s
[algebraic-graphs] OK: transpose (vertex x) == vertex x
996.00 s
[algebraic-graphs] OK: transpose (edge x y) == edge y x
996.00 s
[algebraic-graphs] OK: transpose . transpose == id
996.00 s
[algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y)
996.00 s
[algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.induce1 ============
996.00 s
[algebraic-graphs] OK: induce1 (const True ) x == Just x
996.00 s
[algebraic-graphs] OK: induce1 (const False) x == Nothing
996.00 s
[algebraic-graphs] OK: induce1 (/= x) == removeVertex1 x
996.00 s
[algebraic-graphs] OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x)
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.induceJust1 ============
996.00 s
[algebraic-graphs] OK: induceJust1 (vertex Nothing) == Nothing
996.00 s
[algebraic-graphs] OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x)
996.00 s
[algebraic-graphs] OK: induceJust1 . fmap Just == Just
996.00 s
[algebraic-graphs] OK: induceJust1 . fmap (\x -> if p x then Just x else Nothing) == induce1 p
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.simplify ============
996.00 s
[algebraic-graphs] OK: simplify == id
996.00 s
[algebraic-graphs] OK: size (simplify x) <= size x
996.00 s
[algebraic-graphs] OK: simplify 1 === 1
996.00 s
[algebraic-graphs] OK: simplify (1 + 1) === 1
996.00 s
[algebraic-graphs] OK: simplify (1 + 2 + 1) === 1 + 2
996.00 s
[algebraic-graphs] OK: simplify (1 * 1 * 1) === 1 * 1
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.sparsify ============
996.00 s
[algebraic-graphs] OK: sort . reachable x == sort . rights . reachable (sparsify x) . Right
996.00 s
[algebraic-graphs] OK: vertexCount (sparsify x) <= vertexCount x + size x + 1
996.00 s
[algebraic-graphs] OK: edgeCount (sparsify x) <= 3 * size x
996.00 s
[algebraic-graphs] OK: size (sparsify x) <= 3 * size x
996.00 s
[algebraic-graphs]
996.00 s
[algebraic-graphs] ============ NonEmpty.Graph.sparsifyKL ============
996.01 s
[algebraic-graphs] OK: sort . reachable x == sort . filter (<= n) . reachable (sparsifyKL n x)
996.01 s
[algebraic-graphs] OK: length (vertices $ sparsifyKL n x) <= vertexCount x + size x + 1
996.01 s
[algebraic-graphs] OK: length (edges $ sparsifyKL n x) <= 3 * size x
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ NonEmpty.Graph.box ============
996.01 s
[algebraic-graphs] OK: box (path1 [0,1]) (path1 ['a','b']) == <correct result>
996.01 s
[algebraic-graphs] OK: box x y ~~ box y x
996.01 s
[algebraic-graphs] OK: box x (overlay y z) == overlay (box x y) (box x z)
996.01 s
[algebraic-graphs] OK: box x (vertex ()) ~~ x
996.01 s
[algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z
996.01 s
[algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y)
996.01 s
[algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y
996.01 s
[algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation ============
996.01 s
[algebraic-graphs] OK: Axioms of graphs
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.consistent ============
996.01 s
[algebraic-graphs] OK: Consistency of the Arbitrary instance
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] OK: consistent empty == True
996.01 s
[algebraic-graphs] OK: consistent (vertex x) == True
996.01 s
[algebraic-graphs] OK: consistent (overlay x y) == True
996.01 s
[algebraic-graphs] OK: consistent (connect x y) == True
996.01 s
[algebraic-graphs] OK: consistent (edge x y) == True
996.01 s
[algebraic-graphs] OK: consistent (edges xs) == True
996.01 s
[algebraic-graphs] OK: consistent (stars xs) == True
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.Show ============
996.01 s
[algebraic-graphs] OK: show (empty ) == "empty"
996.01 s
[algebraic-graphs] OK: show (1 ) == "vertex 1"
996.01 s
[algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
996.01 s
[algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
996.01 s
[algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
996.01 s
[algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
996.01 s
[algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
996.01 s
[algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
996.01 s
[algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
996.01 s
[algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.Ord ============
996.01 s
[algebraic-graphs] OK: vertex 1 < vertex 2
996.01 s
[algebraic-graphs] OK: vertex 3 < edge 1 2
996.01 s
[algebraic-graphs] OK: vertex 1 < edge 1 1
996.01 s
[algebraic-graphs] OK: edge 1 1 < edge 1 2
996.01 s
[algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
996.01 s
[algebraic-graphs] OK: edge 1 2 < edge 1 3
996.01 s
[algebraic-graphs] OK: x <= x + y
996.01 s
[algebraic-graphs] OK: x + y <= x * y
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.empty ============
996.01 s
[algebraic-graphs] OK: isEmpty empty == True
996.01 s
[algebraic-graphs] OK: hasVertex x empty == False
996.01 s
[algebraic-graphs] OK: vertexCount empty == 0
996.01 s
[algebraic-graphs] OK: edgeCount empty == 0
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.vertex ============
996.01 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
996.01 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
996.01 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
996.01 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.edge ============
996.01 s
[algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
996.01 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
996.01 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
996.01 s
[algebraic-graphs] OK: vertexCount (edge 1 1) == 1
996.01 s
[algebraic-graphs] OK: vertexCount (edge 1 2) == 2
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.overlay ============
996.01 s
[algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
996.01 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
996.01 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
996.01 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
996.01 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
996.01 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
996.01 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
996.01 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.connect ============
996.01 s
[algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
996.01 s
[algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
996.01 s
[algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
996.01 s
[algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
996.01 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
996.01 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
996.01 s
[algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
996.01 s
[algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
996.01 s
[algebraic-graphs] OK: vertexCount (connect 1 2) == 2
996.01 s
[algebraic-graphs] OK: edgeCount (connect 1 2) == 1
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.vertices ============
996.01 s
[algebraic-graphs] OK: vertices [] == empty
996.01 s
[algebraic-graphs] OK: vertices [x] == vertex x
996.01 s
[algebraic-graphs] OK: vertices == overlays . map vertex
996.01 s
[algebraic-graphs] OK: hasVertex x . vertices == elem x
996.01 s
[algebraic-graphs] OK: vertexCount . vertices == length . nub
996.01 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.edges ============
996.01 s
[algebraic-graphs] OK: edges [] == empty
996.01 s
[algebraic-graphs] OK: edges [(x,y)] == edge x y
996.01 s
[algebraic-graphs] OK: edges == overlays . map (uncurry edge)
996.01 s
[algebraic-graphs] OK: edgeCount . edges == length . nub
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.overlays ============
996.01 s
[algebraic-graphs] OK: overlays [] == empty
996.01 s
[algebraic-graphs] OK: overlays [x] == x
996.01 s
[algebraic-graphs] OK: overlays [x,y] == overlay x y
996.01 s
[algebraic-graphs] OK: overlays == foldr overlay empty
996.01 s
[algebraic-graphs] OK: isEmpty . overlays == all isEmpty
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.connects ============
996.01 s
[algebraic-graphs] OK: connects [] == empty
996.01 s
[algebraic-graphs] OK: connects [x] == x
996.01 s
[algebraic-graphs] OK: connects [x,y] == connect x y
996.01 s
[algebraic-graphs] OK: connects == foldr connect empty
996.01 s
[algebraic-graphs] OK: isEmpty . connects == all isEmpty
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.isSubgraphOf ============
996.01 s
[algebraic-graphs] OK: isSubgraphOf empty x == True
996.01 s
[algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
996.01 s
[algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
996.01 s
[algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
996.01 s
[algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
996.01 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
996.01 s
[algebraic-graphs]
996.01 s
[algebraic-graphs] ============ Relation.toGraph et al. ============
996.01 s
[algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect
996.01 s
[algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph
996.01 s
[algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&)
996.01 s
[algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+)
996.01 s
[algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||)
996.01 s
[algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph
996.01 s
[algebraic-graphs] OK: vertexCount == Set.size . vertexSet
996.01 s
[algebraic-graphs] OK: edgeCount == Set.size . edgeSet
996.01 s
[algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet
996.01 s
[algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet
996.01 s
[algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union
996.01 s
[algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union
996.01 s
[algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect
996.01 s
[algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap
996.01 s
[algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap
996.01 s
[algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap
996.01 s
[algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap
999.12 s
[algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap
999.12 s
[algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose
999.12 s
[algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose
999.12 s
[algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect
999.12 s
[algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect)
999.12 s
[algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect
999.12 s
[algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect)
999.12 s
[algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap
999.12 s
[algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.foldg ============
999.12 s
[algebraic-graphs] OK: foldg empty vertex overlay connect == id
999.12 s
[algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose
999.12 s
[algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size
999.12 s
[algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.isEmpty ============
999.12 s
[algebraic-graphs] OK: isEmpty empty == True
999.12 s
[algebraic-graphs] OK: isEmpty (overlay empty empty) == True
999.12 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
999.12 s
[algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
999.12 s
[algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.hasVertex ============
999.12 s
[algebraic-graphs] OK: hasVertex x empty == False
999.12 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
999.12 s
[algebraic-graphs] OK: hasVertex x . removeVertex x == const False
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.hasEdge ============
999.12 s
[algebraic-graphs] OK: hasEdge x y empty == False
999.12 s
[algebraic-graphs] OK: hasEdge x y (vertex z) == False
999.12 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
999.12 s
[algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
999.12 s
[algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.vertexCount ============
999.12 s
[algebraic-graphs] OK: vertexCount empty == 0
999.12 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
999.12 s
[algebraic-graphs] OK: vertexCount == length . vertexList
999.12 s
[algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.edgeCount ============
999.12 s
[algebraic-graphs] OK: edgeCount empty == 0
999.12 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
999.12 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
999.12 s
[algebraic-graphs] OK: edgeCount == length . edgeList
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.vertexList ============
999.12 s
[algebraic-graphs] OK: vertexList empty == []
999.12 s
[algebraic-graphs] OK: vertexList (vertex x) == [x]
999.12 s
[algebraic-graphs] OK: vertexList . vertices == nub . sort
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.vertexSet ============
999.12 s
[algebraic-graphs] OK: vertexSet empty == Set.empty
999.12 s
[algebraic-graphs] OK: vertexSet . vertex == Set.singleton
999.12 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.vertexIntSet ============
999.12 s
[algebraic-graphs] OK: vertexIntSet empty == IntSet.empty
999.12 s
[algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton
999.12 s
[algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList
999.12 s
[algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.edgeList ============
999.12 s
[algebraic-graphs] OK: edgeList empty == []
999.12 s
[algebraic-graphs] OK: edgeList (vertex x) == []
999.12 s
[algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
999.12 s
[algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
999.12 s
[algebraic-graphs] OK: edgeList . edges == nub . sort
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.edgeSet ============
999.12 s
[algebraic-graphs] OK: edgeSet empty == Set.empty
999.12 s
[algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
999.12 s
[algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
999.12 s
[algebraic-graphs] OK: edgeSet . edges == Set.fromList
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.adjacencyList ============
999.12 s
[algebraic-graphs] OK: adjacencyList empty == []
999.12 s
[algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
999.12 s
[algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])]
999.12 s
[algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])]
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.preSet ============
999.12 s
[algebraic-graphs] OK: preSet x empty == Set.empty
999.12 s
[algebraic-graphs] OK: preSet x (vertex x) == Set.empty
999.12 s
[algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty
999.12 s
[algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x]
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.preIntSet ============
999.12 s
[algebraic-graphs] OK: preIntSet x empty == IntSet.empty
999.12 s
[algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty
999.12 s
[algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty
999.12 s
[algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x]
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.postSet ============
999.12 s
[algebraic-graphs] OK: postSet x empty == Set.empty
999.12 s
[algebraic-graphs] OK: postSet x (vertex x) == Set.empty
999.12 s
[algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y]
999.12 s
[algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.postIntSet ============
999.12 s
[algebraic-graphs] OK: postIntSet x empty == IntSet.empty
999.12 s
[algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty
999.12 s
[algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty
999.12 s
[algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y]
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.path ============
999.12 s
[algebraic-graphs] OK: path [] == empty
999.12 s
[algebraic-graphs] OK: path [x] == vertex x
999.12 s
[algebraic-graphs] OK: path [x,y] == edge x y
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.circuit ============
999.12 s
[algebraic-graphs] OK: circuit [] == empty
999.12 s
[algebraic-graphs] OK: circuit [x] == edge x x
999.12 s
[algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.clique ============
999.12 s
[algebraic-graphs] OK: clique [] == empty
999.12 s
[algebraic-graphs] OK: clique [x] == vertex x
999.12 s
[algebraic-graphs] OK: clique [x,y] == edge x y
999.12 s
[algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
999.12 s
[algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.biclique ============
999.12 s
[algebraic-graphs] OK: biclique [] [] == empty
999.12 s
[algebraic-graphs] OK: biclique [x] [] == vertex x
999.12 s
[algebraic-graphs] OK: biclique [] [y] == vertex y
999.12 s
[algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
999.12 s
[algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.star ============
999.12 s
[algebraic-graphs] OK: star x [] == vertex x
999.12 s
[algebraic-graphs] OK: star x [y] == edge x y
999.12 s
[algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
999.12 s
[algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.stars ============
999.12 s
[algebraic-graphs] OK: stars [] == empty
999.12 s
[algebraic-graphs] OK: stars [(x, [])] == vertex x
999.12 s
[algebraic-graphs] OK: stars [(x, [y])] == edge x y
999.12 s
[algebraic-graphs] OK: stars [(x, ys)] == star x ys
999.12 s
[algebraic-graphs] OK: stars == overlays . map (uncurry star)
999.12 s
[algebraic-graphs] OK: stars . adjacencyList == id
999.12 s
[algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.tree ============
999.12 s
[algebraic-graphs] OK: tree (Node x []) == vertex x
999.12 s
[algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
999.12 s
[algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
999.12 s
[algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.forest ============
999.12 s
[algebraic-graphs] OK: forest [] == empty
999.12 s
[algebraic-graphs] OK: forest [x] == tree x
999.12 s
[algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
999.12 s
[algebraic-graphs] OK: forest == overlays . map tree
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.removeVertex ============
999.12 s
[algebraic-graphs] OK: removeVertex x (vertex x) == empty
999.12 s
[algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
999.12 s
[algebraic-graphs] OK: removeVertex x (edge x x) == empty
999.12 s
[algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
999.12 s
[algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.removeEdge ============
999.12 s
[algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
999.12 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
999.12 s
[algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
999.12 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
999.12 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.replaceVertex ============
999.12 s
[algebraic-graphs] OK: replaceVertex x x == id
999.12 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
999.12 s
[algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
999.12 s
[algebraic-graphs]
999.12 s
[algebraic-graphs] ============ Relation.mergeVertices ============
999.12 s
[algebraic-graphs] OK: mergeVertices (const False) x == id
1019.16 s
Waiting for lock on pandoc-cli
1020.54 s
[algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
1020.54 s
[algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
1020.58 s
[algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.transpose ============
1020.58 s
[algebraic-graphs] OK: transpose empty == empty
1020.58 s
[algebraic-graphs] OK: transpose (vertex x) == vertex x
1020.58 s
[algebraic-graphs] OK: transpose (edge x y) == edge y x
1020.58 s
[algebraic-graphs] OK: transpose . transpose == id
1020.58 s
[algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.gmap ============
1020.58 s
[algebraic-graphs] OK: gmap f empty == empty
1020.58 s
[algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
1020.58 s
[algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
1020.58 s
[algebraic-graphs] OK: gmap id == id
1020.58 s
[algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.induce ============
1020.58 s
[algebraic-graphs] OK: induce (const True ) x == x
1020.58 s
[algebraic-graphs] OK: induce (const False) x == empty
1020.58 s
[algebraic-graphs] OK: induce (/= x) == removeVertex x
1020.58 s
[algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
1020.58 s
[algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.compose ============
1020.58 s
[algebraic-graphs] OK: compose empty x == empty
1020.58 s
[algebraic-graphs] OK: compose x empty == empty
1020.58 s
[algebraic-graphs] OK: compose (vertex x) y == empty
1020.58 s
[algebraic-graphs] OK: compose x (vertex y) == empty
1020.58 s
[algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z
1020.58 s
[algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z)
1020.58 s
[algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z)
1020.58 s
[algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z
1020.58 s
[algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)]
1020.58 s
[algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4]
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.closure ============
1020.58 s
[algebraic-graphs] OK: closure empty == empty
1020.58 s
[algebraic-graphs] OK: closure (vertex x) == edge x x
1020.58 s
[algebraic-graphs] OK: closure (edge x x) == edge x x
1020.58 s
[algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)]
1020.58 s
[algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs)
1020.58 s
[algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
1020.58 s
[algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
1020.58 s
[algebraic-graphs] OK: closure . closure == closure
1020.58 s
[algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.reflexiveClosure ============
1020.58 s
[algebraic-graphs] OK: reflexiveClosure empty == empty
1020.58 s
[algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x
1020.58 s
[algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x
1020.58 s
[algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)]
1020.58 s
[algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.symmetricClosure ============
1020.58 s
[algebraic-graphs] OK: symmetricClosure empty == empty
1020.58 s
[algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
1020.58 s
[algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)]
1020.58 s
[algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
1020.58 s
[algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.transitiveClosure ============
1020.58 s
[algebraic-graphs] OK: transitiveClosure empty == empty
1020.58 s
[algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
1020.58 s
[algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y
1020.58 s
[algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs)
1020.58 s
[algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Relation.induceJust ============
1020.58 s
[algebraic-graphs] OK: induceJust (vertex Nothing) == empty
1020.58 s
[algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
1020.58 s
[algebraic-graphs] OK: induceJust . gmap Just == id
1020.58 s
[algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ ReflexiveRelation ============
1020.58 s
[algebraic-graphs] OK: Axioms of reflexive graphs
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ TransitiveRelation ============
1020.58 s
[algebraic-graphs] OK: Axioms of transitive graphs
1020.58 s
[algebraic-graphs] OK: path xs == (clique xs :: TransitiveRelation Int)
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ PreorderRelation ============
1020.58 s
[algebraic-graphs] OK: Axioms of preorder graphs
1020.58 s
[algebraic-graphs] OK: path xs == (clique xs :: PreorderRelation Int)
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Symmetric.Relation ============
1020.58 s
[algebraic-graphs] OK: Axioms of undirected graphs
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Symmetric.Relation.consistent ============
1020.58 s
[algebraic-graphs] OK: Consistency of the Arbitrary instance
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] OK: consistent empty == True
1020.58 s
[algebraic-graphs] OK: consistent (vertex x) == True
1020.58 s
[algebraic-graphs] OK: consistent (overlay x y) == True
1020.58 s
[algebraic-graphs] OK: consistent (connect x y) == True
1020.58 s
[algebraic-graphs] OK: consistent (edge x y) == True
1020.58 s
[algebraic-graphs] OK: consistent (edges xs) == True
1020.58 s
[algebraic-graphs] OK: consistent (stars xs) == True
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Symmetric.Relation.Show ============
1020.58 s
[algebraic-graphs] OK: show (empty ) == "empty"
1020.58 s
[algebraic-graphs] OK: show (1 ) == "vertex 1"
1020.58 s
[algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
1020.58 s
[algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
1020.58 s
[algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
1020.58 s
[algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
1020.58 s
[algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
1020.58 s
[algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
1020.58 s
[algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
1020.58 s
[algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] OK: show (2 * 1 ) == "edge 1 2"
1020.58 s
[algebraic-graphs] OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]"
1020.58 s
[algebraic-graphs] OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]"
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Symmetric.Relation.toSymmetric ============
1020.58 s
[algebraic-graphs] OK: toSymmetric (edge 1 2) == edge 1 2
1020.58 s
[algebraic-graphs] OK: toSymmetric . fromSymmetric == id
1020.58 s
[algebraic-graphs] OK: fromSymmetric . toSymmetric == symmetricClosure
1020.58 s
[algebraic-graphs] OK: vertexCount . toSymmetric == vertexCount
1020.58 s
[algebraic-graphs] OK: (*2) . edgeCount . toSymmetric >= edgeCount
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Symmetric.Relation.fromSymmetric ============
1020.58 s
[algebraic-graphs] OK: fromSymmetric (edge 1 2) == edges [(1,2), (2,1)]
1020.58 s
[algebraic-graphs] OK: vertexCount . fromSymmetric == vertexCount
1020.58 s
[algebraic-graphs] OK: edgeCount . fromSymmetric <= (*2) . edgeCount
1020.58 s
[algebraic-graphs]
1020.58 s
[algebraic-graphs] ============ Symmetric.Relation.Ord ============
1020.58 s
[algebraic-graphs] OK: vertex 1 < vertex 2
1020.59 s
[algebraic-graphs] OK: vertex 3 < edge 1 2
1020.59 s
[algebraic-graphs] OK: vertex 1 < edge 1 1
1020.59 s
[algebraic-graphs] OK: edge 1 1 < edge 1 2
1020.59 s
[algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
1020.59 s
[algebraic-graphs] OK: edge 2 1 < edge 1 3
1020.59 s
[algebraic-graphs] OK: edge 1 2 == edge 2 1
1020.59 s
[algebraic-graphs] OK: x <= x + y
1020.59 s
[algebraic-graphs] OK: x + y <= x * y
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.empty ============
1020.59 s
[algebraic-graphs] OK: isEmpty empty == True
1020.59 s
[algebraic-graphs] OK: hasVertex x empty == False
1020.59 s
[algebraic-graphs] OK: vertexCount empty == 0
1020.59 s
[algebraic-graphs] OK: edgeCount empty == 0
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.vertex ============
1020.59 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
1020.59 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
1020.59 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
1020.59 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.edge ============
1020.59 s
[algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
1020.59 s
[algebraic-graphs] OK: edge x y == edge y x
1020.59 s
[algebraic-graphs] OK: edge x y == edges [(x,y), (y,x)]
1020.59 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
1020.59 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
1020.59 s
[algebraic-graphs] OK: vertexCount (edge 1 1) == 1
1020.59 s
[algebraic-graphs] OK: vertexCount (edge 1 2) == 2
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.overlay ============
1020.59 s
[algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
1020.59 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
1020.59 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
1020.59 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
1020.59 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
1020.59 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
1020.59 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
1020.59 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.connect ============
1020.59 s
[algebraic-graphs] OK: connect x y == connect y x
1020.59 s
[algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
1020.59 s
[algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
1020.59 s
[algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
1020.59 s
[algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
1020.59 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
1020.59 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
1020.59 s
[algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2
1020.59 s
[algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
1020.59 s
[algebraic-graphs] OK: vertexCount (connect 1 2) == 2
1020.59 s
[algebraic-graphs] OK: edgeCount (connect 1 2) == 1
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.vertices ============
1020.59 s
[algebraic-graphs] OK: vertices [] == empty
1020.59 s
[algebraic-graphs] OK: vertices [x] == vertex x
1020.59 s
[algebraic-graphs] OK: vertices == overlays . map vertex
1020.59 s
[algebraic-graphs] OK: hasVertex x . vertices == elem x
1020.59 s
[algebraic-graphs] OK: vertexCount . vertices == length . nub
1020.59 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.edges ============
1020.59 s
[algebraic-graphs] OK: edges [] == empty
1020.59 s
[algebraic-graphs] OK: edges [(x,y)] == edge x y
1020.59 s
[algebraic-graphs] OK: edges [(x,y), (y,x)] == edge x y
1020.59 s
[algebraic-graphs]
1020.59 s
[algebraic-graphs] ============ Symmetric.Relation.overlays ============
1020.59 s
[algebraic-graphs] OK: overlays [] == empty
1032.98 s
[algebraic-graphs] OK: overlays [x] == x
1033.02 s
[algebraic-graphs] OK: overlays [x,y] == overlay x y
1033.02 s
[algebraic-graphs] OK: overlays == foldr overlay empty
1033.02 s
[algebraic-graphs] OK: isEmpty . overlays == all isEmpty
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.connects ============
1033.02 s
[algebraic-graphs] OK: connects [] == empty
1033.02 s
[algebraic-graphs] OK: connects [x] == x
1033.02 s
[algebraic-graphs] OK: connects [x,y] == connect x y
1033.02 s
[algebraic-graphs] OK: connects == foldr connect empty
1033.02 s
[algebraic-graphs] OK: isEmpty . connects == all isEmpty
1033.02 s
[algebraic-graphs] OK: connects == connects . reverse
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.isSubgraphOf ============
1033.02 s
[algebraic-graphs] OK: isSubgraphOf empty x == True
1033.02 s
[algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
1033.02 s
[algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
1033.02 s
[algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
1033.02 s
[algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
1033.02 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
1033.02 s
[algebraic-graphs] OK: isSubgraphOf (edge x y) (edge y x) == True
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.toGraph et al. ============
1033.02 s
[algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect
1033.02 s
[algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph
1033.02 s
[algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&)
1033.02 s
[algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+)
1033.02 s
[algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||)
1033.02 s
[algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph
1033.02 s
[algebraic-graphs] OK: vertexCount == Set.size . vertexSet
1033.02 s
[algebraic-graphs] OK: edgeCount == Set.size . edgeSet
1033.02 s
[algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet
1033.02 s
[algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet
1033.02 s
[algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union
1033.02 s
[algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union
1033.02 s
[algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap
1033.02 s
[algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose
1033.02 s
[algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose
1033.02 s
[algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect
1033.02 s
[algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect)
1033.02 s
[algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect
1033.02 s
[algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect)
1033.02 s
[algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap
1033.02 s
[algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.isEmpty ============
1033.02 s
[algebraic-graphs] OK: isEmpty empty == True
1033.02 s
[algebraic-graphs] OK: isEmpty (overlay empty empty) == True
1033.02 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
1033.02 s
[algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
1033.02 s
[algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.hasVertex ============
1033.02 s
[algebraic-graphs] OK: hasVertex x empty == False
1033.02 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
1033.02 s
[algebraic-graphs] OK: hasVertex x . removeVertex x == const False
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.hasEdge ============
1033.02 s
[algebraic-graphs] OK: hasEdge x y empty == False
1033.02 s
[algebraic-graphs] OK: hasEdge x y (vertex z) == False
1033.02 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
1033.02 s
[algebraic-graphs] OK: hasEdge x y (edge y x) == True
1033.02 s
[algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
1033.02 s
[algebraic-graphs] OK: hasEdge x y == elem (min x y, max x y) . edgeList
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.vertexCount ============
1033.02 s
[algebraic-graphs] OK: vertexCount empty == 0
1033.02 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
1033.02 s
[algebraic-graphs] OK: vertexCount == length . vertexList
1033.02 s
[algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.edgeCount ============
1033.02 s
[algebraic-graphs] OK: edgeCount empty == 0
1033.02 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
1033.02 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
1033.02 s
[algebraic-graphs] OK: edgeCount == length . edgeList
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.vertexList ============
1033.02 s
[algebraic-graphs] OK: vertexList empty == []
1033.02 s
[algebraic-graphs] OK: vertexList (vertex x) == [x]
1033.02 s
[algebraic-graphs] OK: vertexList . vertices == nub . sort
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.vertexSet ============
1033.02 s
[algebraic-graphs] OK: vertexSet empty == Set.empty
1033.02 s
[algebraic-graphs] OK: vertexSet . vertex == Set.singleton
1033.02 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.vertexIntSet ============
1033.02 s
[algebraic-graphs] OK: vertexIntSet empty == IntSet.empty
1033.02 s
[algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton
1033.02 s
[algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList
1033.02 s
[algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.edgeList ============
1033.02 s
[algebraic-graphs] OK: edgeList empty == []
1033.02 s
[algebraic-graphs] OK: edgeList (vertex x) == []
1033.02 s
[algebraic-graphs] OK: edgeList (edge x y) == [(min x y, max y x)]
1033.02 s
[algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(1,2), (2,3)]
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.edgeSet ============
1033.02 s
[algebraic-graphs] OK: edgeSet empty == Set.empty
1033.02 s
[algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
1033.02 s
[algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (min x y, max x y)
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.adjacencyList ============
1033.02 s
[algebraic-graphs] OK: adjacencyList empty == []
1033.02 s
[algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
1033.02 s
[algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [1])]
1033.02 s
[algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, [2]), (2, [1,3]), (3, [2])]
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.neighbours ============
1033.02 s
[algebraic-graphs] OK: neighbours x empty == Set.empty
1033.02 s
[algebraic-graphs] OK: neighbours x (vertex x) == Set.empty
1033.02 s
[algebraic-graphs] OK: neighbours x (edge x y) == Set.fromList [y]
1033.02 s
[algebraic-graphs] OK: neighbours y (edge x y) == Set.fromList [x]
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.path ============
1033.02 s
[algebraic-graphs] OK: path [] == empty
1033.02 s
[algebraic-graphs] OK: path [x] == vertex x
1033.02 s
[algebraic-graphs] OK: path [x,y] == edge x y
1033.02 s
[algebraic-graphs] OK: path == path . reverse
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.circuit ============
1033.02 s
[algebraic-graphs] OK: circuit [] == empty
1033.02 s
[algebraic-graphs] OK: circuit [x] == edge x x
1033.02 s
[algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
1033.02 s
[algebraic-graphs] OK: circuit == circuit . reverse
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.clique ============
1033.02 s
[algebraic-graphs] OK: clique [] == empty
1033.02 s
[algebraic-graphs] OK: clique [x] == vertex x
1033.02 s
[algebraic-graphs] OK: clique [x,y] == edge x y
1033.02 s
[algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
1033.02 s
[algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
1033.02 s
[algebraic-graphs] OK: clique == clique . reverse
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.biclique ============
1033.02 s
[algebraic-graphs] OK: biclique [] [] == empty
1033.02 s
[algebraic-graphs] OK: biclique [x] [] == vertex x
1033.02 s
[algebraic-graphs] OK: biclique [] [y] == vertex y
1033.02 s
[algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
1033.02 s
[algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.star ============
1033.02 s
[algebraic-graphs] OK: star x [] == vertex x
1033.02 s
[algebraic-graphs] OK: star x [y] == edge x y
1033.02 s
[algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
1033.02 s
[algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.stars ============
1033.02 s
[algebraic-graphs] OK: stars [] == empty
1033.02 s
[algebraic-graphs] OK: stars [(x, [])] == vertex x
1033.02 s
[algebraic-graphs] OK: stars [(x, [y])] == edge x y
1033.02 s
[algebraic-graphs] OK: stars [(x, ys)] == star x ys
1033.02 s
[algebraic-graphs] OK: stars == overlays . map (uncurry star)
1033.02 s
[algebraic-graphs] OK: stars . adjacencyList == id
1033.02 s
[algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.tree ============
1033.02 s
[algebraic-graphs] OK: tree (Node x []) == vertex x
1033.02 s
[algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
1033.02 s
[algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
1033.02 s
[algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
1033.02 s
[algebraic-graphs]
1033.02 s
[algebraic-graphs] ============ Symmetric.Relation.forest ============
1033.02 s
[algebraic-graphs] OK: forest [] == empty
1039.34 s
[algebraic-graphs] OK: forest [x] == tree x
1039.34 s
[algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
1039.39 s
[algebraic-graphs] OK: forest == overlays . map tree
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.removeVertex ============
1039.39 s
[algebraic-graphs] OK: removeVertex x (vertex x) == empty
1039.39 s
[algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
1039.39 s
[algebraic-graphs] OK: removeVertex x (edge x x) == empty
1039.39 s
[algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
1039.39 s
[algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.removeEdge ============
1039.39 s
[algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
1039.39 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
1039.39 s
[algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
1039.39 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
1039.39 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
1039.39 s
[algebraic-graphs] OK: removeEdge x y == removeEdge y x
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.replaceVertex ============
1039.39 s
[algebraic-graphs] OK: replaceVertex x x == id
1039.39 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
1039.39 s
[algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.mergeVertices ============
1039.39 s
[algebraic-graphs] OK: mergeVertices (const False) x == id
1039.39 s
[algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
1039.39 s
[algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
1039.39 s
[algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.gmap ============
1039.39 s
[algebraic-graphs] OK: gmap f empty == empty
1039.39 s
[algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
1039.39 s
[algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
1039.39 s
[algebraic-graphs] OK: gmap id == id
1039.39 s
[algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.induce ============
1039.39 s
[algebraic-graphs] OK: induce (const True ) x == x
1039.39 s
[algebraic-graphs] OK: induce (const False) x == empty
1039.39 s
[algebraic-graphs] OK: induce (/= x) == removeVertex x
1039.39 s
[algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
1039.39 s
[algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Symmetric.Relation.induceJust ============
1039.39 s
[algebraic-graphs] OK: induceJust (vertex Nothing) == empty
1039.39 s
[algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
1039.39 s
[algebraic-graphs] OK: induceJust . gmap Just == id
1039.39 s
[algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Example.Todo (Holiday) ============
1039.39 s
[algebraic-graphs] OK: A todo list is semantically Maybe [a]
1039.39 s
[algebraic-graphs] OK: The overlay operator (+) adds non-dependent items to the todo list
1039.39 s
[algebraic-graphs] OK: The connect operator (*) adds dependency between items
1039.39 s
[algebraic-graphs] OK: Contradictory constraints make the todo list impossible to schedule
1039.39 s
[algebraic-graphs] OK: Introduce item priority to schedule the todo list
1039.39 s
[algebraic-graphs] OK: Custom connect operators pull/repel arguments during scheduling
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Example.Todo (Commandline) ============
1039.39 s
[algebraic-graphs] OK: The pull connect operator maintains command line semantics
1039.39 s
[algebraic-graphs] OK: Swapping flags are allowed by the commutative overlay opeartor
1039.39 s
[algebraic-graphs] OK: The usual connect operator breaks semantics
1039.39 s
[algebraic-graphs] OK: Transform command lines by adding optimisation flag
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed ============
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed.fromAdjacencyMap ============
1039.39 s
[algebraic-graphs] OK: toGraphKL (fromAdjacencyMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])]
1039.39 s
[algebraic-graphs] OK: toGraphKL (fromAdjacencyMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])]
1039.39 s
[algebraic-graphs] OK: map (fromVertexKL h) (vertices $ toGraphKL h) == vertexList g
1039.39 s
[algebraic-graphs] OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed.fromAdjacencyIntMap ============
1039.39 s
[algebraic-graphs] OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])]
1039.39 s
[algebraic-graphs] OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])]
1039.39 s
[algebraic-graphs] OK: map (fromVertexKL h) (vertices $ toGraphKL h) == IntSet.toAscList (vertexIntSet g)
1039.39 s
[algebraic-graphs] OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed.dfsForest ============
1039.39 s
[algebraic-graphs] OK: forest (dfsForest % edge 1 1) == vertex 1
1039.39 s
[algebraic-graphs] OK: forest (dfsForest % edge 1 2) == edge 1 2
1039.39 s
[algebraic-graphs] OK: forest (dfsForest % edge 2 1) == vertices [1, 2]
1039.39 s
[algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest % x) x == True
1039.39 s
[algebraic-graphs] OK: dfsForest % forest (dfsForest % x) == dfsForest % x
1039.39 s
[algebraic-graphs] OK: dfsForest % vertices vs == map (\v -> Node v []) (nub $ sort vs)
1039.39 s
[algebraic-graphs] OK: dfsForest % (3 * (1 + 4) * (1 + 5)) == <correct result>
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed.dfsForestFrom ============
1039.39 s
[algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 1) [1] == vertex 1
1039.39 s
[algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [0] == empty
1039.39 s
[algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [1] == edge 1 2
1039.39 s
[algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [2] == vertex 2
1039.39 s
[algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [2,1] == vertices [1,2]
1039.39 s
[algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom % x $ vs) x == True
1039.39 s
[algebraic-graphs] OK: dfsForestFrom % x $ vertexList x == dfsForest % x
1039.39 s
[algebraic-graphs] OK: dfsForestFrom % vertices vs $ vs == map (\v -> Node v []) (nub vs)
1039.39 s
[algebraic-graphs] OK: dfsForestFrom % x $ [] == []
1039.39 s
[algebraic-graphs] OK: dfsForestFrom % (3 * (1 + 4) * (1 + 5)) $ [1,4] == <correct result>
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed.dfs ============
1039.39 s
[algebraic-graphs] OK: dfs % edge 1 1 $ [1] == [1]
1039.39 s
[algebraic-graphs] OK: dfs % edge 1 2 $ [0] == []
1039.39 s
[algebraic-graphs] OK: dfs % edge 1 2 $ [1] == [1,2]
1039.39 s
[algebraic-graphs] OK: dfs % edge 1 2 $ [2] == [2]
1039.39 s
[algebraic-graphs] OK: dfs % edge 1 2 $ [1,2] == [1,2]
1039.39 s
[algebraic-graphs] OK: dfs % edge 1 2 $ [2,1] == [2,1]
1039.39 s
[algebraic-graphs] OK: dfs % x $ [] == []
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] OK: dfs % (3 * (1 + 4) * (1 + 5)) $ [1,4] == [1,5,4]
1039.39 s
[algebraic-graphs] OK: and [ hasVertex v x | v <- dfs % x $ vs ] == True
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Typed.topSort ============
1039.39 s
[algebraic-graphs] OK: topSort % (1 * 2 + 3 * 1) == [3,1,2]
1039.39 s
[algebraic-graphs] OK: topSort % (1 * 2 + 2 * 1) == [1,2]
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected ============
1039.39 s
[algebraic-graphs] OK: Axioms of undirected graphs
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.Show ============
1039.39 s
[algebraic-graphs] OK: show (empty ) == "empty"
1039.39 s
[algebraic-graphs] OK: show (1 ) == "vertex 1"
1039.39 s
[algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
1039.39 s
[algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
1039.39 s
[algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
1039.39 s
[algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
1039.39 s
[algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
1039.39 s
[algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
1039.39 s
[algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
1039.39 s
[algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] OK: show (2 * 1 ) == "edge 1 2"
1039.39 s
[algebraic-graphs] OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]"
1039.39 s
[algebraic-graphs] OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]"
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.toUndirected ============
1039.39 s
[algebraic-graphs] OK: toUndirected (edge 1 2) == edge 1 2
1039.39 s
[algebraic-graphs] OK: toUndirected . fromUndirected == id
1039.39 s
[algebraic-graphs] OK: vertexCount . toUndirected == vertexCount
1039.39 s
[algebraic-graphs] OK: (*2) . edgeCount . toUndirected >= edgeCount
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.fromUndirected ============
1039.39 s
[algebraic-graphs] OK: fromUndirected (edge 1 2) == edges [(1,2),(2,1)]
1039.39 s
[algebraic-graphs] OK: toUndirected . fromUndirected == id
1039.39 s
[algebraic-graphs] OK: vertexCount . fromUndirected == vertexCount
1039.39 s
[algebraic-graphs] OK: edgeCount . fromUndirected <= (*2) . edgeCount
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.complement ================
1039.39 s
[algebraic-graphs] OK: complement empty == empty
1039.39 s
[algebraic-graphs] OK: complement (vertex x) == vertex x
1039.39 s
[algebraic-graphs] OK: complement (edge 1 1) == edge 1 1
1039.39 s
[algebraic-graphs] OK: complement (edge 1 2) == vertices [1, 2]
1039.39 s
[algebraic-graphs] OK: complement (star 1 [2, 3]) == overlay (vertex 1) (edge 2 3)
1039.39 s
[algebraic-graphs] OK: complement . complement == id
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.Ord ============
1039.39 s
[algebraic-graphs] OK: vertex 1 < vertex 2
1039.39 s
[algebraic-graphs] OK: vertex 3 < edge 1 2
1039.39 s
[algebraic-graphs] OK: vertex 1 < edge 1 1
1039.39 s
[algebraic-graphs] OK: edge 1 1 < edge 1 2
1039.39 s
[algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
1039.39 s
[algebraic-graphs] OK: edge 2 1 < edge 1 3
1039.39 s
[algebraic-graphs] OK: edge 1 2 == edge 2 1
1039.39 s
[algebraic-graphs] OK: x <= x + y
1039.39 s
[algebraic-graphs] OK: x + y <= x * y
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.empty ============
1039.39 s
[algebraic-graphs] OK: isEmpty empty == True
1039.39 s
[algebraic-graphs] OK: hasVertex x empty == False
1039.39 s
[algebraic-graphs] OK: vertexCount empty == 0
1039.39 s
[algebraic-graphs] OK: edgeCount empty == 0
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.vertex ============
1039.39 s
[algebraic-graphs] OK: isEmpty (vertex x) == False
1039.39 s
[algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
1039.39 s
[algebraic-graphs] OK: vertexCount (vertex x) == 1
1039.39 s
[algebraic-graphs] OK: edgeCount (vertex x) == 0
1039.39 s
[algebraic-graphs]
1039.39 s
[algebraic-graphs] ============ Graph.Undirected.edge ============
1039.39 s
[algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
1039.39 s
[algebraic-graphs] OK: edge x y == edge y x
1047.66 s
[algebraic-graphs] OK: edge x y == edges [(x,y), (y,x)]
1047.66 s
[algebraic-graphs] OK: hasEdge x y (edge x y) == True
1047.66 s
[algebraic-graphs] OK: edgeCount (edge x y) == 1
1047.69 s
[algebraic-graphs] OK: vertexCount (edge 1 1) == 1
1047.69 s
[algebraic-graphs] OK: vertexCount (edge 1 2) == 2
1047.69 s
[algebraic-graphs]
1047.69 s
[algebraic-graphs] ============ Graph.Undirected.overlay ============
1047.69 s
[algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
1047.69 s
[algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
1047.69 s
[algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
1047.69 s
[algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
1047.69 s
[algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
1047.69 s
[algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
1047.70 s
[algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
1047.70 s
[algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.connect ============
1047.70 s
[algebraic-graphs] OK: connect x y == connect y x
1047.70 s
[algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
1047.70 s
[algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
1047.70 s
[algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
1047.70 s
[algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
1047.70 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
1047.70 s
[algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
1047.70 s
[algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2
1047.70 s
[algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
1047.70 s
[algebraic-graphs] OK: vertexCount (connect 1 2) == 2
1047.70 s
[algebraic-graphs] OK: edgeCount (connect 1 2) == 1
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.vertices ============
1047.70 s
[algebraic-graphs] OK: vertices [] == empty
1047.70 s
[algebraic-graphs] OK: vertices [x] == vertex x
1047.70 s
[algebraic-graphs] OK: vertices == overlays . map vertex
1047.70 s
[algebraic-graphs] OK: hasVertex x . vertices == elem x
1047.70 s
[algebraic-graphs] OK: vertexCount . vertices == length . nub
1047.70 s
[algebraic-graphs] OK: vertexSet . vertices == Set.fromList
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.edges ============
1047.70 s
[algebraic-graphs] OK: edges [] == empty
1047.70 s
[algebraic-graphs] OK: edges [(x,y)] == edge x y
1047.70 s
[algebraic-graphs] OK: edges [(x,y), (y,x)] == edge x y
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.overlays ============
1047.70 s
[algebraic-graphs] OK: overlays [] == empty
1047.70 s
[algebraic-graphs] OK: overlays [x] == x
1047.70 s
[algebraic-graphs] OK: overlays [x,y] == overlay x y
1047.70 s
[algebraic-graphs] OK: overlays == foldr overlay empty
1047.70 s
[algebraic-graphs] OK: isEmpty . overlays == all isEmpty
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.connects ============
1047.70 s
[algebraic-graphs] OK: connects [] == empty
1047.70 s
[algebraic-graphs] OK: connects [x] == x
1047.70 s
[algebraic-graphs] OK: connects [x,y] == connect x y
1047.70 s
[algebraic-graphs] OK: connects == foldr connect empty
1047.70 s
[algebraic-graphs] OK: isEmpty . connects == all isEmpty
1047.70 s
[algebraic-graphs] OK: connects == connects . reverse
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.isSubgraphOf ============
1047.70 s
[algebraic-graphs] OK: isSubgraphOf empty x == True
1047.70 s
[algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
1047.70 s
[algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
1047.70 s
[algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
1047.70 s
[algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
1047.70 s
[algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
1047.70 s
[algebraic-graphs] OK: isSubgraphOf (edge x y) (edge y x) == True
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.path ============
1047.70 s
[algebraic-graphs] OK: path [] == empty
1047.70 s
[algebraic-graphs] OK: path [x] == vertex x
1047.70 s
[algebraic-graphs] OK: path [x,y] == edge x y
1047.70 s
[algebraic-graphs] OK: path == path . reverse
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.circuit ============
1047.70 s
[algebraic-graphs] OK: circuit [] == empty
1047.70 s
[algebraic-graphs] OK: circuit [x] == edge x x
1047.70 s
[algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
1047.70 s
[algebraic-graphs] OK: circuit == circuit . reverse
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.clique ============
1047.70 s
[algebraic-graphs] OK: clique [] == empty
1047.70 s
[algebraic-graphs] OK: clique [x] == vertex x
1047.70 s
[algebraic-graphs] OK: clique [x,y] == edge x y
1047.70 s
[algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
1047.70 s
[algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
1047.70 s
[algebraic-graphs] OK: clique == clique . reverse
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.biclique ============
1047.70 s
[algebraic-graphs] OK: biclique [] [] == empty
1047.70 s
[algebraic-graphs] OK: biclique [x] [] == vertex x
1047.70 s
[algebraic-graphs] OK: biclique [] [y] == vertex y
1047.70 s
[algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
1047.70 s
[algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.star ============
1047.70 s
[algebraic-graphs] OK: star x [] == vertex x
1047.70 s
[algebraic-graphs] OK: star x [y] == edge x y
1047.70 s
[algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
1047.70 s
[algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.stars ============
1047.70 s
[algebraic-graphs] OK: stars [] == empty
1047.70 s
[algebraic-graphs] OK: stars [(x, [])] == vertex x
1047.70 s
[algebraic-graphs] OK: stars [(x, [y])] == edge x y
1047.70 s
[algebraic-graphs] OK: stars [(x, ys)] == star x ys
1047.70 s
[algebraic-graphs] OK: stars == overlays . map (uncurry star)
1047.70 s
[algebraic-graphs] OK: stars . adjacencyList == id
1047.70 s
[algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.tree ============
1047.70 s
[algebraic-graphs] OK: tree (Node x []) == vertex x
1047.70 s
[algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
1047.70 s
[algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
1047.70 s
[algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.forest ============
1047.70 s
[algebraic-graphs] OK: forest [] == empty
1047.70 s
[algebraic-graphs] OK: forest [x] == tree x
1047.70 s
[algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
1047.70 s
[algebraic-graphs] OK: forest == overlays . map tree
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.removeVertex ============
1047.70 s
[algebraic-graphs] OK: removeVertex x (vertex x) == empty
1047.70 s
[algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
1047.70 s
[algebraic-graphs] OK: removeVertex x (edge x x) == empty
1047.70 s
[algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
1047.70 s
[algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.removeEdge ============
1047.70 s
[algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
1047.70 s
[algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
1047.70 s
[algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
1047.70 s
[algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
1047.70 s
[algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
1047.70 s
[algebraic-graphs] OK: removeEdge x y == removeEdge y x
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.replaceVertex ============
1047.70 s
[algebraic-graphs] OK: replaceVertex x x == id
1047.70 s
[algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
1047.70 s
[algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.mergeVertices ============
1047.70 s
[algebraic-graphs] OK: mergeVertices (const False) x == id
1047.70 s
[algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
1047.70 s
[algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
1047.70 s
[algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.gmap ============
1047.70 s
[algebraic-graphs] OK: gmap f empty == empty
1047.70 s
[algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
1047.70 s
[algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
1047.70 s
[algebraic-graphs] OK: gmap id == id
1047.70 s
[algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.induce ============
1047.70 s
[algebraic-graphs] OK: induce (const True ) x == x
1047.70 s
[algebraic-graphs] OK: induce (const False) x == empty
1047.70 s
[algebraic-graphs] OK: induce (/= x) == removeVertex x
1047.70 s
[algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
1047.70 s
[algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
1047.70 s
[algebraic-graphs]
1047.70 s
[algebraic-graphs] ============ Graph.Undirected.induceJust ============
1047.70 s
[algebraic-graphs] OK: induceJust (vertex Nothing) == empty
1047.70 s
[algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
1047.70 s
[algebraic-graphs] OK: induceJust . gmap Just == id
1047.70 s
[algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
1047.70 s
[algebraic-graphs] Test suite main: PASS
1047.70 s
[algebraic-graphs] Test suite logged to: dist/test/algebraic-graphs-0.7-main.log
1047.70 s
[algebraic-graphs] 1 of 1 test suites (1 of 1 test cases) passed.
1047.70 s
[algebraic-graphs] checkPhase completed in 1 minutes 52 seconds
1047.70 s
[algebraic-graphs] Phase: haddockPhase
1047.84 s
[algebraic-graphs] Preprocessing library for algebraic-graphs-0.7..
1047.84 s
[algebraic-graphs] Running Haddock on library for algebraic-graphs-0.7..
1047.89 s
[algebraic-graphs] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
1048.28 s
[algebraic-graphs] 100% ( 58 / 58) in 'Algebra.Graph.AdjacencyMap'
1048.39 s
[algebraic-graphs] 100% ( 56 / 56) in 'Algebra.Graph.AdjacencyIntMap'
1048.45 s
[algebraic-graphs] Warning: 'nub' is out of scope.
1048.45 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.45 s
[algebraic-graphs] Warning: 'sort' is out of scope.
1048.45 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.45 s
[algebraic-graphs] 93% ( 14 / 15) in 'Algebra.Graph.AdjacencyIntMap.Algorithm'
1048.45 s
[algebraic-graphs] Missing documentation for:
1048.45 s
[algebraic-graphs] Cycle (src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs:227)
1048.60 s
[algebraic-graphs] Warning: 'IsList' is out of scope.
1048.60 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.60 s
[algebraic-graphs] 100% ( 19 / 19) in 'Algebra.Graph.Internal'
1048.72 s
[algebraic-graphs] 100% ( 61 / 61) in 'Algebra.Graph'
1048.85 s
[algebraic-graphs] Warning: 'mplus' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'vertexCount' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'hasVertex' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'vertexSet' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'isEmpty' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'edgeList' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'adjacencyList' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'box' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] Warning: 'edgeCount' is out of scope.
1048.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1048.85 s
[algebraic-graphs] 100% ( 42 / 42) in 'Algebra.Graph.HigherKinded.Class'
1049.02 s
[algebraic-graphs] Warning: 'nub' is out of scope.
1049.02 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.02 s
[algebraic-graphs] 100% ( 63 / 63) in 'Algebra.Graph.Bipartite.AdjacencyMap'
1049.12 s
[algebraic-graphs] Warning: 'isRight' is out of scope.
1049.12 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.12 s
[algebraic-graphs] 100% ( 25 / 25) in 'Algebra.Graph.Bipartite.AdjacencyMap.Algorithm'
1049.28 s
[algebraic-graphs] 100% ( 37 / 37) in 'Algebra.Graph.Label'
1049.56 s
[algebraic-graphs] Warning: 'isEmpty' is out of scope.
1049.57 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.57 s
[algebraic-graphs] Warning: 'empty' is out of scope.
1049.57 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.57 s
[algebraic-graphs] Warning: 'vertexList' is out of scope.
1049.57 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.57 s
[algebraic-graphs] Warning: 'edges' is out of scope.
1049.57 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.57 s
[algebraic-graphs] Warning: 'adjacencyList' is out of scope.
1049.57 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.57 s
[algebraic-graphs] Warning: 'stars' is out of scope.
1049.57 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.57 s
[algebraic-graphs] 100% ( 51 / 51) in 'Algebra.Graph.NonEmpty.AdjacencyMap'
1049.65 s
[algebraic-graphs] Warning: 'nub' is out of scope.
1049.65 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.65 s
[algebraic-graphs] Warning: 'sort' is out of scope.
1049.65 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1049.65 s
[algebraic-graphs] 93% ( 15 / 16) in 'Algebra.Graph.AdjacencyMap.Algorithm'
1049.65 s
[algebraic-graphs] Missing documentation for:
1049.65 s
[algebraic-graphs] Cycle (src/Algebra/Graph/AdjacencyMap/Algorithm.hs:228)
1049.74 s
[algebraic-graphs] 100% ( 44 / 44) in 'Algebra.Graph.Acyclic.AdjacencyMap'
1049.80 s
[algebraic-graphs] 100% ( 8 / 8) in 'Algebra.Graph.ToGraph'
1049.85 s
[algebraic-graphs]
1049.85 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: [ -Wtype-equality-requires-operators ]
1049.85 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.85 s
[algebraic-graphs] will become an error in a future GHC release.
1049.85 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.85 s
[algebraic-graphs] |
1049.85 s
[algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet
1049.85 s
[algebraic-graphs] | ^
1049.85 s
[algebraic-graphs]
1049.85 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: [ -Wtype-equality-requires-operators ]
1049.85 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.85 s
[algebraic-graphs] will become an error in a future GHC release.
1049.85 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.85 s
[algebraic-graphs] |
1049.85 s
[algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
1049.85 s
[algebraic-graphs] | ^
1049.85 s
[algebraic-graphs]
1049.85 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: [ -Wtype-equality-requires-operators ]
1049.85 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.85 s
[algebraic-graphs] will become an error in a future GHC release.
1049.85 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.85 s
[algebraic-graphs] |
1049.85 s
[algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
1049.85 s
[algebraic-graphs] | ^
1049.85 s
[algebraic-graphs]
1049.85 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: [ -Wtype-equality-requires-operators ]
1049.85 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.85 s
[algebraic-graphs] will become an error in a future GHC release.
1049.85 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.85 s
[algebraic-graphs] |
1049.85 s
[algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
1049.85 s
[algebraic-graphs] | ^
1049.85 s
[algebraic-graphs]
1049.85 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: [ -Wtype-equality-requires-operators ]
1049.85 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.85 s
[algebraic-graphs] will become an error in a future GHC release.
1049.85 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.85 s
[algebraic-graphs] |
1049.85 s
[algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
1049.85 s
[algebraic-graphs] | ^
1049.85 s
[algebraic-graphs]
1049.85 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: [ -Wtype-equality-requires-operators ]
1049.86 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.86 s
[algebraic-graphs] will become an error in a future GHC release.
1049.86 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.86 s
[algebraic-graphs] |
1049.86 s
[algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
1049.86 s
[algebraic-graphs] | ^
1049.86 s
[algebraic-graphs]
1049.86 s
[algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: [ -Wtype-equality-requires-operators ]
1049.86 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1049.86 s
[algebraic-graphs] will become an error in a future GHC release.
1049.86 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1049.86 s
[algebraic-graphs] |
1049.86 s
[algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
1049.86 s
[algebraic-graphs] | ^
1050.01 s
[algebraic-graphs] Warning: 'AdjacencyMap' is out of scope.
1050.01 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.01 s
[algebraic-graphs] 100% ( 56 / 56) in 'Algebra.Graph.Relation'
1050.11 s
[algebraic-graphs] 100% ( 48 / 48) in 'Algebra.Graph.Relation.Symmetric'
1050.23 s
[algebraic-graphs] Warning: 'vertexList' is out of scope.
1050.23 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.23 s
[algebraic-graphs] 100% ( 53 / 53) in 'Algebra.Graph.NonEmpty'
1050.35 s
[algebraic-graphs] 100% ( 49 / 49) in 'Algebra.Graph.Labelled.AdjacencyMap'
1050.57 s
[algebraic-graphs] 100% ( 49 / 49) in 'Algebra.Graph.Labelled'
1050.62 s
[algebraic-graphs]
1050.63 s
[algebraic-graphs] src/Algebra/Graph/Labelled.hs:74:10: warning: [ -Wredundant-constraints ]
1050.63 s
[algebraic-graphs] • Redundant constraint: Eq e
1050.63 s
[algebraic-graphs] • In the instance declaration for ‘Ord (Graph e a)’
1050.63 s
[algebraic-graphs] |
1050.63 s
[algebraic-graphs] 74 | instance (Eq e, Monoid e, Ord a, Ord e) => Ord (Graph e a) where
1050.63 s
[algebraic-graphs] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1050.64 s
[algebraic-graphs] 100% ( 6 / 6) in 'Algebra.Graph.Labelled.Example.Network'
1050.65 s
[algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Labelled.Example.Automaton'
1050.67 s
[algebraic-graphs] 100% ( 14 / 14) in 'Algebra.Graph.Export'
1050.67 s
[algebraic-graphs]
1050.68 s
[algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: [ -Wtype-equality-requires-operators ]
1050.68 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1050.68 s
[algebraic-graphs] will become an error in a future GHC release.
1050.68 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1050.68 s
[algebraic-graphs] |
1050.68 s
[algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s
1050.68 s
[algebraic-graphs] | ^
1050.69 s
[algebraic-graphs] Warning: 'Graph' is out of scope.
1050.69 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.69 s
[algebraic-graphs] 100% ( 11 / 11) in 'Algebra.Graph.Export.Dot'
1050.70 s
[algebraic-graphs]
1050.70 s
[algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: [ -Wtype-equality-requires-operators ]
1050.70 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1050.70 s
[algebraic-graphs] will become an error in a future GHC release.
1050.70 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1050.70 s
[algebraic-graphs] |
1050.70 s
[algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s
1050.70 s
[algebraic-graphs] | ^
1050.70 s
[algebraic-graphs]
1050.70 s
[algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: [ -Wtype-equality-requires-operators ]
1050.70 s
[algebraic-graphs] The use of ‘~’ without TypeOperators
1050.70 s
[algebraic-graphs] will become an error in a future GHC release.
1050.70 s
[algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
1050.70 s
[algebraic-graphs] |
1050.70 s
[algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s
1050.70 s
[algebraic-graphs] | ^
1050.75 s
[algebraic-graphs] 100% ( 50 / 50) in 'Algebra.Graph.Undirected'
1050.82 s
[algebraic-graphs] 100% ( 27 / 27) in 'Algebra.Graph.Class'
1050.85 s
[algebraic-graphs] Warning: 'Transitive' is out of scope.
1050.85 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.85 s
[algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Relation.Transitive'
1050.86 s
[algebraic-graphs] Warning: 'Reflexive' is out of scope.
1050.86 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.86 s
[algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Relation.Reflexive'
1050.87 s
[algebraic-graphs] Warning: 'Preorder' is out of scope.
1050.87 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.87 s
[algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Relation.Preorder'
1050.89 s
[algebraic-graphs] 0% ( 0 / 8) in 'Algebra.Graph.Example.Todo'
1050.89 s
[algebraic-graphs] Missing documentation for:
1050.89 s
[algebraic-graphs] Module header
1050.89 s
[algebraic-graphs] Todo (src/Algebra/Graph/Example/Todo.hs:13)
1050.89 s
[algebraic-graphs] todo (src/Algebra/Graph/Example/Todo.hs:41)
1050.89 s
[algebraic-graphs] low (src/Algebra/Graph/Example/Todo.hs:22)
1050.89 s
[algebraic-graphs] high (src/Algebra/Graph/Example/Todo.hs:26)
1050.89 s
[algebraic-graphs] ~*~ (src/Algebra/Graph/Example/Todo.hs:34)
1050.89 s
[algebraic-graphs] >*< (src/Algebra/Graph/Example/Todo.hs:38)
1050.89 s
[algebraic-graphs] priority (src/Algebra/Graph/Example/Todo.hs:30)
1050.92 s
[algebraic-graphs] Warning: 'array' is out of scope.
1050.92 s
[algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
1050.92 s
[algebraic-graphs] 90% ( 10 / 11) in 'Data.Graph.Typed'
1050.92 s
[algebraic-graphs] Missing documentation for:
1050.92 s
[algebraic-graphs] scc (src/Data/Graph/Typed.hs:191)
1051.35 s
[algebraic-graphs] Warning: Algebra.Graph.Labelled: could not find link destinations for:
1051.35 s
[algebraic-graphs]
1051.35 s
[algebraic-graphs] - Algebra.Graph.Labelled.Focus
1055.44 s
[algebraic-graphs] Documentation created: dist/doc/html/algebraic-graphs/index.html,
1055.44 s
[algebraic-graphs] dist/doc/html/algebraic-graphs/algebraic-graphs.txt
1055.59 s
[algebraic-graphs] Preprocessing test suite 'main' for algebraic-graphs-0.7..
1055.59 s
[algebraic-graphs] Phase: installPhase
1055.60 s
[algebraic-graphs] Installing library in /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/lib/ghc-9.4.8/x86_64-linux-ghc-9.4.8/algebraic-graphs-0.7-HAx3uQBsFBrCFjzVNVlr0F
1056.33 s
[algebraic-graphs] Phase: fixupPhase
1056.35 s
[algebraic-graphs] shrinking RPATHs of ELF executables and libraries in /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7
1056.35 s
[algebraic-graphs] shrinking /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/lib/ghc-9.4.8/x86_64-linux-ghc-9.4.8/libHSalgebraic-graphs-0.7-HAx3uQBsFBrCFjzVNVlr0F-ghc9.4.8.so
1056.37 s
[algebraic-graphs] checking for references to /build/ in /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7...
1056.41 s
[algebraic-graphs] patching script interpreter paths in /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7
1056.41 s
[algebraic-graphs] stripping (with command strip and flags -S -p) in /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/lib
1056.68 s
[algebraic-graphs] shrinking RPATHs of ELF executables and libraries in /nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc
1056.70 s
[algebraic-graphs] checking for references to /build/ in /nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc...
1056.73 s
[algebraic-graphs] patching script interpreter paths in /nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc
1056.88 s
[algebraic-graphs:post-build] Uploading to cachix cache "sellout": /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7 /nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc
1057.32 s
[algebraic-graphs:post-build] Pushing 2 paths (37 are already present) using zstd to cache sellout ⏳
1057.32 s
[algebraic-graphs:post-build]
1057.70 s
[algebraic-graphs:post-build] Pushing /nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc (11.26 MiB)
1057.78 s
[algebraic-graphs:post-build] Pushing /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7 (24.72 MiB)
1059.17 s
[algebraic-graphs:post-build]
1059.17 s
[algebraic-graphs:post-build] All done.
1059.19 s
[algebraic-graphs:post-build] Uploading to the NixCI cache: /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7 /nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc
1059.23 s
[algebraic-graphs:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1059.25 s
[algebraic-graphs:post-build] copying 2 paths...
1059.25 s
[algebraic-graphs:post-build] copying path '/nix/store/vjqap2q6zb9489lpbx22hfpxkrh9jn3f-algebraic-graphs-0.7-doc' to 'https://cache.nix-ci.com'...
1060.97 s
[algebraic-graphs:post-build] copying path '/nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7' to 'https://cache.nix-ci.com'...
1067.59 s
[algebraic-graphs:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1067.86 s
[algebraic-graphs:post-build] copying 1 paths...
1067.90 s
[algebraic-graphs:post-build] copying path '/nix/store/r3bxf573i0cz6mglqadf5v8dx13xad0g-algebraic-graphs-0.7.drv' to 'https://cache.nix-ci.com'...
1068.09 s
Progress: 32 of 40 built, 373 of 373 downloaded from cache
1068.32 s
Building /nix/store/02yrxwdw9ww8gy4c575h5n7kddkn3fxs-ghc-9.4.8-with-packages.drv
1068.38 s
[ghc-9.4.8-with-packages] /nix/store/jbbd7dp036y9l3jv36q5ffbsn5s78wcn-doctest-0.24.2/nix-support:
1068.38 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.39 s
[ghc-9.4.8-with-packages] /nix/store/xhxf8fh0kdv3jyvi7barm5q9ihmwzbna-ghc-compat-plugin-0.1.0.1/nix-support:
1068.39 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.39 s
[ghc-9.4.8-with-packages] /nix/store/nkwi1bfw3z5c4n1fnrlakrslkcgwbk8v-hedgehog-1.5/nix-support:
1068.39 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.39 s
[ghc-9.4.8-with-packages] /nix/store/nkwi1bfw3z5c4n1fnrlakrslkcgwbk8v-hedgehog-1.5/nix-support:
1068.39 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.40 s
[ghc-9.4.8-with-packages] /nix/store/ffjdnzr7rz0imc9d8qsw1p044mfghgvs-Cabal-3.12.1.0/nix-support:
1068.40 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.43 s
[ghc-9.4.8-with-packages] /nix/store/nz6l5dgsy18891l06s4h3hhyrpy1p69z-cabal-doctest-1.0.12/nix-support:
1068.43 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/7mkrfmdp83xvrhkybsly3wry9bhvgji6-temporary-1.3/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/7mkrfmdp83xvrhkybsly3wry9bhvgji6-temporary-1.3/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/5xxjc2n7b0wb1pivm6f897512r965zh1-ansi-terminal-1.1.3/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/5xxjc2n7b0wb1pivm6f897512r965zh1-ansi-terminal-1.1.3/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/v6mn5q2pffwalmdqam9hshx6lnmab5av-async-2.2.5/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/v6mn5q2pffwalmdqam9hshx6lnmab5av-async-2.2.5/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.45 s
[ghc-9.4.8-with-packages] /nix/store/c60sg81w1z2925kyw9drag0v1khnr9fp-barbies-2.1.1.0/nix-support:
1068.45 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.46 s
[ghc-9.4.8-with-packages] /nix/store/c60sg81w1z2925kyw9drag0v1khnr9fp-barbies-2.1.1.0/nix-support:
1068.46 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.46 s
[ghc-9.4.8-with-packages] /nix/store/462yg7zm4bgfkzfsrxiryirhjx1s0cab-concurrent-output-1.10.21/nix-support:
1068.46 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.46 s
[ghc-9.4.8-with-packages] /nix/store/462yg7zm4bgfkzfsrxiryirhjx1s0cab-concurrent-output-1.10.21/nix-support:
1068.46 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.47 s
[ghc-9.4.8-with-packages] /nix/store/3y7qlb5nyiqq18v1mv2936ks9fnw43hp-lifted-async-0.10.2.7/nix-support:
1068.47 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.47 s
[ghc-9.4.8-with-packages] /nix/store/3y7qlb5nyiqq18v1mv2936ks9fnw43hp-lifted-async-0.10.2.7/nix-support:
1068.47 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.47 s
[ghc-9.4.8-with-packages] /nix/store/2f9yr728820hr5hknnbpj6pcndghrvrv-mmorph-1.2.1/nix-support:
1068.47 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.47 s
[ghc-9.4.8-with-packages] /nix/store/2f9yr728820hr5hknnbpj6pcndghrvrv-mmorph-1.2.1/nix-support:
1068.47 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.48 s
[ghc-9.4.8-with-packages] /nix/store/cxmidfcc1pfg15jhwcskjp0sak71m4vz-monad-control-1.0.3.1/nix-support:
1068.48 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.48 s
[ghc-9.4.8-with-packages] /nix/store/cxmidfcc1pfg15jhwcskjp0sak71m4vz-monad-control-1.0.3.1/nix-support:
1068.48 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.48 s
[ghc-9.4.8-with-packages] /nix/store/233bl99xi6ilwyb0n0z8lqcq8wghjbw3-pretty-show-1.10/nix-support:
1068.48 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.48 s
[ghc-9.4.8-with-packages] /nix/store/233bl99xi6ilwyb0n0z8lqcq8wghjbw3-pretty-show-1.10/nix-support:
1068.48 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.48 s
[ghc-9.4.8-with-packages] /nix/store/cyijhm1wvqdhm9b4b41ap0v8a8ar8pr2-primitive-0.9.1.0/nix-support:
1068.48 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.48 s
[ghc-9.4.8-with-packages] /nix/store/cyijhm1wvqdhm9b4b41ap0v8a8ar8pr2-primitive-0.9.1.0/nix-support:
1068.48 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.49 s
[ghc-9.4.8-with-packages] /nix/store/sys9r5vn8pmzbrffdps9mrd0j9c3v21w-random-1.2.1.3/nix-support:
1068.49 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.49 s
[ghc-9.4.8-with-packages] /nix/store/sys9r5vn8pmzbrffdps9mrd0j9c3v21w-random-1.2.1.3/nix-support:
1068.49 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.49 s
[ghc-9.4.8-with-packages] /nix/store/7qjvf35fl0pkv9wj8n3cx182j24zwm7l-resourcet-1.3.0/nix-support:
1068.49 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.49 s
[ghc-9.4.8-with-packages] /nix/store/7qjvf35fl0pkv9wj8n3cx182j24zwm7l-resourcet-1.3.0/nix-support:
1068.49 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.49 s
[ghc-9.4.8-with-packages] /nix/store/r3x9zl5gmlbbclkxs9x9xv5plbqghp68-safe-exceptions-0.1.7.4/nix-support:
1068.49 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.49 s
[ghc-9.4.8-with-packages] /nix/store/r3x9zl5gmlbbclkxs9x9xv5plbqghp68-safe-exceptions-0.1.7.4/nix-support:
1068.49 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.50 s
[ghc-9.4.8-with-packages] /nix/store/0hy1fhipcn6f0ygjb20116nb5dvgsaj5-transformers-base-0.4.6/nix-support:
1068.50 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.50 s
[ghc-9.4.8-with-packages] /nix/store/0hy1fhipcn6f0ygjb20116nb5dvgsaj5-transformers-base-0.4.6/nix-support:
1068.50 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.50 s
[ghc-9.4.8-with-packages] /nix/store/4ls456xhh8ms32l43agldrhi4m3wl838-wl-pprint-annotated-0.1.0.1/nix-support:
1068.50 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.50 s
[ghc-9.4.8-with-packages] /nix/store/4ls456xhh8ms32l43agldrhi4m3wl838-wl-pprint-annotated-0.1.0.1/nix-support:
1068.50 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.50 s
[ghc-9.4.8-with-packages] /nix/store/4h9a4k3xbwh0l3853a9mlzrfbbzib1la-Cabal-syntax-3.12.1.0/nix-support:
1068.50 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.52 s
[ghc-9.4.8-with-packages] /nix/store/4h9a4k3xbwh0l3853a9mlzrfbbzib1la-Cabal-syntax-3.12.1.0/nix-support:
1068.52 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.53 s
[ghc-9.4.8-with-packages] /nix/store/ncm10l6pk5zmkb3sapfqv4hkg45n16cr-ansi-terminal-types-1.1.3/nix-support:
1068.53 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.53 s
[ghc-9.4.8-with-packages] /nix/store/ncm10l6pk5zmkb3sapfqv4hkg45n16cr-ansi-terminal-types-1.1.3/nix-support:
1068.53 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.53 s
[ghc-9.4.8-with-packages] /nix/store/jspa0h3jp93qrkbc5g5a4fzx6pgrf890-hashable-1.4.7.0/nix-support:
1068.53 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.54 s
[ghc-9.4.8-with-packages] /nix/store/jspa0h3jp93qrkbc5g5a4fzx6pgrf890-hashable-1.4.7.0/nix-support:
1068.54 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.54 s
[ghc-9.4.8-with-packages] /nix/store/pl48aarrvj4a78524196ynrp0kfa0rlz-distributive-0.6.2.1/nix-support:
1068.54 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.54 s
[ghc-9.4.8-with-packages] /nix/store/pl48aarrvj4a78524196ynrp0kfa0rlz-distributive-0.6.2.1/nix-support:
1068.54 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.54 s
[ghc-9.4.8-with-packages] /nix/store/1r4jmk61ibj9l32555cqwkzcizkr9msd-constraints-0.14.2/nix-support:
1068.54 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.54 s
[ghc-9.4.8-with-packages] /nix/store/1r4jmk61ibj9l32555cqwkzcizkr9msd-constraints-0.14.2/nix-support:
1068.54 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.55 s
[ghc-9.4.8-with-packages] /nix/store/jcn2fbz35mdbic6gbp9r5vqgh4h265a7-lifted-base-0.2.3.12/nix-support:
1068.55 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.55 s
[ghc-9.4.8-with-packages] /nix/store/jcn2fbz35mdbic6gbp9r5vqgh4h265a7-lifted-base-0.2.3.12/nix-support:
1068.55 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.55 s
[ghc-9.4.8-with-packages] /nix/store/9i2ipcbxnddqba4h5kqlz8skd6c4yb9f-transformers-compat-0.7.2/nix-support:
1068.55 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.55 s
[ghc-9.4.8-with-packages] /nix/store/9i2ipcbxnddqba4h5kqlz8skd6c4yb9f-transformers-compat-0.7.2/nix-support:
1068.55 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/wjr31kxrg5xzjyfjwgfdh31m908893an-splitmix-0.1.3.1/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/wjr31kxrg5xzjyfjwgfdh31m908893an-splitmix-0.1.3.1/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/w2wfk6ad9zqz33q8cjrm1rnq4rzrkc2f-unliftio-core-0.2.1.0/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/w2wfk6ad9zqz33q8cjrm1rnq4rzrkc2f-unliftio-core-0.2.1.0/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/lnflkc76zbjzj6nz862nr3d0hgn8y5g5-base-orphans-0.9.3/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/lnflkc76zbjzj6nz862nr3d0hgn8y5g5-base-orphans-0.9.3/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.56 s
[ghc-9.4.8-with-packages] /nix/store/rvw80ra5wr1an100njnn6i9gp1wdcipr-os-string-2.0.8/nix-support:
1068.56 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.57 s
[ghc-9.4.8-with-packages] /nix/store/rvw80ra5wr1an100njnn6i9gp1wdcipr-os-string-2.0.8/nix-support:
1068.57 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.57 s
[ghc-9.4.8-with-packages] /nix/store/nqfx6vm4r7yzwzfxas9klvp0myx0ijvd-tagged-0.8.9/nix-support:
1068.57 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.57 s
[ghc-9.4.8-with-packages] /nix/store/nqfx6vm4r7yzwzfxas9klvp0myx0ijvd-tagged-0.8.9/nix-support:
1068.57 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.57 s
[ghc-9.4.8-with-packages] /nix/store/yrlcjwmlwwmk9x9a3cy8vvn4mlww8kn1-boring-0.2.2/nix-support:
1068.57 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1068.57 s
[ghc-9.4.8-with-packages] /nix/store/yrlcjwmlwwmk9x9a3cy8vvn4mlww8kn1-boring-0.2.2/nix-support:
1068.57 s
[ghc-9.4.8-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/p6m6nww29qgcdfbk8wsrl6aw6lscn3qi-algebraic-graphs-0.7/nix-support/propagated-build-inputs
1069.67 s
[ghc-9.4.8-with-packages] Warning: haddock-interfaces: /nix/store/nkwi1bfw3z5c4n1fnrlakrslkcgwbk8v-hedgehog-1.5/share/doc/x86_64-linux-ghc-9.4.8/hedgehog-1.5/html/hedgehog.haddock doesn't exist or isn't a file
1069.67 s
[ghc-9.4.8-with-packages] Warning: haddock-html: /nix/store/nkwi1bfw3z5c4n1fnrlakrslkcgwbk8v-hedgehog-1.5/share/doc/x86_64-linux-ghc-9.4.8/hedgehog-1.5/html doesn't exist or isn't a directory
1070.75 s
[ghc-9.4.8-with-packages:post-build] Uploading to cachix cache "sellout": /nix/store/px8knjkzgqv1lwri5d8mnvwyrs7h2bpy-ghc-9.4.8-with-packages
1071.32 s
[ghc-9.4.8-with-packages:post-build] Pushing 1 paths (120 are already present) using zstd to cache sellout ⏳
1071.32 s
[ghc-9.4.8-with-packages:post-build]
1071.67 s
[ghc-9.4.8-with-packages:post-build] Pushing /nix/store/px8knjkzgqv1lwri5d8mnvwyrs7h2bpy-ghc-9.4.8-with-packages (4.85 MiB)
1073.16 s
[ghc-9.4.8-with-packages:post-build]
1073.25 s
[ghc-9.4.8-with-packages:post-build] All done.
1073.25 s
[ghc-9.4.8-with-packages:post-build] Uploading to the NixCI cache: /nix/store/px8knjkzgqv1lwri5d8mnvwyrs7h2bpy-ghc-9.4.8-with-packages
1073.25 s
[ghc-9.4.8-with-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1073.44 s
[ghc-9.4.8-with-packages:post-build] copying 1 paths...
1073.44 s
[ghc-9.4.8-with-packages:post-build] copying path '/nix/store/px8knjkzgqv1lwri5d8mnvwyrs7h2bpy-ghc-9.4.8-with-packages' to 'https://cache.nix-ci.com'...
1074.60 s
[ghc-9.4.8-with-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1074.84 s
[ghc-9.4.8-with-packages:post-build] copying 1 paths...
1074.84 s
[ghc-9.4.8-with-packages:post-build] copying path '/nix/store/02yrxwdw9ww8gy4c575h5n7kddkn3fxs-ghc-9.4.8-with-packages.drv' to 'https://cache.nix-ci.com'...
1075.09 s
Progress: 33 of 39 built, 373 of 373 downloaded from cache
1106.13 s
Waiting for lock on shellcheck
1116.15 s
Waiting for lock on bash-language-server
1131.17 s
Waiting for lock on project-manager-path-for-duoids
1136.27 s
Building /nix/store/xmk0d975yf6dpxf5mzj40wk6lljw70y7-ghc-shell-for-packages-0.drv
1136.37 s
[ghc-shell-for-packages:post-build] Uploading to cachix cache "sellout": /nix/store/052n9sp3dh54c951592nkbfkpk4l5l9z-ghc-shell-for-packages-0
1136.92 s
[ghc-shell-for-packages:post-build] Pushing 1 paths (322 are already present) using zstd to cache sellout ⏳
1136.92 s
[ghc-shell-for-packages:post-build]
1137.30 s
[ghc-shell-for-packages:post-build] Pushing /nix/store/052n9sp3dh54c951592nkbfkpk4l5l9z-ghc-shell-for-packages-0 (256.00 B)
1138.32 s
[ghc-shell-for-packages:post-build]
1138.32 s
[ghc-shell-for-packages:post-build] All done.
1138.34 s
[ghc-shell-for-packages:post-build] Uploading to the NixCI cache: /nix/store/052n9sp3dh54c951592nkbfkpk4l5l9z-ghc-shell-for-packages-0
1138.38 s
[ghc-shell-for-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1138.41 s
[ghc-shell-for-packages:post-build] copying 1 paths...
1138.41 s
[ghc-shell-for-packages:post-build] copying path '/nix/store/052n9sp3dh54c951592nkbfkpk4l5l9z-ghc-shell-for-packages-0' to 'https://cache.nix-ci.com'...
1138.79 s
[ghc-shell-for-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
1139.16 s
[ghc-shell-for-packages:post-build] copying 1 paths...
1139.16 s
[ghc-shell-for-packages:post-build] copying path '/nix/store/xmk0d975yf6dpxf5mzj40wk6lljw70y7-ghc-shell-for-packages-0.drv' to 'https://cache.nix-ci.com'...
1139.39 s
Progress: 34 of 35 built, 373 of 373 downloaded from cache
1139.39 s
Progress: 35 of 35 built, 373 of 373 downloaded from cache
1139.39 s
/nix/store/052n9sp3dh54c951592nkbfkpk4l5l9z-ghc-shell-for-packages-0
1139.44 s
Build succeeded.