build packages.x86_64-linux.ghc967_all

Reproduce this run
  1. 904.26 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  2. 904.26 s [algebraic-graphs]
  3. 904.26 s [algebraic-graphs] ============ Labelled.AdjacencyMap.emap ============
  4. 904.26 s [algebraic-graphs] OK: emap h empty == empty
  5. 904.26 s [algebraic-graphs] OK: emap h (vertex x) == vertex x
  6. 904.26 s [algebraic-graphs] OK: emap h (edge e x y) == edge (h e) x y
  7. 904.26 s [algebraic-graphs] OK: emap h (overlay x y) == overlay (emap h x) (emap h y)
  8. 904.26 s [algebraic-graphs] OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y)
  9. 904.26 s [algebraic-graphs] OK: emap id == id
  10. 904.26 s [algebraic-graphs] OK: emap g . emap h == emap (g . h)
  11. 904.26 s [algebraic-graphs]
  12. 904.26 s [algebraic-graphs] ============ Labelled.AdjacencyMap.induce ============
  13. 904.26 s [algebraic-graphs] OK: induce (const True ) x == x
  14. 904.26 s [algebraic-graphs] OK: induce (const False) x == empty
  15. 904.26 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  16. 904.26 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  17. 904.26 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  18. 904.26 s [algebraic-graphs]
  19. 904.26 s [algebraic-graphs] ============ Labelled.AdjacencyMap.induceJust ============
  20. 905.38 s [algebraic-graphs] OK: induceJust (vertex Nothing) == empty
  21. 905.38 s [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
  22. 905.38 s [algebraic-graphs] OK: induceJust . gmap Just == id
  23. 905.38 s [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
  24. 905.38 s [algebraic-graphs]
  25. 905.38 s [algebraic-graphs] ============ Labelled.AdjacencyMap.closure ============
  26. 905.38 s [algebraic-graphs] OK: closure empty == empty
  27. 905.38 s [algebraic-graphs] OK: closure (vertex x) == edge one x x
  28. 905.38 s [algebraic-graphs] OK: closure (edge e x x) == edge one x x
  29. 905.38 s [algebraic-graphs] OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
  30. 905.38 s [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
  31. 905.38 s [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
  32. 905.38 s [algebraic-graphs] OK: closure . closure == closure
  33. 905.38 s [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
  34. 905.38 s [algebraic-graphs]
  35. 905.38 s [algebraic-graphs] ============ Labelled.AdjacencyMap.reflexiveClosure ============
  36. 905.38 s [algebraic-graphs] OK: reflexiveClosure empty == empty
  37. 905.38 s [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge one x x
  38. 905.38 s [algebraic-graphs] OK: reflexiveClosure (edge e x x) == edge one x x
  39. 905.38 s [algebraic-graphs] OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
  40. 905.38 s [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
  41. 905.38 s [algebraic-graphs]
  42. 905.38 s [algebraic-graphs] ============ Labelled.AdjacencyMap.symmetricClosure ============
  43. 905.38 s [algebraic-graphs] OK: symmetricClosure empty == empty
  44. 905.38 s [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
  45. 905.38 s [algebraic-graphs] OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)]
  46. 905.38 s [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
  47. 905.38 s [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
  48. 905.38 s [algebraic-graphs]
  49. 905.38 s [algebraic-graphs] ============ Labelled.AdjacencyMap.transitiveClosure ============
  50. 905.38 s [algebraic-graphs] OK: transitiveClosure empty == empty
  51. 905.38 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  52. 905.38 s [algebraic-graphs] OK: transitiveClosure (edge e x y) == edge e x y
  53. 905.38 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  54. 905.38 s [algebraic-graphs]
  55. 905.38 s [algebraic-graphs] ============ Labelled.Graph.empty ============
  56. 905.38 s [algebraic-graphs] OK: isEmpty empty == True
  57. 905.38 s [algebraic-graphs] OK: hasVertex x empty == False
  58. 905.38 s [algebraic-graphs] OK: vertexCount empty == 0
  59. 905.38 s [algebraic-graphs] OK: edgeCount empty == 0
  60. 905.38 s [algebraic-graphs]
  61. 905.38 s [algebraic-graphs] ============ Labelled.Graph.vertex ============
  62. 905.38 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  63. 905.38 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  64. 905.38 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  65. 905.38 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  66. 905.38 s [algebraic-graphs]
  67. 905.38 s [algebraic-graphs] ============ Labelled.Graph.edge ============
  68. 905.38 s [algebraic-graphs] OK: edge e x y == connect e (vertex x) (vertex y)
  69. 905.38 s [algebraic-graphs] OK: edge zero x y == vertices [x,y]
  70. 905.38 s [algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= mempty)
  71. 905.38 s [algebraic-graphs] OK: edgeLabel x y (edge e x y) == e
  72. 905.38 s [algebraic-graphs] OK: edgeCount (edge e x y) == if e == mempty then 0 else 1
  73. 905.38 s [algebraic-graphs] OK: vertexCount (edge e 1 1) == 1
  74. 905.38 s [algebraic-graphs] OK: vertexCount (edge e 1 2) == 2
  75. 905.38 s [algebraic-graphs] OK: x -<e>- y == edge e x y
  76. 905.38 s [algebraic-graphs]
  77. 905.38 s [algebraic-graphs] ============ Labelled.Graph.overlay ============
  78. 905.38 s [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
  79. 905.38 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  80. 905.38 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  81. 905.38 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  82. 905.38 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  83. 905.38 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  84. 905.38 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  85. 905.38 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  86. 905.38 s [algebraic-graphs]
  87. 905.38 s [algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge zero x y) == e
  88. 905.38 s [algebraic-graphs] OK: edgeLabel x y $ overlay (edge e x y) (edge f x y) == e <+> f
  89. 905.38 s [algebraic-graphs]
  90. 905.38 s [algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge one 2 3)) == e
  91. 905.38 s [algebraic-graphs] OK: edgeLabel 1 3 $ transitiveClosure (overlay (edge e 1 2) (edge f 2 3)) == e <.> f
  92. 905.38 s [algebraic-graphs]
  93. 905.38 s [algebraic-graphs] ============ Labelled.Graph.connect ============
  94. 905.38 s [algebraic-graphs] OK: isEmpty (connect e x y) == isEmpty x && isEmpty y
  95. 905.38 s [algebraic-graphs] OK: hasVertex z (connect e x y) == hasVertex z x || hasVertex z y
  96. 905.38 s [algebraic-graphs] OK: vertexCount (connect e x y) >= vertexCount x
  97. 905.38 s [algebraic-graphs] OK: vertexCount (connect e x y) <= vertexCount x + vertexCount y
  98. 905.38 s [algebraic-graphs] OK: edgeCount (connect e x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  99. 905.38 s [algebraic-graphs] OK: vertexCount (connect e 1 2) == 2
  100. 905.38 s [algebraic-graphs] OK: edgeCount (connect e 1 2) == if e == zero then 0 else 1
  101. 905.38 s [algebraic-graphs]
  102. 905.38 s [algebraic-graphs] ============ Labelled.Graph.vertices ============
  103. 905.38 s [algebraic-graphs] OK: vertices [] == empty
  104. 905.38 s [algebraic-graphs] OK: vertices [x] == vertex x
  105. 905.38 s [algebraic-graphs] OK: vertices == overlays . map vertex
  106. 905.38 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  107. 905.38 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  108. 905.38 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  109. 905.38 s [algebraic-graphs]
  110. 905.38 s [algebraic-graphs] ============ Labelled.Graph.edges ============
  111. 905.38 s [algebraic-graphs] OK: edges [] == empty
  112. 905.38 s [algebraic-graphs] OK: edges [(e,x,y)] == edge e x y
  113. 905.38 s [algebraic-graphs] OK: edges == overlays . map (\(e, x, y) -> edge e x y)
  114. 905.38 s [algebraic-graphs]
  115. 905.38 s [algebraic-graphs] ============ Labelled.Graph.overlays ============
  116. 905.38 s [algebraic-graphs] OK: overlays [] == empty
  117. 905.38 s [algebraic-graphs] OK: overlays [x] == x
  118. 905.38 s [algebraic-graphs] OK: overlays [x,y] == overlay x y
  119. 905.38 s [algebraic-graphs] OK: overlays == foldr overlay empty
  120. 905.38 s [algebraic-graphs] OK: isEmpty . overlays == all isEmpty
  121. 905.38 s [algebraic-graphs]
  122. 905.38 s [algebraic-graphs] ============ Labelled.Graph.foldg ============
  123. 905.38 s [algebraic-graphs] OK: foldg empty vertex connect == id
  124. 905.38 s [algebraic-graphs] OK: foldg empty vertex (fmap flip connect) == transpose
  125. 905.38 s [algebraic-graphs] OK: foldg 1 (const 1) (const (+)) == size
  126. 905.38 s [algebraic-graphs] OK: foldg True (const False) (const (&&)) == isEmpty
  127. 905.38 s [algebraic-graphs] OK: foldg False (== x) (const (||)) == hasVertex x
  128. 905.38 s [algebraic-graphs] OK: foldg Set.empty Set.singleton (const Set.union) == vertexSet
  129. 905.38 s [algebraic-graphs]
  130. 905.38 s [algebraic-graphs] ============ Labelled.Graph.buildg ============
  131. 905.38 s [algebraic-graphs] OK: buildg (\e _ _ -> e) == empty
  132. 905.38 s [algebraic-graphs] OK: buildg (\_ v _ -> v x) == vertex x
  133. 905.38 s [algebraic-graphs] OK: buildg (\e v c -> c l (foldg e v c x) (foldg e v c y)) == connect l x y
  134. 905.38 s [algebraic-graphs] OK: buildg (\e v c -> foldr (c zero) e (map v xs)) == vertices xs
  135. 905.38 s [algebraic-graphs] OK: buildg (\e v c -> foldg e v (flip c) g) == transpose g
  136. 905.38 s [algebraic-graphs]
  137. 905.38 s [algebraic-graphs] ============ Labelled.Graph.isSubgraphOf ============
  138. 905.38 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  139. 905.38 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  140. 905.38 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  141. 905.38 s [algebraic-graphs]
  142. 905.38 s [algebraic-graphs] ============ Labelled.Graph.isEmpty ============
  143. 905.38 s [algebraic-graphs] OK: isEmpty empty == True
  144. 905.38 s [algebraic-graphs] OK: isEmpty (overlay empty empty) == True
  145. 905.38 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  146. 905.38 s [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
  147. 905.38 s [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge e x y) == False
  148. 905.38 s [algebraic-graphs]
  149. 905.38 s [algebraic-graphs] ============ Labelled.Graph.size ============
  150. 905.38 s [algebraic-graphs] OK: size empty == 1
  151. 905.38 s [algebraic-graphs] OK: size (vertex x) == 1
  152. 905.38 s [algebraic-graphs] OK: size (overlay x y) == size x + size y
  153. 905.38 s [algebraic-graphs] OK: size (connect x y) == size x + size y
  154. 905.38 s [algebraic-graphs] OK: size x >= 1
  155. 905.38 s [algebraic-graphs] OK: size x >= vertexCount x
  156. 905.38 s [algebraic-graphs]
  157. 905.38 s [algebraic-graphs] ============ Labelled.Graph.hasVertex ============
  158. 905.38 s [algebraic-graphs] OK: hasVertex x empty == False
  159. 905.38 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  160. 905.38 s [algebraic-graphs] OK: hasVertex x . removeVertex x == const False
  161. 905.38 s [algebraic-graphs]
  162. 905.38 s [algebraic-graphs] ============ Labelled.Graph.hasEdge ============
  163. 905.38 s [algebraic-graphs] OK: hasEdge x y empty == False
  164. 905.38 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  165. 905.38 s [algebraic-graphs] OK: hasEdge x y (edge e x y) == (e /= zero)
  166. 905.38 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  167. 905.38 s [algebraic-graphs] OK: hasEdge x y == not . null . filter (\(_,ex,ey) -> ex == x && ey == y) . edgeList
  168. 905.38 s [algebraic-graphs]
  169. 905.38 s [algebraic-graphs] ============ Labelled.Graph.edgeLabel ============
  170. 905.38 s [algebraic-graphs] OK: edgeLabel x y empty == zero
  171. 905.38 s [algebraic-graphs] OK: edgeLabel x y (vertex z) == zero
  172. 905.38 s [algebraic-graphs] OK: edgeLabel x y (edge e x y) == e
  173. 905.38 s [algebraic-graphs] OK: edgeLabel s t (overlay x y) == edgeLabel s t x + edgeLabel s t y
  174. 905.38 s [algebraic-graphs]
  175. 905.38 s [algebraic-graphs] ============ Labelled.Graph.vertexCount ============
  176. 905.38 s [algebraic-graphs] OK: vertexCount empty == 0
  177. 905.38 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  178. 905.38 s [algebraic-graphs] OK: vertexCount == length . vertexList
  179. 905.38 s [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
  180. 905.38 s [algebraic-graphs]
  181. 905.38 s [algebraic-graphs] ============ Labelled.Graph.edgeCount ============
  182. 905.38 s [algebraic-graphs] OK: edgeCount empty == 0
  183. 905.38 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  184. 905.38 s [algebraic-graphs] OK: edgeCount (edge e x y) == if e == zero then 0 else 1
  185. 905.38 s [algebraic-graphs] OK: edgeCount == length . edgeList
  186. 905.38 s [algebraic-graphs]
  187. 905.38 s [algebraic-graphs] ============ Labelled.Graph.vertexList ============
  188. 905.38 s [algebraic-graphs] OK: vertexList empty == []
  189. 905.38 s [algebraic-graphs] OK: vertexList (vertex x) == [x]
  190. 905.38 s [algebraic-graphs] OK: vertexList . vertices == nub . sort
  191. 905.38 s [algebraic-graphs]
  192. 905.38 s [algebraic-graphs] ============ Labelled.Graph.edgeList ============
  193. 905.38 s [algebraic-graphs] OK: edgeList empty == []
  194. 905.38 s [algebraic-graphs] OK: edgeList (vertex x) == []
  195. 905.38 s [algebraic-graphs] OK: edgeList (edge e x y) == if e == zero then [] else [(e,x,y)]
  196. 905.38 s [algebraic-graphs]
  197. 905.38 s [algebraic-graphs] ============ Labelled.Graph.vertexSet ============
  198. 905.38 s [algebraic-graphs] OK: vertexSet empty == Set.empty
  199. 905.39 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  200. 905.39 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  201. 905.39 s [algebraic-graphs]
  202. 905.39 s [algebraic-graphs] ============ Labelled.Graph.edgeSet ============
  203. 905.39 s [algebraic-graphs] OK: edgeSet empty == Set.empty
  204. 905.39 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  205. 905.39 s [algebraic-graphs] OK: edgeSet (edge e x y) == if e == zero then Set.empty else Set.singleton (e,x,y)
  206. 905.39 s [algebraic-graphs]
  207. 905.39 s [algebraic-graphs] ============ Labelled.Graph.preSet ============
  208. 905.39 s [algebraic-graphs] OK: preSet x empty == Set.empty
  209. 905.39 s [algebraic-graphs] OK: preSet x (vertex x) == Set.empty
  210. 907.94 s [algebraic-graphs] OK: preSet 1 (edge e 1 2) == Set.empty
  211. 908.09 s [algebraic-graphs] OK: preSet y (edge e x y) == if e == zero then Set.empty else Set.fromList [x]
  212. 908.09 s [algebraic-graphs]
  213. 908.09 s [algebraic-graphs] ============ Labelled.Graph.postSet ============
  214. 908.09 s [algebraic-graphs] OK: postSet x empty == Set.empty
  215. 908.09 s [algebraic-graphs] OK: postSet x (vertex x) == Set.empty
  216. 908.09 s [algebraic-graphs] OK: postSet x (edge e x y) == if e == zero then Set.empty else Set.fromList [y]
  217. 908.09 s [algebraic-graphs] OK: postSet 2 (edge e 1 2) == Set.empty
  218. 908.09 s [algebraic-graphs]
  219. 908.09 s [algebraic-graphs] ============ Labelled.Graph.removeVertex ============
  220. 908.09 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  221. 908.09 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  222. 908.09 s [algebraic-graphs] OK: removeVertex x (edge e x x) == empty
  223. 908.09 s [algebraic-graphs] OK: removeVertex 1 (edge e 1 2) == vertex 2
  224. 908.09 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  225. 908.09 s [algebraic-graphs]
  226. 908.09 s [algebraic-graphs] ============ Labelled.Graph.removeEdge ============
  227. 908.09 s [algebraic-graphs] OK: removeEdge x y (edge e x y) == vertices [x,y]
  228. 908.09 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  229. 908.09 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  230. 908.09 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  231. 908.09 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  232. 908.09 s [algebraic-graphs]
  233. 908.09 s [algebraic-graphs] ============ Labelled.Graph.replaceVertex ============
  234. 908.09 s [algebraic-graphs] OK: replaceVertex x x == id
  235. 908.09 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  236. 908.09 s [algebraic-graphs] OK: replaceVertex x y == fmap (\v -> if v == x then y else v)
  237. 908.09 s [algebraic-graphs]
  238. 908.09 s [algebraic-graphs] ============ Labelled.Graph.replaceEdge ============
  239. 908.09 s [algebraic-graphs] OK: replaceEdge e x y z == overlay (removeEdge x y z) (edge e x y)
  240. 908.09 s [algebraic-graphs] OK: replaceEdge e x y (edge f x y) == edge e x y
  241. 908.09 s [algebraic-graphs] OK: edgeLabel x y (replaceEdge e x y z) == e
  242. 908.09 s [algebraic-graphs]
  243. 908.09 s [algebraic-graphs] ============ Labelled.Graph.transpose ============
  244. 908.09 s [algebraic-graphs] OK: transpose empty == empty
  245. 908.09 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  246. 908.09 s [algebraic-graphs] OK: transpose (edge e x y) == edge e y x
  247. 908.09 s [algebraic-graphs] OK: transpose . transpose == id
  248. 908.09 s [algebraic-graphs]
  249. 908.09 s [algebraic-graphs] ============ Labelled.Graph.fmap ============
  250. 908.09 s [algebraic-graphs] OK: fmap f empty == empty
  251. 908.09 s [algebraic-graphs] OK: fmap f (vertex x) == vertex (f x)
  252. 908.09 s [algebraic-graphs] OK: fmap f (edge e x y) == edge e (f x) (f y)
  253. 908.09 s [algebraic-graphs] OK: fmap id == id
  254. 908.09 s [algebraic-graphs] OK: fmap f . fmap g == fmap (f . g)
  255. 908.09 s [algebraic-graphs]
  256. 908.09 s [algebraic-graphs] ============ Labelled.Graph.emap ============
  257. 908.09 s [algebraic-graphs] OK: emap h empty == empty
  258. 908.09 s [algebraic-graphs] OK: emap h (vertex x) == vertex x
  259. 908.09 s [algebraic-graphs] OK: emap h (edge e x y) == edge (h e) x y
  260. 908.09 s [algebraic-graphs] OK: emap h (overlay x y) == overlay (emap h x) (emap h y)
  261. 908.09 s [algebraic-graphs] OK: emap h (connect e x y) == connect (h e) (emap h x) (emap h y)
  262. 908.09 s [algebraic-graphs] OK: emap id == id
  263. 908.09 s [algebraic-graphs] OK: emap g . emap h == emap (g . h)
  264. 908.09 s [algebraic-graphs]
  265. 908.09 s [algebraic-graphs] ============ Labelled.Graph.induce ============
  266. 908.09 s [algebraic-graphs] OK: induce (const True ) x == x
  267. 908.09 s [algebraic-graphs] OK: induce (const False) x == empty
  268. 908.09 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  269. 908.09 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  270. 908.09 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  271. 908.09 s [algebraic-graphs]
  272. 908.09 s [algebraic-graphs] ============ Labelled.Graph.induceJust ============
  273. 908.09 s [algebraic-graphs] OK: induceJust (vertex Nothing) == empty
  274. 908.09 s [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
  275. 908.09 s [algebraic-graphs] OK: induceJust . gmap Just == id
  276. 908.09 s [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
  277. 908.09 s [algebraic-graphs]
  278. 908.09 s [algebraic-graphs] ============ Labelled.Graph.closure ============
  279. 908.09 s [algebraic-graphs] OK: closure empty == empty
  280. 908.09 s [algebraic-graphs] OK: closure (vertex x) == edge one x x
  281. 908.09 s [algebraic-graphs] OK: closure (edge e x x) == edge one x x
  282. 908.09 s [algebraic-graphs] OK: closure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
  283. 908.09 s [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
  284. 908.09 s [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
  285. 908.09 s [algebraic-graphs] OK: closure . closure == closure
  286. 908.09 s [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
  287. 908.09 s [algebraic-graphs]
  288. 908.09 s [algebraic-graphs] ============ Labelled.Graph.reflexiveClosure ============
  289. 908.09 s [algebraic-graphs] OK: reflexiveClosure empty == empty
  290. 908.09 s [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge one x x
  291. 908.09 s [algebraic-graphs] OK: reflexiveClosure (edge e x x) == edge one x x
  292. 908.09 s [algebraic-graphs] OK: reflexiveClosure (edge e x y) == edges [(one,x,x), (e,x,y), (one,y,y)]
  293. 908.09 s [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
  294. 908.09 s [algebraic-graphs]
  295. 908.09 s [algebraic-graphs] ============ Labelled.Graph.symmetricClosure ============
  296. 908.09 s [algebraic-graphs] OK: symmetricClosure empty == empty
  297. 908.09 s [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
  298. 908.09 s [algebraic-graphs] OK: symmetricClosure (edge e x y) == edges [(e,x,y), (e,y,x)]
  299. 908.09 s [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
  300. 908.09 s [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
  301. 908.09 s [algebraic-graphs]
  302. 908.09 s [algebraic-graphs] ============ Labelled.Graph.transitiveClosure ============
  303. 908.09 s [algebraic-graphs] OK: transitiveClosure empty == empty
  304. 908.09 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  305. 908.09 s [algebraic-graphs] OK: transitiveClosure (edge e x y) == edge e x y
  306. 908.09 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  307. 908.09 s [algebraic-graphs]
  308. 908.09 s [algebraic-graphs] ============ Labelled.Graph.context ============
  309. 908.09 s [algebraic-graphs] OK: context (const False) x == Nothing
  310. 908.09 s [algebraic-graphs] OK: context (== 1) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [] [(e,2)])
  311. 908.09 s [algebraic-graphs] OK: context (== 2) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [] )
  312. 908.09 s [algebraic-graphs] OK: context (const True ) (edge e 1 2) == if e == zero then Just (Context [] []) else Just (Context [(e,1)] [(e,2)])
  313. 908.09 s [algebraic-graphs] OK: context (== 4) (3 * 1 * 4 * 1 * 5) == Just (Context [(one,3), (one,1)] [(one,1), (one,5)])
  314. 908.09 s [algebraic-graphs]
  315. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap ============
  316. 908.09 s [algebraic-graphs] OK: Axioms of non-empty graphs
  317. 908.09 s [algebraic-graphs] OK: Theorems of non-empty graphs
  318. 908.09 s [algebraic-graphs]
  319. 908.09 s [algebraic-graphs] ============ Ord (NonEmpty.AdjacencyMap a) ============
  320. 908.09 s [algebraic-graphs] OK: vertex 1 < vertex 2
  321. 908.09 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  322. 908.09 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  323. 908.09 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  324. 908.09 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  325. 908.09 s [algebraic-graphs] OK: edge 1 2 < edge 1 3
  326. 908.09 s [algebraic-graphs] OK: x <= x + y
  327. 908.09 s [algebraic-graphs] OK: x + y <= x * y
  328. 908.09 s [algebraic-graphs]
  329. 908.09 s [algebraic-graphs] ============ Show (NonEmpty.AdjacencyMap a) ============
  330. 908.09 s [algebraic-graphs] OK: show (1 :: AdjacencyMap Int) == "vertex 1"
  331. 908.09 s [algebraic-graphs] OK: show (1 + 2 :: AdjacencyMap Int) == "vertices1 [1,2]"
  332. 908.09 s [algebraic-graphs] OK: show (1 * 2 :: AdjacencyMap Int) == "edge 1 2"
  333. 908.09 s [algebraic-graphs] OK: show (1 * 2 * 3 :: AdjacencyMap Int) == "edges1 [(1,2),(1,3),(2,3)]"
  334. 908.09 s [algebraic-graphs] OK: show (1 * 2 + 3 :: AdjacencyMap Int) == "overlay (vertex 3) (edge 1 2)"
  335. 908.09 s [algebraic-graphs] OK: show (vertex (-1) :: AdjacencyMap Int) == "vertex (-1)"
  336. 908.09 s [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) :: AdjacencyMap Int) == "vertices1 [-2,-1]"
  337. 908.09 s [algebraic-graphs] OK: show (vertex (-1) * vertex (-2) :: AdjacencyMap Int) == "edge (-1) (-2)"
  338. 908.09 s [algebraic-graphs] OK: show (vertex (-1) * vertex (-2) * vertex (-3) :: AdjacencyMap Int) == "edges1 [(-2,-3),(-1,-3),(-1,-2)]"
  339. 908.09 s [algebraic-graphs] OK: show (vertex (-1) * vertex (-2) + vertex (-3) :: AdjacencyMap Int) == "overlay (vertex (-3)) (edge (-1) (-2))"
  340. 908.09 s [algebraic-graphs]
  341. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.toNonEmpty ============
  342. 908.09 s [algebraic-graphs] OK: toNonEmpty empty == Nothing
  343. 908.09 s [algebraic-graphs] OK: toNonEmpty . fromNonEmpty == Just
  344. 908.09 s [algebraic-graphs]
  345. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.fromNonEmpty ============
  346. 908.09 s [algebraic-graphs] OK: isEmpty . fromNonEmpty == const False
  347. 908.09 s [algebraic-graphs]
  348. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertex ============
  349. 908.09 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  350. 908.09 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  351. 908.09 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  352. 908.09 s [algebraic-graphs]
  353. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edge ============
  354. 908.09 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  355. 908.09 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  356. 908.09 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  357. 908.09 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  358. 908.09 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  359. 908.09 s [algebraic-graphs]
  360. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.overlay ============
  361. 908.09 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  362. 908.09 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  363. 908.09 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  364. 908.09 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  365. 908.09 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  366. 908.09 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  367. 908.09 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  368. 908.09 s [algebraic-graphs]
  369. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.connect ============
  370. 908.09 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  371. 908.09 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  372. 908.09 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  373. 908.09 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  374. 908.09 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  375. 908.09 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
  376. 908.09 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  377. 908.09 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  378. 908.09 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  379. 908.09 s [algebraic-graphs]
  380. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertices1 ============
  381. 908.09 s [algebraic-graphs] OK: vertices1 [x] == vertex x
  382. 908.09 s [algebraic-graphs] OK: hasVertex x . vertices1 == elem x
  383. 908.09 s [algebraic-graphs] OK: vertexCount . vertices1 == length . nub
  384. 908.09 s [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
  385. 908.09 s [algebraic-graphs]
  386. 908.09 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edges1 ============
  387. 908.09 s [algebraic-graphs] OK: edges1 [(x,y)] == edge x y
  388. 908.09 s [algebraic-graphs] OK: edges1 == overlays1 . fmap (uncurry edge)
  389. 908.09 s [algebraic-graphs] OK: edgeCount . edges1 == length . nub
  390. 908.09 s [algebraic-graphs]
  391. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.overlays1 ============
  392. 911.02 s [algebraic-graphs] OK: overlays1 [x] == x
  393. 911.02 s [algebraic-graphs] OK: overlays1 [x,y] == overlay x y
  394. 911.02 s [algebraic-graphs]
  395. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.connects1 ============
  396. 911.02 s [algebraic-graphs] OK: connects1 [x] == x
  397. 911.02 s [algebraic-graphs] OK: connects1 [x,y] == connect x y
  398. 911.02 s [algebraic-graphs]
  399. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.isSubgraphOf ============
  400. 911.02 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  401. 911.02 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  402. 911.02 s [algebraic-graphs] OK: isSubgraphOf (path1 xs) (circuit1 xs) == True
  403. 911.02 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  404. 911.02 s [algebraic-graphs]
  405. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.hasVertex ============
  406. 911.02 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  407. 911.02 s [algebraic-graphs]
  408. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.hasEdge ============
  409. 911.02 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  410. 911.02 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  411. 911.02 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  412. 911.02 s [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
  413. 911.02 s [algebraic-graphs]
  414. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexCount ============
  415. 911.02 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  416. 911.02 s [algebraic-graphs] OK: vertexCount x >= 1
  417. 911.02 s [algebraic-graphs] OK: vertexCount == length . vertexList1
  418. 911.02 s [algebraic-graphs]
  419. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeCount ============
  420. 911.02 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  421. 911.02 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  422. 911.02 s [algebraic-graphs] OK: edgeCount == length . edgeList
  423. 911.02 s [algebraic-graphs]
  424. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexList1 ============
  425. 911.02 s [algebraic-graphs] OK: vertexList1 (vertex x) == [x]
  426. 911.02 s [algebraic-graphs] OK: vertexList1 . vertices1 == nub . sort
  427. 911.02 s [algebraic-graphs]
  428. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeList ============
  429. 911.02 s [algebraic-graphs] OK: edgeList (vertex x) == []
  430. 911.02 s [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
  431. 911.02 s [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
  432. 911.02 s [algebraic-graphs] OK: edgeList . edges1 == nub . sort . toList
  433. 911.02 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  434. 911.02 s [algebraic-graphs]
  435. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.vertexSet ============
  436. 911.02 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  437. 911.02 s [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
  438. 911.02 s [algebraic-graphs] OK: vertexSet . clique1 == Set.fromList . toList
  439. 911.02 s [algebraic-graphs]
  440. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.edgeSet ============
  441. 911.02 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  442. 911.02 s [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
  443. 911.02 s [algebraic-graphs] OK: edgeSet . edges1 == Set.fromList . toList
  444. 911.02 s [algebraic-graphs]
  445. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.preSet ============
  446. 911.02 s [algebraic-graphs] OK: preSet x (vertex x) == Set.empty
  447. 911.02 s [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty
  448. 911.02 s [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x]
  449. 911.02 s [algebraic-graphs]
  450. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.postSet ============
  451. 911.02 s [algebraic-graphs] OK: postSet x (vertex x) == Set.empty
  452. 911.02 s [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y]
  453. 911.02 s [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty
  454. 911.02 s [algebraic-graphs]
  455. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.path1 ============
  456. 911.02 s [algebraic-graphs] OK: path1 [x] == vertex x
  457. 911.02 s [algebraic-graphs] OK: path1 [x,y] == edge x y
  458. 911.02 s [algebraic-graphs] OK: path1 . reverse == transpose . path1
  459. 911.02 s [algebraic-graphs]
  460. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.circuit1 ============
  461. 911.02 s [algebraic-graphs] OK: circuit1 [x] == edge x x
  462. 911.02 s [algebraic-graphs] OK: circuit1 [x,y] == edges1 [(x,y), (y,x)]
  463. 911.02 s [algebraic-graphs] OK: circuit1 . reverse == transpose . circuit1
  464. 911.02 s [algebraic-graphs]
  465. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.clique1 ============
  466. 911.02 s [algebraic-graphs] OK: clique1 [x] == vertex x
  467. 911.02 s [algebraic-graphs] OK: clique1 [x,y] == edge x y
  468. 911.02 s [algebraic-graphs] OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)]
  469. 911.02 s [algebraic-graphs] OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys)
  470. 911.02 s [algebraic-graphs] OK: clique1 . reverse == transpose . clique1
  471. 911.02 s [algebraic-graphs]
  472. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.biclique1 ============
  473. 911.02 s [algebraic-graphs] OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  474. 911.02 s [algebraic-graphs] OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys)
  475. 911.02 s [algebraic-graphs]
  476. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.star ============
  477. 911.02 s [algebraic-graphs] OK: star x [] == vertex x
  478. 911.02 s [algebraic-graphs] OK: star x [y] == edge x y
  479. 911.02 s [algebraic-graphs] OK: star x [y,z] == edges1 [(x,y), (x,z)]
  480. 911.02 s [algebraic-graphs]
  481. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.stars1 ============
  482. 911.02 s [algebraic-graphs] OK: stars1 [(x, [] )] == vertex x
  483. 911.02 s [algebraic-graphs] OK: stars1 [(x, [y])] == edge x y
  484. 911.02 s [algebraic-graphs] OK: stars1 [(x, ys )] == star x ys
  485. 911.02 s [algebraic-graphs] OK: stars1 == overlays1 . fmap (uncurry star)
  486. 911.02 s [algebraic-graphs] OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys)
  487. 911.02 s [algebraic-graphs]
  488. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.tree ============
  489. 911.02 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  490. 911.02 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z]
  491. 911.02 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  492. 911.02 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)]
  493. 911.02 s [algebraic-graphs]
  494. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.removeVertex1 ============
  495. 911.02 s [algebraic-graphs] OK: removeVertex1 x (vertex x) == Nothing
  496. 911.02 s [algebraic-graphs] OK: removeVertex1 1 (vertex 2) == Just (vertex 2)
  497. 911.02 s [algebraic-graphs] OK: removeVertex1 x (edge x x) == Nothing
  498. 911.02 s [algebraic-graphs] OK: removeVertex1 1 (edge 1 2) == Just (vertex 2)
  499. 911.02 s [algebraic-graphs] OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x
  500. 911.02 s [algebraic-graphs]
  501. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.removeEdge ============
  502. 911.02 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices1 [x,y]
  503. 911.02 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  504. 911.02 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  505. 911.02 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  506. 911.02 s [algebraic-graphs]
  507. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.replaceVertex ============
  508. 911.02 s [algebraic-graphs] OK: replaceVertex x x == id
  509. 911.02 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  510. 911.02 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  511. 911.02 s [algebraic-graphs]
  512. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.mergeVertices ============
  513. 911.02 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  514. 911.02 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  515. 911.02 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  516. 911.02 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  517. 911.02 s [algebraic-graphs]
  518. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.transpose ============
  519. 911.02 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  520. 911.02 s [algebraic-graphs] OK: transpose (edge x y) == edge y x
  521. 911.02 s [algebraic-graphs] OK: transpose . transpose == id
  522. 911.02 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  523. 911.02 s [algebraic-graphs]
  524. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.gmap ============
  525. 911.02 s [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
  526. 911.02 s [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
  527. 911.02 s [algebraic-graphs] OK: gmap id == id
  528. 911.02 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  529. 911.02 s [algebraic-graphs]
  530. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.induce1 ============
  531. 911.02 s [algebraic-graphs] OK: induce1 (const True ) x == Just x
  532. 911.02 s [algebraic-graphs] OK: induce1 (const False) x == Nothing
  533. 911.02 s [algebraic-graphs] OK: induce1 (/= x) == removeVertex1 x
  534. 911.02 s [algebraic-graphs] OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x)
  535. 911.02 s [algebraic-graphs]
  536. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.induceJust1 ============
  537. 911.02 s [algebraic-graphs] OK: induceJust1 (vertex Nothing) == Nothing
  538. 911.02 s [algebraic-graphs] OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x)
  539. 911.02 s [algebraic-graphs] OK: induceJust1 . gmap Just == Just
  540. 911.02 s [algebraic-graphs] OK: induceJust1 . gmap (\x -> if p x then Just x else Nothing) == induce1 p
  541. 911.02 s [algebraic-graphs]
  542. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.closure ============
  543. 911.02 s [algebraic-graphs] OK: closure (vertex x) == edge x x
  544. 911.02 s [algebraic-graphs] OK: closure (edge x x) == edge x x
  545. 911.02 s [algebraic-graphs] OK: closure (edge x y) == edges1 [(x,x), (x,y), (y,y)]
  546. 911.02 s [algebraic-graphs] OK: closure (path1 $ nub xs) == reflexiveClosure (clique1 $ nub xs)
  547. 911.02 s [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
  548. 911.02 s [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
  549. 911.02 s [algebraic-graphs] OK: closure . closure == closure
  550. 911.02 s [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
  551. 911.02 s [algebraic-graphs]
  552. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.reflexiveClosure ============
  553. 911.02 s [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x
  554. 911.02 s [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x
  555. 911.02 s [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges1 [(x,x), (x,y), (y,y)]
  556. 911.02 s [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
  557. 911.02 s [algebraic-graphs]
  558. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.symmetricClosure ============
  559. 911.02 s [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
  560. 911.02 s [algebraic-graphs] OK: symmetricClosure (edge x y) == edges1 [(x,y), (y,x)]
  561. 911.02 s [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
  562. 911.02 s [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
  563. 911.02 s [algebraic-graphs]
  564. 911.02 s [algebraic-graphs] ============ NonEmpty.AdjacencyMap.transitiveClosure ============
  565. 911.02 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  566. 911.02 s [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y
  567. 911.02 s [algebraic-graphs] OK: transitiveClosure (path1 $ nub xs) == clique1 (nub $ xs)
  568. 911.02 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  569. 911.02 s [algebraic-graphs]
  570. 911.02 s [algebraic-graphs] ============ NonEmpty.Graph.============
  571. 911.02 s [algebraic-graphs] OK: Axioms of non-empty graphs
  572. 911.02 s [algebraic-graphs] OK: Theorems of non-empty graphs
  573. 911.02 s [algebraic-graphs]
  574. 911.02 s [algebraic-graphs] ============ Ord (NonEmpty.Graph a) ============
  575. 911.02 s [algebraic-graphs] OK: vertex 1 < vertex 2
  576. 911.02 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  577. 911.02 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  578. 911.02 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  579. 911.02 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  580. 911.02 s [algebraic-graphs] OK: edge 1 2 < edge 1 3
  581. 911.02 s [algebraic-graphs] OK: x <= x + y
  582. 911.02 s [algebraic-graphs] OK: x + y <= x * y
  583. 911.02 s [algebraic-graphs]
  584. 911.02 s [algebraic-graphs] ============ Functor (NonEmpty.Graph a) ============
  585. 911.02 s [algebraic-graphs] OK: fmap f (vertex x) == vertex (f x)
  586. 911.02 s [algebraic-graphs] OK: fmap f (edge x y) == edge (f x) (f y)
  587. 911.02 s [algebraic-graphs] OK: fmap id == id
  588. 911.02 s [algebraic-graphs] OK: fmap f . fmap g == fmap (f . g)
  589. 911.02 s [algebraic-graphs]
  590. 911.02 s [algebraic-graphs] ============ Monad (NonEmpty.Graph a) ============
  591. 911.02 s [algebraic-graphs] OK: (vertex x >>= f) == f x
  592. 912.35 s [algebraic-graphs] OK: (edge x y >>= f) == connect (f x) (f y)
  593. 912.35 s [algebraic-graphs] OK: (vertices1 xs >>= f) == overlays1 (fmap f xs)
  594. 912.35 s [algebraic-graphs] OK: (x >>= vertex) == x
  595. 912.35 s [algebraic-graphs] OK: ((x >>= f) >>= g) == (x >>= (\y -> (f y) >>= g))
  596. 912.35 s [algebraic-graphs]
  597. 912.35 s [algebraic-graphs] ============ NonEmpty.Graph.toNonEmpty ============
  598. 912.35 s [algebraic-graphs] OK: toNonEmpty empty == Nothing
  599. 912.35 s [algebraic-graphs] OK: toNonEmpty (toGraph x) == Just (x :: NonEmpty.Graph a)
  600. 912.35 s [algebraic-graphs]
  601. 912.35 s [algebraic-graphs] ============ NonEmpty.Graph.vertex ============
  602. 912.35 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  603. 912.35 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  604. 912.35 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  605. 912.35 s [algebraic-graphs] OK: size (vertex x) == 1
  606. 912.36 s [algebraic-graphs]
  607. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.edge ============
  608. 912.36 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  609. 912.36 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  610. 912.36 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  611. 912.36 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  612. 912.36 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  613. 912.36 s [algebraic-graphs]
  614. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.overlay ============
  615. 912.36 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  616. 912.36 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  617. 912.36 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  618. 912.36 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  619. 912.36 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  620. 912.36 s [algebraic-graphs] OK: size (overlay x y) == size x + size y
  621. 912.36 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  622. 912.36 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  623. 912.36 s [algebraic-graphs]
  624. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.overlay1 ============
  625. 912.36 s [algebraic-graphs] OK: overlay1 empty x == x
  626. 912.36 s [algebraic-graphs] OK: x /= empty ==> overlay1 x y == overlay (fromJust $ toNonEmpty x) y
  627. 912.36 s [algebraic-graphs]
  628. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.connect ============
  629. 912.36 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  630. 912.36 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  631. 912.36 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  632. 912.36 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  633. 912.36 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  634. 912.36 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
  635. 912.36 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  636. 912.36 s [algebraic-graphs] OK: size (connect x y) == size x + size y
  637. 912.36 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  638. 912.36 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  639. 912.36 s [algebraic-graphs]
  640. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.vertices1 ============
  641. 912.36 s [algebraic-graphs] OK: vertices1 [x] == vertex x
  642. 912.36 s [algebraic-graphs] OK: hasVertex x . vertices1 == elem x
  643. 912.36 s [algebraic-graphs] OK: vertexCount . vertices1 == length . nub
  644. 912.36 s [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
  645. 912.36 s [algebraic-graphs]
  646. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.edges1 ============
  647. 912.36 s [algebraic-graphs] OK: edges1 [(x,y)] == edge x y
  648. 912.36 s [algebraic-graphs] OK: edges1 == overlays1 . fmap (uncurry edge)
  649. 912.36 s [algebraic-graphs] OK: edgeCount . edges1 == length . nub
  650. 912.36 s [algebraic-graphs]
  651. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.overlays1 ============
  652. 912.36 s [algebraic-graphs] OK: overlays1 [x] == x
  653. 912.36 s [algebraic-graphs] OK: overlays1 [x,y] == overlay x y
  654. 912.36 s [algebraic-graphs]
  655. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.connects1 ============
  656. 912.36 s [algebraic-graphs] OK: connects1 [x] == x
  657. 912.36 s [algebraic-graphs] OK: connects1 [x,y] == connect x y
  658. 912.36 s [algebraic-graphs]
  659. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.foldg1 ============
  660. 912.36 s [algebraic-graphs] OK: foldg1 vertex overlay connect == id
  661. 912.36 s [algebraic-graphs] OK: foldg1 vertex overlay (flip connect) == transpose
  662. 912.36 s [algebraic-graphs] OK: foldg1 (const 1) (+) (+) == size
  663. 912.36 s [algebraic-graphs] OK: foldg1 (== x) (||) (||) == hasVertex x
  664. 912.36 s [algebraic-graphs]
  665. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.isSubgraphOf ============
  666. 912.36 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  667. 912.36 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  668. 912.36 s [algebraic-graphs] OK: isSubgraphOf (path1 xs) (circuit1 xs) == True
  669. 912.36 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  670. 912.36 s [algebraic-graphs]
  671. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.(===) ============
  672. 912.36 s [algebraic-graphs] OK: x === x == True
  673. 912.36 s [algebraic-graphs] OK: x + y === x + y == True
  674. 912.36 s [algebraic-graphs] OK: 1 + 2 === 2 + 1 == False
  675. 912.36 s [algebraic-graphs] OK: x + y === x * y == False
  676. 912.36 s [algebraic-graphs]
  677. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.size ============
  678. 912.36 s [algebraic-graphs] OK: size (vertex x) == 1
  679. 912.36 s [algebraic-graphs] OK: size (overlay x y) == size x + size y
  680. 912.36 s [algebraic-graphs] OK: size (connect x y) == size x + size y
  681. 912.36 s [algebraic-graphs] OK: size x >= 1
  682. 912.36 s [algebraic-graphs] OK: size x >= vertexCount x
  683. 912.36 s [algebraic-graphs]
  684. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.hasVertex ============
  685. 912.36 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  686. 912.36 s [algebraic-graphs]
  687. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.hasEdge ============
  688. 912.36 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  689. 912.36 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  690. 912.36 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  691. 912.36 s [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
  692. 912.36 s [algebraic-graphs]
  693. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.vertexCount ============
  694. 912.36 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  695. 912.36 s [algebraic-graphs] OK: vertexCount x >= 1
  696. 912.36 s [algebraic-graphs] OK: vertexCount == length . vertexList1
  697. 912.36 s [algebraic-graphs]
  698. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.edgeCount ============
  699. 912.36 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  700. 912.36 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  701. 912.36 s [algebraic-graphs] OK: edgeCount == length . edgeList
  702. 912.36 s [algebraic-graphs]
  703. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.vertexList1 ============
  704. 912.36 s [algebraic-graphs] OK: vertexList1 (vertex x) == [x]
  705. 912.36 s [algebraic-graphs] OK: vertexList1 . vertices1 == nub . sort
  706. 912.36 s [algebraic-graphs]
  707. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.edgeList ============
  708. 912.36 s [algebraic-graphs] OK: edgeList (vertex x) == []
  709. 912.36 s [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
  710. 912.36 s [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
  711. 912.36 s [algebraic-graphs] OK: edgeList . edges1 == nub . sort . toList
  712. 912.36 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  713. 912.36 s [algebraic-graphs]
  714. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.vertexSet ============
  715. 912.36 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  716. 912.36 s [algebraic-graphs] OK: vertexSet . vertices1 == Set.fromList . toList
  717. 912.36 s [algebraic-graphs] OK: vertexSet . clique1 == Set.fromList . toList
  718. 912.36 s [algebraic-graphs]
  719. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.edgeSet ============
  720. 912.36 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  721. 912.36 s [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
  722. 912.36 s [algebraic-graphs] OK: edgeSet . edges1 == Set.fromList . toList
  723. 912.36 s [algebraic-graphs]
  724. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.path1 ============
  725. 912.36 s [algebraic-graphs] OK: path1 [x] == vertex x
  726. 912.36 s [algebraic-graphs] OK: path1 [x,y] == edge x y
  727. 912.36 s [algebraic-graphs] OK: path1 . reverse == transpose . path1
  728. 912.36 s [algebraic-graphs]
  729. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.circuit1 ============
  730. 912.36 s [algebraic-graphs] OK: circuit1 [x] == edge x x
  731. 912.36 s [algebraic-graphs] OK: circuit1 [x,y] == edges1 [(x,y), (y,x)]
  732. 912.36 s [algebraic-graphs] OK: circuit1 . reverse == transpose . circuit1
  733. 912.36 s [algebraic-graphs]
  734. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.clique1 ============
  735. 912.36 s [algebraic-graphs] OK: clique1 [x] == vertex x
  736. 912.36 s [algebraic-graphs] OK: clique1 [x,y] == edge x y
  737. 912.36 s [algebraic-graphs] OK: clique1 [x,y,z] == edges1 [(x,y), (x,z), (y,z)]
  738. 912.36 s [algebraic-graphs] OK: clique1 (xs <> ys) == connect (clique1 xs) (clique1 ys)
  739. 912.36 s [algebraic-graphs] OK: clique1 . reverse == transpose . clique1
  740. 912.36 s [algebraic-graphs]
  741. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.biclique1 ============
  742. 912.36 s [algebraic-graphs] OK: biclique1 [x1,x2] [y1,y2] == edges1 [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  743. 912.36 s [algebraic-graphs] OK: biclique1 xs ys == connect (vertices1 xs) (vertices1 ys)
  744. 912.36 s [algebraic-graphs]
  745. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.star ============
  746. 912.36 s [algebraic-graphs] OK: star x [] == vertex x
  747. 912.36 s [algebraic-graphs] OK: star x [y] == edge x y
  748. 912.36 s [algebraic-graphs] OK: star x [y,z] == edges1 [(x,y), (x,z)]
  749. 912.36 s [algebraic-graphs]
  750. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.stars1 ============
  751. 912.36 s [algebraic-graphs] OK: stars1 [(x, [] )] == vertex x
  752. 912.36 s [algebraic-graphs] OK: stars1 [(x, [y])] == edge x y
  753. 912.36 s [algebraic-graphs] OK: stars1 [(x, ys )] == star x ys
  754. 912.36 s [algebraic-graphs] OK: stars1 == overlays1 . fmap (uncurry star)
  755. 912.36 s [algebraic-graphs] OK: overlay (stars1 xs) (stars1 ys) == stars1 (xs <> ys)
  756. 912.36 s [algebraic-graphs]
  757. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.tree ============
  758. 912.36 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  759. 912.36 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path1 [x,y,z]
  760. 912.36 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  761. 912.36 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges1 [(1,2), (1,3), (3,4), (3,5)]
  762. 912.36 s [algebraic-graphs]
  763. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.mesh1 ============
  764. 912.36 s [algebraic-graphs] OK: mesh1 [x] [y] == vertex (x, y)
  765. 912.36 s [algebraic-graphs] OK: mesh1 xs ys == box (path1 xs) (path1 ys)
  766. 912.36 s [algebraic-graphs] OK: mesh1 [1,2,3] ['a', 'b'] == <correct result>
  767. 912.36 s [algebraic-graphs] OK: size (mesh xs ys) == max 1 (3 * length xs * length ys - length xs - length ys -1)
  768. 912.36 s [algebraic-graphs]
  769. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.torus1 ============
  770. 912.36 s [algebraic-graphs] OK: torus1 [x] [y] == edge (x,y) (x,y)
  771. 912.36 s [algebraic-graphs] OK: torus1 xs ys == box (circuit1 xs) (circuit1 ys)
  772. 912.36 s [algebraic-graphs] OK: torus1 [1,2] ['a', 'b'] == <correct result>
  773. 912.36 s [algebraic-graphs] OK: size (torus1 xs ys) == max 1 (3 * length xs * length ys)
  774. 912.36 s [algebraic-graphs]
  775. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.removeVertex1 ============
  776. 912.36 s [algebraic-graphs] OK: removeVertex1 x (vertex x) == Nothing
  777. 912.36 s [algebraic-graphs] OK: removeVertex1 1 (vertex 2) == Just (vertex 2)
  778. 912.36 s [algebraic-graphs] OK: removeVertex1 x (edge x x) == Nothing
  779. 912.36 s [algebraic-graphs] OK: removeVertex1 1 (edge 1 2) == Just (vertex 2)
  780. 912.36 s [algebraic-graphs] OK: removeVertex1 x >=> removeVertex1 x == removeVertex1 x
  781. 912.36 s [algebraic-graphs]
  782. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.removeEdge ============
  783. 912.36 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices1 [x,y]
  784. 912.36 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  785. 912.36 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  786. 912.36 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  787. 912.36 s [algebraic-graphs] OK: size (removeEdge x y z) <= 3 * size z
  788. 912.36 s [algebraic-graphs]
  789. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.replaceVertex ============
  790. 912.36 s [algebraic-graphs] OK: replaceVertex x x == id
  791. 912.36 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  792. 912.36 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  793. 912.36 s [algebraic-graphs]
  794. 912.36 s [algebraic-graphs] ============ NonEmpty.Graph.mergeVertices ============
  795. 912.36 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  796. 918.22 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  797. 918.22 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  798. 918.25 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  799. 918.25 s [algebraic-graphs]
  800. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.splitVertex1 ============
  801. 918.25 s [algebraic-graphs] OK: splitVertex1 x [x] == id
  802. 918.25 s [algebraic-graphs] OK: splitVertex1 x [y] == replaceVertex x y
  803. 918.25 s [algebraic-graphs] OK: splitVertex1 1 [0,1] $ 1 * (2 + 3) == (0 + 1) * (2 + 3)
  804. 918.25 s [algebraic-graphs]
  805. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.transpose ============
  806. 918.25 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  807. 918.25 s [algebraic-graphs] OK: transpose (edge x y) == edge y x
  808. 918.25 s [algebraic-graphs] OK: transpose . transpose == id
  809. 918.25 s [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y)
  810. 918.25 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  811. 918.25 s [algebraic-graphs]
  812. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.induce1 ============
  813. 918.25 s [algebraic-graphs] OK: induce1 (const True ) x == Just x
  814. 918.25 s [algebraic-graphs] OK: induce1 (const False) x == Nothing
  815. 918.25 s [algebraic-graphs] OK: induce1 (/= x) == removeVertex1 x
  816. 918.25 s [algebraic-graphs] OK: induce1 p >=> induce1 q == induce1 (\x -> p x && q x)
  817. 918.25 s [algebraic-graphs]
  818. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.induceJust1 ============
  819. 918.25 s [algebraic-graphs] OK: induceJust1 (vertex Nothing) == Nothing
  820. 918.25 s [algebraic-graphs] OK: induceJust1 (edge (Just x) Nothing) == Just (vertex x)
  821. 918.25 s [algebraic-graphs] OK: induceJust1 . fmap Just == Just
  822. 918.25 s [algebraic-graphs] OK: induceJust1 . fmap (\x -> if p x then Just x else Nothing) == induce1 p
  823. 918.25 s [algebraic-graphs]
  824. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.simplify ============
  825. 918.25 s [algebraic-graphs] OK: simplify == id
  826. 918.25 s [algebraic-graphs] OK: size (simplify x) <= size x
  827. 918.25 s [algebraic-graphs] OK: simplify 1 === 1
  828. 918.25 s [algebraic-graphs] OK: simplify (1 + 1) === 1
  829. 918.25 s [algebraic-graphs] OK: simplify (1 + 2 + 1) === 1 + 2
  830. 918.25 s [algebraic-graphs] OK: simplify (1 * 1 * 1) === 1 * 1
  831. 918.25 s [algebraic-graphs]
  832. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.sparsify ============
  833. 918.25 s [algebraic-graphs] OK: sort . reachable x == sort . rights . reachable (sparsify x) . Right
  834. 918.25 s [algebraic-graphs] OK: vertexCount (sparsify x) <= vertexCount x + size x + 1
  835. 918.25 s [algebraic-graphs] OK: edgeCount (sparsify x) <= 3 * size x
  836. 918.25 s [algebraic-graphs] OK: size (sparsify x) <= 3 * size x
  837. 918.25 s [algebraic-graphs]
  838. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.sparsifyKL ============
  839. 918.25 s [algebraic-graphs] OK: sort . reachable x == sort . filter (<= n) . reachable (sparsifyKL n x)
  840. 918.25 s [algebraic-graphs] OK: length (vertices $ sparsifyKL n x) <= vertexCount x + size x + 1
  841. 918.25 s [algebraic-graphs] OK: length (edges $ sparsifyKL n x) <= 3 * size x
  842. 918.25 s [algebraic-graphs]
  843. 918.25 s [algebraic-graphs] ============ NonEmpty.Graph.box ============
  844. 918.25 s [algebraic-graphs] OK: box (path1 [0,1]) (path1 ['a','b']) == <correct result>
  845. 918.25 s [algebraic-graphs] OK: box x y ~~ box y x
  846. 918.25 s [algebraic-graphs] OK: box x (overlay y z) == overlay (box x y) (box x z)
  847. 918.25 s [algebraic-graphs] OK: box x (vertex ()) ~~ x
  848. 918.25 s [algebraic-graphs] OK: box x (box y z) ~~ box (box x y) z
  849. 918.25 s [algebraic-graphs] OK: transpose (box x y) == box (transpose x) (transpose y)
  850. 918.25 s [algebraic-graphs] OK: vertexCount (box x y) == vertexCount x * vertexCount y
  851. 918.25 s [algebraic-graphs] OK: edgeCount (box x y) <= vertexCount x * edgeCount y + edgeCount x * vertexCount y
  852. 918.25 s [algebraic-graphs]
  853. 918.25 s [algebraic-graphs] ============ Relation ============
  854. 918.25 s [algebraic-graphs] OK: Axioms of graphs
  855. 918.25 s [algebraic-graphs]
  856. 918.25 s [algebraic-graphs] ============ Relation.consistent ============
  857. 918.25 s [algebraic-graphs] OK: Consistency of the Arbitrary instance
  858. 918.25 s [algebraic-graphs]
  859. 918.25 s [algebraic-graphs] OK: consistent empty == True
  860. 918.25 s [algebraic-graphs] OK: consistent (vertex x) == True
  861. 918.25 s [algebraic-graphs] OK: consistent (overlay x y) == True
  862. 918.25 s [algebraic-graphs] OK: consistent (connect x y) == True
  863. 918.25 s [algebraic-graphs] OK: consistent (edge x y) == True
  864. 918.25 s [algebraic-graphs] OK: consistent (edges xs) == True
  865. 918.25 s [algebraic-graphs] OK: consistent (stars xs) == True
  866. 918.25 s [algebraic-graphs]
  867. 918.25 s [algebraic-graphs] ============ Relation.Show ============
  868. 918.25 s [algebraic-graphs] OK: show (empty ) == "empty"
  869. 918.25 s [algebraic-graphs] OK: show (1 ) == "vertex 1"
  870. 918.25 s [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
  871. 918.25 s [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
  872. 918.25 s [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
  873. 918.25 s [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
  874. 918.25 s [algebraic-graphs]
  875. 918.25 s [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
  876. 918.25 s [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
  877. 918.26 s [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
  878. 918.26 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
  879. 918.26 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
  880. 918.26 s [algebraic-graphs]
  881. 918.26 s [algebraic-graphs] ============ Relation.Ord ============
  882. 918.26 s [algebraic-graphs] OK: vertex 1 < vertex 2
  883. 918.26 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  884. 918.26 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  885. 918.26 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  886. 918.26 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  887. 918.26 s [algebraic-graphs] OK: edge 1 2 < edge 1 3
  888. 918.26 s [algebraic-graphs] OK: x <= x + y
  889. 918.26 s [algebraic-graphs] OK: x + y <= x * y
  890. 918.26 s [algebraic-graphs]
  891. 918.26 s [algebraic-graphs] ============ Relation.empty ============
  892. 918.26 s [algebraic-graphs] OK: isEmpty empty == True
  893. 918.26 s [algebraic-graphs] OK: hasVertex x empty == False
  894. 918.26 s [algebraic-graphs] OK: vertexCount empty == 0
  895. 918.26 s [algebraic-graphs] OK: edgeCount empty == 0
  896. 918.26 s [algebraic-graphs]
  897. 918.26 s [algebraic-graphs] ============ Relation.vertex ============
  898. 918.26 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  899. 918.26 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  900. 918.26 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  901. 918.26 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  902. 918.26 s [algebraic-graphs]
  903. 918.26 s [algebraic-graphs] ============ Relation.edge ============
  904. 918.26 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  905. 918.26 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  906. 918.26 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  907. 918.26 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  908. 918.26 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  909. 918.26 s [algebraic-graphs]
  910. 918.26 s [algebraic-graphs] ============ Relation.overlay ============
  911. 918.26 s [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
  912. 918.26 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  913. 918.26 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  914. 918.26 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  915. 918.26 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  916. 918.26 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  917. 918.26 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  918. 918.26 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  919. 918.26 s [algebraic-graphs]
  920. 918.26 s [algebraic-graphs] ============ Relation.connect ============
  921. 918.26 s [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
  922. 918.26 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  923. 918.26 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  924. 918.26 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  925. 918.26 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  926. 918.26 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  927. 918.26 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y
  928. 918.26 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  929. 918.26 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  930. 918.26 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  931. 918.26 s [algebraic-graphs]
  932. 918.26 s [algebraic-graphs] ============ Relation.vertices ============
  933. 918.26 s [algebraic-graphs] OK: vertices [] == empty
  934. 918.26 s [algebraic-graphs] OK: vertices [x] == vertex x
  935. 918.26 s [algebraic-graphs] OK: vertices == overlays . map vertex
  936. 918.26 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  937. 918.26 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  938. 918.26 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  939. 918.26 s [algebraic-graphs]
  940. 918.26 s [algebraic-graphs] ============ Relation.edges ============
  941. 918.26 s [algebraic-graphs] OK: edges [] == empty
  942. 918.26 s [algebraic-graphs] OK: edges [(x,y)] == edge x y
  943. 918.26 s [algebraic-graphs] OK: edges == overlays . map (uncurry edge)
  944. 918.26 s [algebraic-graphs] OK: edgeCount . edges == length . nub
  945. 918.26 s [algebraic-graphs]
  946. 918.26 s [algebraic-graphs] ============ Relation.overlays ============
  947. 918.26 s [algebraic-graphs] OK: overlays [] == empty
  948. 918.26 s [algebraic-graphs] OK: overlays [x] == x
  949. 918.26 s [algebraic-graphs] OK: overlays [x,y] == overlay x y
  950. 918.26 s [algebraic-graphs] OK: overlays == foldr overlay empty
  951. 918.26 s [algebraic-graphs] OK: isEmpty . overlays == all isEmpty
  952. 918.26 s [algebraic-graphs]
  953. 918.26 s [algebraic-graphs] ============ Relation.connects ============
  954. 918.26 s [algebraic-graphs] OK: connects [] == empty
  955. 918.26 s [algebraic-graphs] OK: connects [x] == x
  956. 918.26 s [algebraic-graphs] OK: connects [x,y] == connect x y
  957. 918.26 s [algebraic-graphs] OK: connects == foldr connect empty
  958. 918.26 s [algebraic-graphs] OK: isEmpty . connects == all isEmpty
  959. 918.26 s [algebraic-graphs]
  960. 918.26 s [algebraic-graphs] ============ Relation.isSubgraphOf ============
  961. 918.26 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  962. 918.26 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  963. 918.26 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  964. 918.26 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  965. 918.26 s [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
  966. 918.26 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  967. 918.26 s [algebraic-graphs]
  968. 918.26 s [algebraic-graphs] ============ Relation.toGraph et al. ============
  969. 918.26 s [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect
  970. 918.26 s [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph
  971. 918.26 s [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&)
  972. 918.26 s [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+)
  973. 918.26 s [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||)
  974. 918.26 s [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph
  975. 918.26 s [algebraic-graphs] OK: vertexCount == Set.size . vertexSet
  976. 918.26 s [algebraic-graphs] OK: edgeCount == Set.size . edgeSet
  977. 918.26 s [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet
  978. 918.26 s [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet
  979. 918.26 s [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union
  980. 918.26 s [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union
  981. 918.26 s [algebraic-graphs] OK: edgeSet == Algebra.Graph.AdjacencyMap.edgeSet . foldg empty vertex overlay connect
  982. 918.26 s [algebraic-graphs] OK: preSet x == Algebra.Graph.AdjacencyMap.preSet x . toAdjacencyMap
  983. 918.26 s [algebraic-graphs] OK: preIntSet x == Algebra.Graph.AdjacencyIntMap.preIntSet x . toAdjacencyIntMap
  984. 918.26 s [algebraic-graphs] OK: postSet x == Algebra.Graph.AdjacencyMap.postSet x . toAdjacencyMap
  985. 918.26 s [algebraic-graphs] OK: postIntSet x == Algebra.Graph.AdjacencyIntMap.postIntSet x . toAdjacencyIntMap
  986. 921.28 s [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap
  987. 921.28 s [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap
  988. 921.28 s [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap
  989. 921.28 s [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose
  990. 921.28 s [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose
  991. 921.28 s [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap
  992. 921.28 s [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap
  993. 921.28 s [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap
  994. 921.28 s [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap
  995. 921.28 s [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap
  996. 921.28 s [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap
  997. 921.28 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  998. 921.28 s [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect
  999. 921.28 s [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect)
  1000. 921.28 s [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect
  1001. 921.28 s [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect)
  1002. 921.28 s [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap
  1003. 921.28 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  1004. 921.28 s [algebraic-graphs]
  1005. 921.28 s [algebraic-graphs] ============ Relation.foldg ============
  1006. 921.28 s [algebraic-graphs] OK: foldg empty vertex overlay connect == id
  1007. 921.28 s [algebraic-graphs] OK: foldg empty vertex overlay (flip connect) == transpose
  1008. 921.28 s [algebraic-graphs] OK: foldg 1 (const 1) (+) (+) == size
  1009. 921.28 s [algebraic-graphs] OK: foldg True (const False) (&&) (&&) == isEmpty
  1010. 921.28 s [algebraic-graphs]
  1011. 921.28 s [algebraic-graphs] ============ Relation.isEmpty ============
  1012. 921.28 s [algebraic-graphs] OK: isEmpty empty == True
  1013. 921.28 s [algebraic-graphs] OK: isEmpty (overlay empty empty) == True
  1014. 921.28 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1015. 921.28 s [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
  1016. 921.28 s [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False
  1017. 921.28 s [algebraic-graphs]
  1018. 921.28 s [algebraic-graphs] ============ Relation.hasVertex ============
  1019. 921.28 s [algebraic-graphs] OK: hasVertex x empty == False
  1020. 921.28 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1021. 921.28 s [algebraic-graphs] OK: hasVertex x . removeVertex x == const False
  1022. 921.28 s [algebraic-graphs]
  1023. 921.28 s [algebraic-graphs] ============ Relation.hasEdge ============
  1024. 921.28 s [algebraic-graphs] OK: hasEdge x y empty == False
  1025. 921.28 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  1026. 921.28 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  1027. 921.28 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  1028. 921.28 s [algebraic-graphs] OK: hasEdge x y == elem (x,y) . edgeList
  1029. 921.28 s [algebraic-graphs]
  1030. 921.28 s [algebraic-graphs] ============ Relation.vertexCount ============
  1031. 921.28 s [algebraic-graphs] OK: vertexCount empty == 0
  1032. 921.28 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1033. 921.28 s [algebraic-graphs] OK: vertexCount == length . vertexList
  1034. 921.28 s [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
  1035. 921.28 s [algebraic-graphs]
  1036. 921.28 s [algebraic-graphs] ============ Relation.edgeCount ============
  1037. 921.28 s [algebraic-graphs] OK: edgeCount empty == 0
  1038. 921.28 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1039. 921.28 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  1040. 921.28 s [algebraic-graphs] OK: edgeCount == length . edgeList
  1041. 921.28 s [algebraic-graphs]
  1042. 921.28 s [algebraic-graphs] ============ Relation.vertexList ============
  1043. 921.28 s [algebraic-graphs] OK: vertexList empty == []
  1044. 921.28 s [algebraic-graphs] OK: vertexList (vertex x) == [x]
  1045. 921.28 s [algebraic-graphs] OK: vertexList . vertices == nub . sort
  1046. 921.28 s [algebraic-graphs]
  1047. 921.28 s [algebraic-graphs] ============ Relation.vertexSet ============
  1048. 921.28 s [algebraic-graphs] OK: vertexSet empty == Set.empty
  1049. 921.28 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  1050. 921.28 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1051. 921.28 s [algebraic-graphs]
  1052. 921.28 s [algebraic-graphs] ============ Relation.vertexIntSet ============
  1053. 921.28 s [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty
  1054. 921.28 s [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton
  1055. 921.28 s [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList
  1056. 921.28 s [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList
  1057. 921.28 s [algebraic-graphs]
  1058. 921.28 s [algebraic-graphs] ============ Relation.edgeList ============
  1059. 921.28 s [algebraic-graphs] OK: edgeList empty == []
  1060. 921.28 s [algebraic-graphs] OK: edgeList (vertex x) == []
  1061. 921.28 s [algebraic-graphs] OK: edgeList (edge x y) == [(x,y)]
  1062. 921.28 s [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(2,1), (2,3)]
  1063. 921.28 s [algebraic-graphs] OK: edgeList . edges == nub . sort
  1064. 921.28 s [algebraic-graphs]
  1065. 921.28 s [algebraic-graphs] ============ Relation.edgeSet ============
  1066. 921.28 s [algebraic-graphs] OK: edgeSet empty == Set.empty
  1067. 921.28 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  1068. 921.28 s [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (x,y)
  1069. 921.28 s [algebraic-graphs] OK: edgeSet . edges == Set.fromList
  1070. 921.28 s [algebraic-graphs]
  1071. 921.28 s [algebraic-graphs] ============ Relation.adjacencyList ============
  1072. 921.28 s [algebraic-graphs] OK: adjacencyList empty == []
  1073. 921.28 s [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
  1074. 921.28 s [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [])]
  1075. 921.28 s [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, []), (2, [1,3]), (3, [])]
  1076. 921.28 s [algebraic-graphs]
  1077. 921.28 s [algebraic-graphs] ============ Relation.preSet ============
  1078. 921.28 s [algebraic-graphs] OK: preSet x empty == Set.empty
  1079. 921.28 s [algebraic-graphs] OK: preSet x (vertex x) == Set.empty
  1080. 921.28 s [algebraic-graphs] OK: preSet 1 (edge 1 2) == Set.empty
  1081. 921.28 s [algebraic-graphs] OK: preSet y (edge x y) == Set.fromList [x]
  1082. 921.28 s [algebraic-graphs]
  1083. 921.28 s [algebraic-graphs] ============ Relation.preIntSet ============
  1084. 921.28 s [algebraic-graphs] OK: preIntSet x empty == IntSet.empty
  1085. 921.28 s [algebraic-graphs] OK: preIntSet x (vertex x) == IntSet.empty
  1086. 921.28 s [algebraic-graphs] OK: preIntSet 1 (edge 1 2) == IntSet.empty
  1087. 921.28 s [algebraic-graphs] OK: preIntSet y (edge x y) == IntSet.fromList [x]
  1088. 921.28 s [algebraic-graphs]
  1089. 921.28 s [algebraic-graphs] ============ Relation.postSet ============
  1090. 921.28 s [algebraic-graphs] OK: postSet x empty == Set.empty
  1091. 921.28 s [algebraic-graphs] OK: postSet x (vertex x) == Set.empty
  1092. 921.28 s [algebraic-graphs] OK: postSet x (edge x y) == Set.fromList [y]
  1093. 921.28 s [algebraic-graphs] OK: postSet 2 (edge 1 2) == Set.empty
  1094. 921.28 s [algebraic-graphs]
  1095. 921.28 s [algebraic-graphs] ============ Relation.postIntSet ============
  1096. 921.28 s [algebraic-graphs] OK: postIntSet x empty == IntSet.empty
  1097. 921.28 s [algebraic-graphs] OK: postIntSet x (vertex x) == IntSet.empty
  1098. 921.28 s [algebraic-graphs] OK: postIntSet 2 (edge 1 2) == IntSet.empty
  1099. 921.28 s [algebraic-graphs] OK: postIntSet x (edge x y) == IntSet.fromList [y]
  1100. 921.28 s [algebraic-graphs]
  1101. 921.28 s [algebraic-graphs] ============ Relation.path ============
  1102. 921.28 s [algebraic-graphs] OK: path [] == empty
  1103. 921.28 s [algebraic-graphs] OK: path [x] == vertex x
  1104. 921.28 s [algebraic-graphs] OK: path [x,y] == edge x y
  1105. 921.28 s [algebraic-graphs]
  1106. 921.28 s [algebraic-graphs] ============ Relation.circuit ============
  1107. 921.28 s [algebraic-graphs] OK: circuit [] == empty
  1108. 921.28 s [algebraic-graphs] OK: circuit [x] == edge x x
  1109. 921.28 s [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
  1110. 921.28 s [algebraic-graphs]
  1111. 921.28 s [algebraic-graphs] ============ Relation.clique ============
  1112. 921.28 s [algebraic-graphs] OK: clique [] == empty
  1113. 921.28 s [algebraic-graphs] OK: clique [x] == vertex x
  1114. 921.28 s [algebraic-graphs] OK: clique [x,y] == edge x y
  1115. 921.28 s [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
  1116. 921.28 s [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
  1117. 921.28 s [algebraic-graphs]
  1118. 921.28 s [algebraic-graphs] ============ Relation.biclique ============
  1119. 921.28 s [algebraic-graphs] OK: biclique [] [] == empty
  1120. 921.28 s [algebraic-graphs] OK: biclique [x] [] == vertex x
  1121. 921.28 s [algebraic-graphs] OK: biclique [] [y] == vertex y
  1122. 921.28 s [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  1123. 921.28 s [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
  1124. 921.28 s [algebraic-graphs]
  1125. 921.28 s [algebraic-graphs] ============ Relation.star ============
  1126. 921.28 s [algebraic-graphs] OK: star x [] == vertex x
  1127. 921.28 s [algebraic-graphs] OK: star x [y] == edge x y
  1128. 921.28 s [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
  1129. 921.28 s [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
  1130. 921.28 s [algebraic-graphs]
  1131. 921.28 s [algebraic-graphs] ============ Relation.stars ============
  1132. 921.28 s [algebraic-graphs] OK: stars [] == empty
  1133. 921.28 s [algebraic-graphs] OK: stars [(x, [])] == vertex x
  1134. 921.28 s [algebraic-graphs] OK: stars [(x, [y])] == edge x y
  1135. 921.28 s [algebraic-graphs] OK: stars [(x, ys)] == star x ys
  1136. 921.28 s [algebraic-graphs] OK: stars == overlays . map (uncurry star)
  1137. 921.28 s [algebraic-graphs] OK: stars . adjacencyList == id
  1138. 921.28 s [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
  1139. 921.28 s [algebraic-graphs]
  1140. 921.28 s [algebraic-graphs] ============ Relation.tree ============
  1141. 921.28 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  1142. 921.28 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
  1143. 921.28 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  1144. 921.28 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
  1145. 921.28 s [algebraic-graphs]
  1146. 921.28 s [algebraic-graphs] ============ Relation.forest ============
  1147. 921.28 s [algebraic-graphs] OK: forest [] == empty
  1148. 921.28 s [algebraic-graphs] OK: forest [x] == tree x
  1149. 921.28 s [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
  1150. 921.28 s [algebraic-graphs] OK: forest == overlays . map tree
  1151. 921.28 s [algebraic-graphs]
  1152. 921.28 s [algebraic-graphs] ============ Relation.removeVertex ============
  1153. 921.28 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  1154. 921.28 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  1155. 921.28 s [algebraic-graphs] OK: removeVertex x (edge x x) == empty
  1156. 921.28 s [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
  1157. 921.28 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  1158. 921.28 s [algebraic-graphs]
  1159. 921.28 s [algebraic-graphs] ============ Relation.removeEdge ============
  1160. 921.28 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
  1161. 921.28 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  1162. 921.28 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  1163. 921.28 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  1164. 921.28 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  1165. 921.28 s [algebraic-graphs]
  1166. 921.28 s [algebraic-graphs] ============ Relation.replaceVertex ============
  1167. 921.28 s [algebraic-graphs] OK: replaceVertex x x == id
  1168. 921.28 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  1169. 921.28 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  1170. 921.28 s [algebraic-graphs]
  1171. 921.28 s [algebraic-graphs] ============ Relation.mergeVertices ============
  1172. 921.28 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  1173. 941.52 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  1174. 941.52 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  1175. 941.55 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  1176. 941.55 s [algebraic-graphs]
  1177. 941.55 s [algebraic-graphs] ============ Relation.transpose ============
  1178. 941.55 s [algebraic-graphs] OK: transpose empty == empty
  1179. 941.55 s [algebraic-graphs] OK: transpose (vertex x) == vertex x
  1180. 941.55 s [algebraic-graphs] OK: transpose (edge x y) == edge y x
  1181. 941.55 s [algebraic-graphs] OK: transpose . transpose == id
  1182. 941.55 s [algebraic-graphs] OK: edgeList . transpose == sort . map swap . edgeList
  1183. 941.55 s [algebraic-graphs]
  1184. 941.55 s [algebraic-graphs] ============ Relation.gmap ============
  1185. 941.55 s [algebraic-graphs] OK: gmap f empty == empty
  1186. 941.55 s [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
  1187. 941.55 s [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
  1188. 941.55 s [algebraic-graphs] OK: gmap id == id
  1189. 941.55 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  1190. 941.55 s [algebraic-graphs]
  1191. 941.55 s [algebraic-graphs] ============ Relation.induce ============
  1192. 941.55 s [algebraic-graphs] OK: induce (const True ) x == x
  1193. 941.55 s [algebraic-graphs] OK: induce (const False) x == empty
  1194. 941.55 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  1195. 941.55 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  1196. 941.55 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  1197. 941.55 s [algebraic-graphs]
  1198. 941.55 s [algebraic-graphs] ============ Relation.compose ============
  1199. 941.55 s [algebraic-graphs] OK: compose empty x == empty
  1200. 941.55 s [algebraic-graphs] OK: compose x empty == empty
  1201. 941.55 s [algebraic-graphs] OK: compose (vertex x) y == empty
  1202. 941.55 s [algebraic-graphs] OK: compose x (vertex y) == empty
  1203. 941.55 s [algebraic-graphs] OK: compose x (compose y z) == compose (compose x y) z
  1204. 941.55 s [algebraic-graphs] OK: compose x (overlay y z) == overlay (compose x y) (compose x z)
  1205. 941.55 s [algebraic-graphs] OK: compose (overlay x y) z == overlay (compose x z) (compose y z)
  1206. 941.55 s [algebraic-graphs] OK: compose (edge x y) (edge y z) == edge x z
  1207. 941.55 s [algebraic-graphs] OK: compose (path [1..5]) (path [1..5]) == edges [(1,3),(2,4),(3,5)]
  1208. 941.55 s [algebraic-graphs] OK: compose (circuit [1..5]) (circuit [1..5]) == circuit [1,3,5,2,4]
  1209. 941.55 s [algebraic-graphs]
  1210. 941.55 s [algebraic-graphs] ============ Relation.closure ============
  1211. 941.55 s [algebraic-graphs] OK: closure empty == empty
  1212. 941.55 s [algebraic-graphs] OK: closure (vertex x) == edge x x
  1213. 941.55 s [algebraic-graphs] OK: closure (edge x x) == edge x x
  1214. 941.55 s [algebraic-graphs] OK: closure (edge x y) == edges [(x,x), (x,y), (y,y)]
  1215. 941.55 s [algebraic-graphs] OK: closure (path $ nub xs) == reflexiveClosure (clique $ nub xs)
  1216. 941.55 s [algebraic-graphs] OK: closure == reflexiveClosure . transitiveClosure
  1217. 941.55 s [algebraic-graphs] OK: closure == transitiveClosure . reflexiveClosure
  1218. 941.55 s [algebraic-graphs] OK: closure . closure == closure
  1219. 941.55 s [algebraic-graphs] OK: postSet x (closure y) == Set.fromList (reachable y x)
  1220. 941.55 s [algebraic-graphs]
  1221. 941.55 s [algebraic-graphs] ============ Relation.reflexiveClosure ============
  1222. 941.55 s [algebraic-graphs] OK: reflexiveClosure empty == empty
  1223. 941.55 s [algebraic-graphs] OK: reflexiveClosure (vertex x) == edge x x
  1224. 941.55 s [algebraic-graphs] OK: reflexiveClosure (edge x x) == edge x x
  1225. 941.55 s [algebraic-graphs] OK: reflexiveClosure (edge x y) == edges [(x,x), (x,y), (y,y)]
  1226. 941.55 s [algebraic-graphs] OK: reflexiveClosure . reflexiveClosure == reflexiveClosure
  1227. 941.55 s [algebraic-graphs]
  1228. 941.55 s [algebraic-graphs] ============ Relation.symmetricClosure ============
  1229. 941.55 s [algebraic-graphs] OK: symmetricClosure empty == empty
  1230. 941.55 s [algebraic-graphs] OK: symmetricClosure (vertex x) == vertex x
  1231. 941.55 s [algebraic-graphs] OK: symmetricClosure (edge x y) == edges [(x,y), (y,x)]
  1232. 941.55 s [algebraic-graphs] OK: symmetricClosure x == overlay x (transpose x)
  1233. 941.55 s [algebraic-graphs] OK: symmetricClosure . symmetricClosure == symmetricClosure
  1234. 941.55 s [algebraic-graphs]
  1235. 941.55 s [algebraic-graphs] ============ Relation.transitiveClosure ============
  1236. 941.55 s [algebraic-graphs] OK: transitiveClosure empty == empty
  1237. 941.55 s [algebraic-graphs] OK: transitiveClosure (vertex x) == vertex x
  1238. 941.55 s [algebraic-graphs] OK: transitiveClosure (edge x y) == edge x y
  1239. 941.55 s [algebraic-graphs] OK: transitiveClosure (path $ nub xs) == clique (nub $ xs)
  1240. 941.55 s [algebraic-graphs] OK: transitiveClosure . transitiveClosure == transitiveClosure
  1241. 941.55 s [algebraic-graphs]
  1242. 941.55 s [algebraic-graphs] ============ Relation.induceJust ============
  1243. 941.55 s [algebraic-graphs] OK: induceJust (vertex Nothing) == empty
  1244. 941.55 s [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
  1245. 941.55 s [algebraic-graphs] OK: induceJust . gmap Just == id
  1246. 941.55 s [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
  1247. 941.55 s [algebraic-graphs]
  1248. 941.55 s [algebraic-graphs] ============ ReflexiveRelation ============
  1249. 941.55 s [algebraic-graphs] OK: Axioms of reflexive graphs
  1250. 941.55 s [algebraic-graphs]
  1251. 941.55 s [algebraic-graphs] ============ TransitiveRelation ============
  1252. 941.55 s [algebraic-graphs] OK: Axioms of transitive graphs
  1253. 941.55 s [algebraic-graphs] OK: path xs == (clique xs :: TransitiveRelation Int)
  1254. 941.55 s [algebraic-graphs]
  1255. 941.55 s [algebraic-graphs] ============ PreorderRelation ============
  1256. 941.55 s [algebraic-graphs] OK: Axioms of preorder graphs
  1257. 941.55 s [algebraic-graphs] OK: path xs == (clique xs :: PreorderRelation Int)
  1258. 941.55 s [algebraic-graphs]
  1259. 941.55 s [algebraic-graphs] ============ Symmetric.Relation ============
  1260. 941.55 s [algebraic-graphs] OK: Axioms of undirected graphs
  1261. 941.55 s [algebraic-graphs]
  1262. 941.55 s [algebraic-graphs] ============ Symmetric.Relation.consistent ============
  1263. 941.55 s [algebraic-graphs] OK: Consistency of the Arbitrary instance
  1264. 941.55 s [algebraic-graphs]
  1265. 941.55 s [algebraic-graphs] OK: consistent empty == True
  1266. 941.55 s [algebraic-graphs] OK: consistent (vertex x) == True
  1267. 941.55 s [algebraic-graphs] OK: consistent (overlay x y) == True
  1268. 941.55 s [algebraic-graphs] OK: consistent (connect x y) == True
  1269. 941.55 s [algebraic-graphs] OK: consistent (edge x y) == True
  1270. 941.55 s [algebraic-graphs] OK: consistent (edges xs) == True
  1271. 941.55 s [algebraic-graphs] OK: consistent (stars xs) == True
  1272. 941.55 s [algebraic-graphs]
  1273. 941.55 s [algebraic-graphs] ============ Symmetric.Relation.Show ============
  1274. 941.55 s [algebraic-graphs] OK: show (empty ) == "empty"
  1275. 941.55 s [algebraic-graphs] OK: show (1 ) == "vertex 1"
  1276. 941.55 s [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
  1277. 941.55 s [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
  1278. 941.55 s [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
  1279. 941.55 s [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
  1280. 941.55 s [algebraic-graphs]
  1281. 941.55 s [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
  1282. 941.55 s [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
  1283. 941.55 s [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
  1284. 941.55 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
  1285. 941.55 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
  1286. 941.55 s [algebraic-graphs]
  1287. 941.55 s [algebraic-graphs] OK: show (2 * 1 ) == "edge 1 2"
  1288. 941.55 s [algebraic-graphs] OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]"
  1289. 941.55 s [algebraic-graphs] OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]"
  1290. 941.56 s [algebraic-graphs]
  1291. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.toSymmetric ============
  1292. 941.56 s [algebraic-graphs] OK: toSymmetric (edge 1 2) == edge 1 2
  1293. 941.56 s [algebraic-graphs] OK: toSymmetric . fromSymmetric == id
  1294. 941.56 s [algebraic-graphs] OK: fromSymmetric . toSymmetric == symmetricClosure
  1295. 941.56 s [algebraic-graphs] OK: vertexCount . toSymmetric == vertexCount
  1296. 941.56 s [algebraic-graphs] OK: (*2) . edgeCount . toSymmetric >= edgeCount
  1297. 941.56 s [algebraic-graphs]
  1298. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.fromSymmetric ============
  1299. 941.56 s [algebraic-graphs] OK: fromSymmetric (edge 1 2) == edges [(1,2), (2,1)]
  1300. 941.56 s [algebraic-graphs] OK: vertexCount . fromSymmetric == vertexCount
  1301. 941.56 s [algebraic-graphs] OK: edgeCount . fromSymmetric <= (*2) . edgeCount
  1302. 941.56 s [algebraic-graphs]
  1303. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.Ord ============
  1304. 941.56 s [algebraic-graphs] OK: vertex 1 < vertex 2
  1305. 941.56 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  1306. 941.56 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  1307. 941.56 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  1308. 941.56 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  1309. 941.56 s [algebraic-graphs] OK: edge 2 1 < edge 1 3
  1310. 941.56 s [algebraic-graphs] OK: edge 1 2 == edge 2 1
  1311. 941.56 s [algebraic-graphs] OK: x <= x + y
  1312. 941.56 s [algebraic-graphs] OK: x + y <= x * y
  1313. 941.56 s [algebraic-graphs]
  1314. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.empty ============
  1315. 941.56 s [algebraic-graphs] OK: isEmpty empty == True
  1316. 941.56 s [algebraic-graphs] OK: hasVertex x empty == False
  1317. 941.56 s [algebraic-graphs] OK: vertexCount empty == 0
  1318. 941.56 s [algebraic-graphs] OK: edgeCount empty == 0
  1319. 941.56 s [algebraic-graphs]
  1320. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.vertex ============
  1321. 941.56 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1322. 941.56 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1323. 941.56 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1324. 941.56 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1325. 941.56 s [algebraic-graphs]
  1326. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.edge ============
  1327. 941.56 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  1328. 941.56 s [algebraic-graphs] OK: edge x y == edge y x
  1329. 941.56 s [algebraic-graphs] OK: edge x y == edges [(x,y), (y,x)]
  1330. 941.56 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  1331. 941.56 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  1332. 941.56 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  1333. 941.56 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  1334. 941.56 s [algebraic-graphs]
  1335. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.overlay ============
  1336. 941.56 s [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
  1337. 941.56 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  1338. 941.56 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  1339. 941.56 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  1340. 941.56 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  1341. 941.56 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  1342. 941.56 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  1343. 941.56 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  1344. 941.56 s [algebraic-graphs]
  1345. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.connect ============
  1346. 941.56 s [algebraic-graphs] OK: connect x y == connect y x
  1347. 941.56 s [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
  1348. 941.56 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  1349. 941.56 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  1350. 941.56 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  1351. 941.56 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  1352. 941.56 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  1353. 941.56 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2
  1354. 941.56 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  1355. 941.56 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  1356. 941.56 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  1357. 941.56 s [algebraic-graphs]
  1358. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.vertices ============
  1359. 941.56 s [algebraic-graphs] OK: vertices [] == empty
  1360. 941.56 s [algebraic-graphs] OK: vertices [x] == vertex x
  1361. 941.56 s [algebraic-graphs] OK: vertices == overlays . map vertex
  1362. 941.56 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  1363. 941.56 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  1364. 941.56 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1365. 941.56 s [algebraic-graphs]
  1366. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.edges ============
  1367. 941.56 s [algebraic-graphs] OK: edges [] == empty
  1368. 941.56 s [algebraic-graphs] OK: edges [(x,y)] == edge x y
  1369. 941.56 s [algebraic-graphs] OK: edges [(x,y), (y,x)] == edge x y
  1370. 941.56 s [algebraic-graphs]
  1371. 941.56 s [algebraic-graphs] ============ Symmetric.Relation.overlays ============
  1372. 941.56 s [algebraic-graphs] OK: overlays [] == empty
  1373. 951.86 s [algebraic-graphs] OK: overlays [x] == x
  1374. 951.90 s [algebraic-graphs] OK: overlays [x,y] == overlay x y
  1375. 951.90 s [algebraic-graphs] OK: overlays == foldr overlay empty
  1376. 951.90 s [algebraic-graphs] OK: isEmpty . overlays == all isEmpty
  1377. 951.90 s [algebraic-graphs]
  1378. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.connects ============
  1379. 951.90 s [algebraic-graphs] OK: connects [] == empty
  1380. 951.90 s [algebraic-graphs] OK: connects [x] == x
  1381. 951.90 s [algebraic-graphs] OK: connects [x,y] == connect x y
  1382. 951.90 s [algebraic-graphs] OK: connects == foldr connect empty
  1383. 951.90 s [algebraic-graphs] OK: isEmpty . connects == all isEmpty
  1384. 951.90 s [algebraic-graphs] OK: connects == connects . reverse
  1385. 951.90 s [algebraic-graphs]
  1386. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.isSubgraphOf ============
  1387. 951.90 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  1388. 951.90 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  1389. 951.90 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  1390. 951.90 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  1391. 951.90 s [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
  1392. 951.90 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  1393. 951.90 s [algebraic-graphs] OK: isSubgraphOf (edge x y) (edge y x) == True
  1394. 951.90 s [algebraic-graphs]
  1395. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.toGraph et al. ============
  1396. 951.90 s [algebraic-graphs] OK: toGraph == foldg Empty Vertex Overlay Connect
  1397. 951.90 s [algebraic-graphs] OK: foldg == Algebra.Graph.foldg . toGraph
  1398. 951.90 s [algebraic-graphs] OK: isEmpty == foldg True (const False) (&&) (&&)
  1399. 951.90 s [algebraic-graphs] OK: size == foldg 1 (const 1) (+) (+)
  1400. 951.90 s [algebraic-graphs] OK: hasVertex x == foldg False (==x) (||) (||)
  1401. 951.90 s [algebraic-graphs] OK: hasEdge x y == Algebra.Graph.hasEdge x y . toGraph
  1402. 951.90 s [algebraic-graphs] OK: vertexCount == Set.size . vertexSet
  1403. 951.90 s [algebraic-graphs] OK: edgeCount == Set.size . edgeSet
  1404. 951.90 s [algebraic-graphs] OK: vertexList == Set.toAscList . vertexSet
  1405. 951.90 s [algebraic-graphs] OK: edgeList == Set.toAscList . edgeSet
  1406. 951.90 s [algebraic-graphs] OK: vertexSet == foldg Set.empty Set.singleton Set.union Set.union
  1407. 951.90 s [algebraic-graphs] OK: vertexIntSet == foldg IntSet.empty IntSet.singleton IntSet.union IntSet.union
  1408. 951.90 s [algebraic-graphs] OK: adjacencyList == Algebra.Graph.AdjacencyMap.adjacencyList . toAdjacencyMap
  1409. 951.90 s [algebraic-graphs] OK: adjacencyMap == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMap
  1410. 951.90 s [algebraic-graphs] OK: adjacencyIntMap == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMap
  1411. 951.90 s [algebraic-graphs] OK: adjacencyMapTranspose == Algebra.Graph.AdjacencyMap.adjacencyMap . toAdjacencyMapTranspose
  1412. 951.90 s [algebraic-graphs] OK: adjacencyIntMapTranspose == Algebra.Graph.AdjacencyIntMap.adjacencyIntMap . toAdjacencyIntMapTranspose
  1413. 951.90 s [algebraic-graphs] OK: dfsForest == Algebra.Graph.AdjacencyMap.dfsForest . toAdjacencyMap
  1414. 951.90 s [algebraic-graphs] OK: dfsForestFrom == Algebra.Graph.AdjacencyMap.dfsForestFrom . toAdjacencyMap
  1415. 951.90 s [algebraic-graphs] OK: dfs == Algebra.Graph.AdjacencyMap.dfs . toAdjacencyMap
  1416. 951.90 s [algebraic-graphs] OK: reachable == Algebra.Graph.AdjacencyMap.reachable . toAdjacencyMap
  1417. 951.90 s [algebraic-graphs] OK: topSort == Algebra.Graph.AdjacencyMap.topSort . toAdjacencyMap
  1418. 951.90 s [algebraic-graphs] OK: isAcyclic == Algebra.Graph.AdjacencyMap.isAcyclic . toAdjacencyMap
  1419. 951.90 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  1420. 951.90 s [algebraic-graphs] OK: toAdjacencyMap == foldg empty vertex overlay connect
  1421. 951.90 s [algebraic-graphs] OK: toAdjacencyMapTranspose == foldg empty vertex overlay (flip connect)
  1422. 951.90 s [algebraic-graphs] OK: toAdjacencyIntMap == foldg empty vertex overlay connect
  1423. 951.90 s [algebraic-graphs] OK: toAdjacencyIntMapTranspose == foldg empty vertex overlay (flip connect)
  1424. 951.90 s [algebraic-graphs] OK: isDfsForestOf f == Algebra.Graph.AdjacencyMap.isDfsForestOf f . toAdjacencyMap
  1425. 951.90 s [algebraic-graphs] OK: isTopSortOf vs == Algebra.Graph.AdjacencyMap.isTopSortOf vs . toAdjacencyMap
  1426. 951.90 s [algebraic-graphs]
  1427. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.isEmpty ============
  1428. 951.90 s [algebraic-graphs] OK: isEmpty empty == True
  1429. 951.90 s [algebraic-graphs] OK: isEmpty (overlay empty empty) == True
  1430. 951.90 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1431. 951.90 s [algebraic-graphs] OK: isEmpty (removeVertex x $ vertex x) == True
  1432. 951.90 s [algebraic-graphs] OK: isEmpty (removeEdge x y $ edge x y) == False
  1433. 951.90 s [algebraic-graphs]
  1434. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.hasVertex ============
  1435. 951.90 s [algebraic-graphs] OK: hasVertex x empty == False
  1436. 951.90 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1437. 951.90 s [algebraic-graphs] OK: hasVertex x . removeVertex x == const False
  1438. 951.90 s [algebraic-graphs]
  1439. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.hasEdge ============
  1440. 951.90 s [algebraic-graphs] OK: hasEdge x y empty == False
  1441. 951.90 s [algebraic-graphs] OK: hasEdge x y (vertex z) == False
  1442. 951.90 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  1443. 951.90 s [algebraic-graphs] OK: hasEdge x y (edge y x) == True
  1444. 951.90 s [algebraic-graphs] OK: hasEdge x y . removeEdge x y == const False
  1445. 951.90 s [algebraic-graphs] OK: hasEdge x y == elem (min x y, max x y) . edgeList
  1446. 951.90 s [algebraic-graphs]
  1447. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.vertexCount ============
  1448. 951.90 s [algebraic-graphs] OK: vertexCount empty == 0
  1449. 951.90 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1450. 951.90 s [algebraic-graphs] OK: vertexCount == length . vertexList
  1451. 951.90 s [algebraic-graphs] OK: vertexCount x < vertexCount y ==> x < y
  1452. 951.90 s [algebraic-graphs]
  1453. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.edgeCount ============
  1454. 951.90 s [algebraic-graphs] OK: edgeCount empty == 0
  1455. 951.90 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1456. 951.90 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  1457. 951.90 s [algebraic-graphs] OK: edgeCount == length . edgeList
  1458. 951.90 s [algebraic-graphs]
  1459. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.vertexList ============
  1460. 951.90 s [algebraic-graphs] OK: vertexList empty == []
  1461. 951.90 s [algebraic-graphs] OK: vertexList (vertex x) == [x]
  1462. 951.90 s [algebraic-graphs] OK: vertexList . vertices == nub . sort
  1463. 951.90 s [algebraic-graphs]
  1464. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.vertexSet ============
  1465. 951.90 s [algebraic-graphs] OK: vertexSet empty == Set.empty
  1466. 951.90 s [algebraic-graphs] OK: vertexSet . vertex == Set.singleton
  1467. 951.90 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1468. 951.90 s [algebraic-graphs]
  1469. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.vertexIntSet ============
  1470. 951.90 s [algebraic-graphs] OK: vertexIntSet empty == IntSet.empty
  1471. 951.90 s [algebraic-graphs] OK: vertexIntSet . vertex == IntSet.singleton
  1472. 951.90 s [algebraic-graphs] OK: vertexIntSet . vertices == IntSet.fromList
  1473. 951.90 s [algebraic-graphs] OK: vertexIntSet . clique == IntSet.fromList
  1474. 951.90 s [algebraic-graphs]
  1475. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.edgeList ============
  1476. 951.90 s [algebraic-graphs] OK: edgeList empty == []
  1477. 951.90 s [algebraic-graphs] OK: edgeList (vertex x) == []
  1478. 951.90 s [algebraic-graphs] OK: edgeList (edge x y) == [(min x y, max y x)]
  1479. 951.90 s [algebraic-graphs] OK: edgeList (star 2 [3,1]) == [(1,2), (2,3)]
  1480. 951.90 s [algebraic-graphs]
  1481. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.edgeSet ============
  1482. 951.90 s [algebraic-graphs] OK: edgeSet empty == Set.empty
  1483. 951.90 s [algebraic-graphs] OK: edgeSet (vertex x) == Set.empty
  1484. 951.90 s [algebraic-graphs] OK: edgeSet (edge x y) == Set.singleton (min x y, max x y)
  1485. 951.90 s [algebraic-graphs]
  1486. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.adjacencyList ============
  1487. 951.90 s [algebraic-graphs] OK: adjacencyList empty == []
  1488. 951.90 s [algebraic-graphs] OK: adjacencyList (vertex x) == [(x, [])]
  1489. 951.90 s [algebraic-graphs] OK: adjacencyList (edge 1 2) == [(1, [2]), (2, [1])]
  1490. 951.90 s [algebraic-graphs] OK: adjacencyList (star 2 [3,1]) == [(1, [2]), (2, [1,3]), (3, [2])]
  1491. 951.90 s [algebraic-graphs]
  1492. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.neighbours ============
  1493. 951.90 s [algebraic-graphs] OK: neighbours x empty == Set.empty
  1494. 951.90 s [algebraic-graphs] OK: neighbours x (vertex x) == Set.empty
  1495. 951.90 s [algebraic-graphs] OK: neighbours x (edge x y) == Set.fromList [y]
  1496. 951.90 s [algebraic-graphs] OK: neighbours y (edge x y) == Set.fromList [x]
  1497. 951.90 s [algebraic-graphs]
  1498. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.path ============
  1499. 951.90 s [algebraic-graphs] OK: path [] == empty
  1500. 951.90 s [algebraic-graphs] OK: path [x] == vertex x
  1501. 951.90 s [algebraic-graphs] OK: path [x,y] == edge x y
  1502. 951.90 s [algebraic-graphs] OK: path == path . reverse
  1503. 951.90 s [algebraic-graphs]
  1504. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.circuit ============
  1505. 951.90 s [algebraic-graphs] OK: circuit [] == empty
  1506. 951.90 s [algebraic-graphs] OK: circuit [x] == edge x x
  1507. 951.90 s [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
  1508. 951.90 s [algebraic-graphs] OK: circuit == circuit . reverse
  1509. 951.90 s [algebraic-graphs]
  1510. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.clique ============
  1511. 951.90 s [algebraic-graphs] OK: clique [] == empty
  1512. 951.90 s [algebraic-graphs] OK: clique [x] == vertex x
  1513. 951.90 s [algebraic-graphs] OK: clique [x,y] == edge x y
  1514. 951.90 s [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
  1515. 951.90 s [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
  1516. 951.90 s [algebraic-graphs] OK: clique == clique . reverse
  1517. 951.90 s [algebraic-graphs]
  1518. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.biclique ============
  1519. 951.90 s [algebraic-graphs] OK: biclique [] [] == empty
  1520. 951.90 s [algebraic-graphs] OK: biclique [x] [] == vertex x
  1521. 951.90 s [algebraic-graphs] OK: biclique [] [y] == vertex y
  1522. 951.90 s [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  1523. 951.90 s [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
  1524. 951.90 s [algebraic-graphs]
  1525. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.star ============
  1526. 951.90 s [algebraic-graphs] OK: star x [] == vertex x
  1527. 951.90 s [algebraic-graphs] OK: star x [y] == edge x y
  1528. 951.90 s [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
  1529. 951.90 s [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
  1530. 951.90 s [algebraic-graphs]
  1531. 951.90 s [algebraic-graphs] ============ Symmetric.Relation.stars ============
  1532. 951.90 s [algebraic-graphs] OK: stars [] == empty
  1533. 951.90 s [algebraic-graphs] OK: stars [(x, [])] == vertex x
  1534. 951.90 s [algebraic-graphs] OK: stars [(x, [y])] == edge x y
  1535. 951.90 s [algebraic-graphs] OK: stars [(x, ys)] == star x ys
  1536. 951.90 s [algebraic-graphs] OK: stars == overlays . map (uncurry star)
  1537. 951.90 s [algebraic-graphs] OK: stars . adjacencyList == id
  1538. 951.91 s [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
  1539. 951.91 s [algebraic-graphs]
  1540. 951.91 s [algebraic-graphs] ============ Symmetric.Relation.tree ============
  1541. 951.91 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  1542. 951.91 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
  1543. 951.91 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  1544. 951.91 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
  1545. 951.91 s [algebraic-graphs]
  1546. 951.91 s [algebraic-graphs] ============ Symmetric.Relation.forest ============
  1547. 951.91 s [algebraic-graphs] OK: forest [] == empty
  1548. 958.47 s [algebraic-graphs] OK: forest [x] == tree x
  1549. 958.47 s [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
  1550. 958.51 s [algebraic-graphs] OK: forest == overlays . map tree
  1551. 958.51 s [algebraic-graphs]
  1552. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.removeVertex ============
  1553. 958.51 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  1554. 958.51 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  1555. 958.51 s [algebraic-graphs] OK: removeVertex x (edge x x) == empty
  1556. 958.51 s [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
  1557. 958.51 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  1558. 958.51 s [algebraic-graphs]
  1559. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.removeEdge ============
  1560. 958.51 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
  1561. 958.51 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  1562. 958.51 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  1563. 958.51 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  1564. 958.51 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  1565. 958.51 s [algebraic-graphs] OK: removeEdge x y == removeEdge y x
  1566. 958.51 s [algebraic-graphs]
  1567. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.replaceVertex ============
  1568. 958.51 s [algebraic-graphs] OK: replaceVertex x x == id
  1569. 958.51 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  1570. 958.51 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  1571. 958.51 s [algebraic-graphs]
  1572. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.mergeVertices ============
  1573. 958.51 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  1574. 958.51 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  1575. 958.51 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  1576. 958.51 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  1577. 958.51 s [algebraic-graphs]
  1578. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.gmap ============
  1579. 958.51 s [algebraic-graphs] OK: gmap f empty == empty
  1580. 958.51 s [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
  1581. 958.51 s [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
  1582. 958.51 s [algebraic-graphs] OK: gmap id == id
  1583. 958.51 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  1584. 958.51 s [algebraic-graphs]
  1585. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.induce ============
  1586. 958.51 s [algebraic-graphs] OK: induce (const True ) x == x
  1587. 958.51 s [algebraic-graphs] OK: induce (const False) x == empty
  1588. 958.51 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  1589. 958.51 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  1590. 958.51 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  1591. 958.51 s [algebraic-graphs]
  1592. 958.51 s [algebraic-graphs] ============ Symmetric.Relation.induceJust ============
  1593. 958.51 s [algebraic-graphs] OK: induceJust (vertex Nothing) == empty
  1594. 958.51 s [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
  1595. 958.51 s [algebraic-graphs] OK: induceJust . gmap Just == id
  1596. 958.51 s [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
  1597. 958.51 s [algebraic-graphs]
  1598. 958.51 s [algebraic-graphs] ============ Example.Todo (Holiday) ============
  1599. 958.51 s [algebraic-graphs] OK: A todo list is semantically Maybe [a]
  1600. 958.51 s [algebraic-graphs] OK: The overlay operator (+) adds non-dependent items to the todo list
  1601. 958.51 s [algebraic-graphs] OK: The connect operator (*) adds dependency between items
  1602. 958.51 s [algebraic-graphs] OK: Contradictory constraints make the todo list impossible to schedule
  1603. 958.51 s [algebraic-graphs] OK: Introduce item priority to schedule the todo list
  1604. 958.51 s [algebraic-graphs] OK: Custom connect operators pull/repel arguments during scheduling
  1605. 958.51 s [algebraic-graphs]
  1606. 958.51 s [algebraic-graphs] ============ Example.Todo (Commandline) ============
  1607. 958.51 s [algebraic-graphs] OK: The pull connect operator maintains command line semantics
  1608. 958.51 s [algebraic-graphs] OK: Swapping flags are allowed by the commutative overlay opeartor
  1609. 958.51 s [algebraic-graphs] OK: The usual connect operator breaks semantics
  1610. 958.51 s [algebraic-graphs] OK: Transform command lines by adding optimisation flag
  1611. 958.51 s [algebraic-graphs]
  1612. 958.51 s [algebraic-graphs] ============ Typed ============
  1613. 958.51 s [algebraic-graphs]
  1614. 958.51 s [algebraic-graphs] ============ Typed.fromAdjacencyMap ============
  1615. 958.51 s [algebraic-graphs] OK: toGraphKL (fromAdjacencyMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])]
  1616. 958.51 s [algebraic-graphs] OK: toGraphKL (fromAdjacencyMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])]
  1617. 958.51 s [algebraic-graphs] OK: map (fromVertexKL h) (vertices $ toGraphKL h) == vertexList g
  1618. 958.51 s [algebraic-graphs] OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g
  1619. 958.51 s [algebraic-graphs]
  1620. 958.51 s [algebraic-graphs] ============ Typed.fromAdjacencyIntMap ============
  1621. 958.51 s [algebraic-graphs] OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 3 * 1)) == array (0,2) [(0,[1]), (1,[]), (2,[0])]
  1622. 958.51 s [algebraic-graphs] OK: toGraphKL (fromAdjacencyIntMap (1 * 2 + 2 * 1)) == array (0,1) [(0,[1]), (1,[0])]
  1623. 958.51 s [algebraic-graphs] OK: map (fromVertexKL h) (vertices $ toGraphKL h) == IntSet.toAscList (vertexIntSet g)
  1624. 958.51 s [algebraic-graphs] OK: map (\(x, y) -> (fromVertexKL h x, fromVertexKL h y)) (edges $ toGraphKL h) == edgeList g
  1625. 958.51 s [algebraic-graphs]
  1626. 958.51 s [algebraic-graphs] ============ Typed.dfsForest ============
  1627. 958.51 s [algebraic-graphs] OK: forest (dfsForest % edge 1 1) == vertex 1
  1628. 958.51 s [algebraic-graphs] OK: forest (dfsForest % edge 1 2) == edge 1 2
  1629. 958.51 s [algebraic-graphs] OK: forest (dfsForest % edge 2 1) == vertices [1, 2]
  1630. 958.51 s [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForest % x) x == True
  1631. 958.51 s [algebraic-graphs] OK: dfsForest % forest (dfsForest % x) == dfsForest % x
  1632. 958.51 s [algebraic-graphs] OK: dfsForest % vertices vs == map (\v -> Node v []) (nub $ sort vs)
  1633. 958.51 s [algebraic-graphs] OK: dfsForest % (3 * (1 + 4) * (1 + 5)) == <correct result>
  1634. 958.51 s [algebraic-graphs]
  1635. 958.51 s [algebraic-graphs] ============ Typed.dfsForestFrom ============
  1636. 958.51 s [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 1) [1] == vertex 1
  1637. 958.51 s [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [0] == empty
  1638. 958.51 s [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [1] == edge 1 2
  1639. 958.51 s [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [2] == vertex 2
  1640. 958.51 s [algebraic-graphs] OK: forest $ (dfsForestFrom % edge 1 2) [2,1] == vertices [1,2]
  1641. 958.52 s [algebraic-graphs] OK: isSubgraphOf (forest $ dfsForestFrom % x $ vs) x == True
  1642. 958.52 s [algebraic-graphs] OK: dfsForestFrom % x $ vertexList x == dfsForest % x
  1643. 958.52 s [algebraic-graphs] OK: dfsForestFrom % vertices vs $ vs == map (\v -> Node v []) (nub vs)
  1644. 958.52 s [algebraic-graphs] OK: dfsForestFrom % x $ [] == []
  1645. 958.52 s [algebraic-graphs] OK: dfsForestFrom % (3 * (1 + 4) * (1 + 5)) $ [1,4] == <correct result>
  1646. 958.52 s [algebraic-graphs]
  1647. 958.52 s [algebraic-graphs] ============ Typed.dfs ============
  1648. 958.52 s [algebraic-graphs] OK: dfs % edge 1 1 $ [1] == [1]
  1649. 958.52 s [algebraic-graphs] OK: dfs % edge 1 2 $ [0] == []
  1650. 958.52 s [algebraic-graphs] OK: dfs % edge 1 2 $ [1] == [1,2]
  1651. 958.52 s [algebraic-graphs] OK: dfs % edge 1 2 $ [2] == [2]
  1652. 958.52 s [algebraic-graphs] OK: dfs % edge 1 2 $ [1,2] == [1,2]
  1653. 958.52 s [algebraic-graphs] OK: dfs % edge 1 2 $ [2,1] == [2,1]
  1654. 958.52 s [algebraic-graphs] OK: dfs % x $ [] == []
  1655. 958.52 s [algebraic-graphs]
  1656. 958.52 s [algebraic-graphs] OK: dfs % (3 * (1 + 4) * (1 + 5)) $ [1,4] == [1,5,4]
  1657. 958.52 s [algebraic-graphs] OK: and [ hasVertex v x | v <- dfs % x $ vs ] == True
  1658. 958.52 s [algebraic-graphs]
  1659. 958.52 s [algebraic-graphs] ============ Typed.topSort ============
  1660. 958.52 s [algebraic-graphs] OK: topSort % (1 * 2 + 3 * 1) == [3,1,2]
  1661. 958.52 s [algebraic-graphs] OK: topSort % (1 * 2 + 2 * 1) == [1,2]
  1662. 958.52 s [algebraic-graphs]
  1663. 958.52 s [algebraic-graphs] ============ Graph.Undirected ============
  1664. 958.52 s [algebraic-graphs] OK: Axioms of undirected graphs
  1665. 958.52 s [algebraic-graphs]
  1666. 958.52 s [algebraic-graphs] ============ Graph.Undirected.Show ============
  1667. 958.52 s [algebraic-graphs] OK: show (empty ) == "empty"
  1668. 958.52 s [algebraic-graphs] OK: show (1 ) == "vertex 1"
  1669. 958.52 s [algebraic-graphs] OK: show (1 + 2 ) == "vertices [1,2]"
  1670. 958.52 s [algebraic-graphs] OK: show (1 * 2 ) == "edge 1 2"
  1671. 958.52 s [algebraic-graphs] OK: show (1 * 2 * 3) == "edges [(1,2),(1,3),(2,3)]"
  1672. 958.52 s [algebraic-graphs] OK: show (1 * 2 + 3) == "overlay (vertex 3) (edge 1 2)"
  1673. 958.52 s [algebraic-graphs]
  1674. 958.52 s [algebraic-graphs] OK: show (vertex (-1) ) == "vertex (-1)"
  1675. 958.52 s [algebraic-graphs] OK: show (vertex (-1) + vertex (-2) ) == "vertices [-2,-1]"
  1676. 958.52 s [algebraic-graphs] OK: show (vertex (-2) * vertex (-1) ) == "edge (-2) (-1)"
  1677. 958.52 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) * vertex (-1)) == "edges [(-3,-2),(-3,-1),(-2,-1)]"
  1678. 958.52 s [algebraic-graphs] OK: show (vertex (-3) * vertex (-2) + vertex (-1)) == "overlay (vertex (-1)) (edge (-3) (-2))"
  1679. 958.52 s [algebraic-graphs]
  1680. 958.52 s [algebraic-graphs] OK: show (2 * 1 ) == "edge 1 2"
  1681. 958.52 s [algebraic-graphs] OK: show (1 * 2 * 1) == "edges [(1,1),(1,2)]"
  1682. 958.52 s [algebraic-graphs] OK: show (3 * 2 * 1) == "edges [(1,2),(1,3),(2,3)]"
  1683. 958.52 s [algebraic-graphs]
  1684. 958.52 s [algebraic-graphs] ============ Graph.Undirected.toUndirected ============
  1685. 958.52 s [algebraic-graphs] OK: toUndirected (edge 1 2) == edge 1 2
  1686. 958.52 s [algebraic-graphs] OK: toUndirected . fromUndirected == id
  1687. 958.52 s [algebraic-graphs] OK: vertexCount . toUndirected == vertexCount
  1688. 958.52 s [algebraic-graphs] OK: (*2) . edgeCount . toUndirected >= edgeCount
  1689. 958.52 s [algebraic-graphs]
  1690. 958.52 s [algebraic-graphs] ============ Graph.Undirected.fromUndirected ============
  1691. 958.52 s [algebraic-graphs] OK: fromUndirected (edge 1 2) == edges [(1,2),(2,1)]
  1692. 958.52 s [algebraic-graphs] OK: toUndirected . fromUndirected == id
  1693. 958.52 s [algebraic-graphs] OK: vertexCount . fromUndirected == vertexCount
  1694. 958.52 s [algebraic-graphs] OK: edgeCount . fromUndirected <= (*2) . edgeCount
  1695. 958.52 s [algebraic-graphs]
  1696. 958.52 s [algebraic-graphs] ============ Graph.Undirected.complement ================
  1697. 958.52 s [algebraic-graphs] OK: complement empty == empty
  1698. 958.52 s [algebraic-graphs] OK: complement (vertex x) == vertex x
  1699. 958.52 s [algebraic-graphs] OK: complement (edge 1 1) == edge 1 1
  1700. 958.52 s [algebraic-graphs] OK: complement (edge 1 2) == vertices [1, 2]
  1701. 958.52 s [algebraic-graphs] OK: complement (star 1 [2, 3]) == overlay (vertex 1) (edge 2 3)
  1702. 958.52 s [algebraic-graphs] OK: complement . complement == id
  1703. 958.52 s [algebraic-graphs]
  1704. 958.52 s [algebraic-graphs] ============ Graph.Undirected.Ord ============
  1705. 958.52 s [algebraic-graphs] OK: vertex 1 < vertex 2
  1706. 958.52 s [algebraic-graphs] OK: vertex 3 < edge 1 2
  1707. 958.52 s [algebraic-graphs] OK: vertex 1 < edge 1 1
  1708. 958.52 s [algebraic-graphs] OK: edge 1 1 < edge 1 2
  1709. 958.52 s [algebraic-graphs] OK: edge 1 2 < edge 1 1 + edge 2 2
  1710. 958.52 s [algebraic-graphs] OK: edge 2 1 < edge 1 3
  1711. 958.52 s [algebraic-graphs] OK: edge 1 2 == edge 2 1
  1712. 958.52 s [algebraic-graphs] OK: x <= x + y
  1713. 958.52 s [algebraic-graphs] OK: x + y <= x * y
  1714. 958.52 s [algebraic-graphs]
  1715. 958.52 s [algebraic-graphs] ============ Graph.Undirected.empty ============
  1716. 958.52 s [algebraic-graphs] OK: isEmpty empty == True
  1717. 958.52 s [algebraic-graphs] OK: hasVertex x empty == False
  1718. 958.52 s [algebraic-graphs] OK: vertexCount empty == 0
  1719. 958.52 s [algebraic-graphs] OK: edgeCount empty == 0
  1720. 958.52 s [algebraic-graphs]
  1721. 958.52 s [algebraic-graphs] ============ Graph.Undirected.vertex ============
  1722. 958.52 s [algebraic-graphs] OK: isEmpty (vertex x) == False
  1723. 958.52 s [algebraic-graphs] OK: hasVertex x (vertex y) == (x == y)
  1724. 958.52 s [algebraic-graphs] OK: vertexCount (vertex x) == 1
  1725. 958.52 s [algebraic-graphs] OK: edgeCount (vertex x) == 0
  1726. 958.52 s [algebraic-graphs]
  1727. 958.52 s [algebraic-graphs] ============ Graph.Undirected.edge ============
  1728. 958.52 s [algebraic-graphs] OK: edge x y == connect (vertex x) (vertex y)
  1729. 958.52 s [algebraic-graphs] OK: edge x y == edge y x
  1730. 968.24 s [algebraic-graphs] OK: edge x y == edges [(x,y), (y,x)]
  1731. 968.24 s [algebraic-graphs] OK: hasEdge x y (edge x y) == True
  1732. 968.24 s [algebraic-graphs] OK: edgeCount (edge x y) == 1
  1733. 968.44 s [algebraic-graphs] OK: vertexCount (edge 1 1) == 1
  1734. 968.44 s [algebraic-graphs] OK: vertexCount (edge 1 2) == 2
  1735. 968.44 s [algebraic-graphs]
  1736. 968.44 s [algebraic-graphs] ============ Graph.Undirected.overlay ============
  1737. 968.44 s [algebraic-graphs] OK: isEmpty (overlay x y) == isEmpty x && isEmpty y
  1738. 968.44 s [algebraic-graphs] OK: hasVertex z (overlay x y) == hasVertex z x || hasVertex z y
  1739. 968.44 s [algebraic-graphs] OK: vertexCount (overlay x y) >= vertexCount x
  1740. 968.44 s [algebraic-graphs] OK: vertexCount (overlay x y) <= vertexCount x + vertexCount y
  1741. 968.44 s [algebraic-graphs] OK: edgeCount (overlay x y) >= edgeCount x
  1742. 968.44 s [algebraic-graphs] OK: edgeCount (overlay x y) <= edgeCount x + edgeCount y
  1743. 968.44 s [algebraic-graphs] OK: vertexCount (overlay 1 2) == 2
  1744. 968.44 s [algebraic-graphs] OK: edgeCount (overlay 1 2) == 0
  1745. 968.44 s [algebraic-graphs]
  1746. 968.44 s [algebraic-graphs] ============ Graph.Undirected.connect ============
  1747. 968.44 s [algebraic-graphs] OK: connect x y == connect y x
  1748. 968.44 s [algebraic-graphs] OK: isEmpty (connect x y) == isEmpty x && isEmpty y
  1749. 968.44 s [algebraic-graphs] OK: hasVertex z (connect x y) == hasVertex z x || hasVertex z y
  1750. 968.44 s [algebraic-graphs] OK: vertexCount (connect x y) >= vertexCount x
  1751. 968.44 s [algebraic-graphs] OK: vertexCount (connect x y) <= vertexCount x + vertexCount y
  1752. 968.44 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount x
  1753. 968.44 s [algebraic-graphs] OK: edgeCount (connect x y) >= edgeCount y
  1754. 968.44 s [algebraic-graphs] OK: edgeCount (connect x y) >= vertexCount x * vertexCount y `div` 2
  1755. 968.44 s [algebraic-graphs] OK: edgeCount (connect x y) <= vertexCount x * vertexCount y + edgeCount x + edgeCount y
  1756. 968.44 s [algebraic-graphs] OK: vertexCount (connect 1 2) == 2
  1757. 968.44 s [algebraic-graphs] OK: edgeCount (connect 1 2) == 1
  1758. 968.44 s [algebraic-graphs]
  1759. 968.44 s [algebraic-graphs] ============ Graph.Undirected.vertices ============
  1760. 968.44 s [algebraic-graphs] OK: vertices [] == empty
  1761. 968.44 s [algebraic-graphs] OK: vertices [x] == vertex x
  1762. 968.44 s [algebraic-graphs] OK: vertices == overlays . map vertex
  1763. 968.44 s [algebraic-graphs] OK: hasVertex x . vertices == elem x
  1764. 968.44 s [algebraic-graphs] OK: vertexCount . vertices == length . nub
  1765. 968.44 s [algebraic-graphs] OK: vertexSet . vertices == Set.fromList
  1766. 968.44 s [algebraic-graphs]
  1767. 968.44 s [algebraic-graphs] ============ Graph.Undirected.edges ============
  1768. 968.44 s [algebraic-graphs] OK: edges [] == empty
  1769. 968.44 s [algebraic-graphs] OK: edges [(x,y)] == edge x y
  1770. 968.44 s [algebraic-graphs] OK: edges [(x,y), (y,x)] == edge x y
  1771. 968.44 s [algebraic-graphs]
  1772. 968.44 s [algebraic-graphs] ============ Graph.Undirected.overlays ============
  1773. 968.44 s [algebraic-graphs] OK: overlays [] == empty
  1774. 968.44 s [algebraic-graphs] OK: overlays [x] == x
  1775. 968.44 s [algebraic-graphs] OK: overlays [x,y] == overlay x y
  1776. 968.44 s [algebraic-graphs] OK: overlays == foldr overlay empty
  1777. 968.44 s [algebraic-graphs] OK: isEmpty . overlays == all isEmpty
  1778. 968.44 s [algebraic-graphs]
  1779. 968.44 s [algebraic-graphs] ============ Graph.Undirected.connects ============
  1780. 968.44 s [algebraic-graphs] OK: connects [] == empty
  1781. 968.44 s [algebraic-graphs] OK: connects [x] == x
  1782. 968.44 s [algebraic-graphs] OK: connects [x,y] == connect x y
  1783. 968.44 s [algebraic-graphs] OK: connects == foldr connect empty
  1784. 968.44 s [algebraic-graphs] OK: isEmpty . connects == all isEmpty
  1785. 968.44 s [algebraic-graphs] OK: connects == connects . reverse
  1786. 968.44 s [algebraic-graphs]
  1787. 968.44 s [algebraic-graphs] ============ Graph.Undirected.isSubgraphOf ============
  1788. 968.44 s [algebraic-graphs] OK: isSubgraphOf empty x == True
  1789. 968.44 s [algebraic-graphs] OK: isSubgraphOf (vertex x) empty == False
  1790. 968.44 s [algebraic-graphs] OK: isSubgraphOf x (overlay x y) == True
  1791. 968.44 s [algebraic-graphs] OK: isSubgraphOf (overlay x y) (connect x y) == True
  1792. 968.44 s [algebraic-graphs] OK: isSubgraphOf (path xs) (circuit xs) == True
  1793. 968.44 s [algebraic-graphs] OK: isSubgraphOf x y ==> x <= y
  1794. 968.44 s [algebraic-graphs] OK: isSubgraphOf (edge x y) (edge y x) == True
  1795. 968.44 s [algebraic-graphs]
  1796. 968.44 s [algebraic-graphs] ============ Graph.Undirected.path ============
  1797. 968.44 s [algebraic-graphs] OK: path [] == empty
  1798. 968.44 s [algebraic-graphs] OK: path [x] == vertex x
  1799. 968.44 s [algebraic-graphs] OK: path [x,y] == edge x y
  1800. 968.44 s [algebraic-graphs] OK: path == path . reverse
  1801. 968.44 s [algebraic-graphs]
  1802. 968.44 s [algebraic-graphs] ============ Graph.Undirected.circuit ============
  1803. 968.44 s [algebraic-graphs] OK: circuit [] == empty
  1804. 968.44 s [algebraic-graphs] OK: circuit [x] == edge x x
  1805. 968.44 s [algebraic-graphs] OK: circuit [x,y] == edges [(x,y), (y,x)]
  1806. 968.44 s [algebraic-graphs] OK: circuit == circuit . reverse
  1807. 968.44 s [algebraic-graphs]
  1808. 968.44 s [algebraic-graphs] ============ Graph.Undirected.clique ============
  1809. 968.44 s [algebraic-graphs] OK: clique [] == empty
  1810. 968.44 s [algebraic-graphs] OK: clique [x] == vertex x
  1811. 968.44 s [algebraic-graphs] OK: clique [x,y] == edge x y
  1812. 968.44 s [algebraic-graphs] OK: clique [x,y,z] == edges [(x,y), (x,z), (y,z)]
  1813. 968.44 s [algebraic-graphs] OK: clique (xs ++ ys) == connect (clique xs) (clique ys)
  1814. 968.44 s [algebraic-graphs] OK: clique == clique . reverse
  1815. 968.44 s [algebraic-graphs]
  1816. 968.44 s [algebraic-graphs] ============ Graph.Undirected.biclique ============
  1817. 968.44 s [algebraic-graphs] OK: biclique [] [] == empty
  1818. 968.44 s [algebraic-graphs] OK: biclique [x] [] == vertex x
  1819. 968.44 s [algebraic-graphs] OK: biclique [] [y] == vertex y
  1820. 968.44 s [algebraic-graphs] OK: biclique [x1,x2] [y1,y2] == edges [(x1,y1), (x1,y2), (x2,y1), (x2,y2)]
  1821. 968.44 s [algebraic-graphs] OK: biclique xs ys == connect (vertices xs) (vertices ys)
  1822. 968.44 s [algebraic-graphs]
  1823. 968.44 s [algebraic-graphs] ============ Graph.Undirected.star ============
  1824. 968.44 s [algebraic-graphs] OK: star x [] == vertex x
  1825. 968.44 s [algebraic-graphs] OK: star x [y] == edge x y
  1826. 968.44 s [algebraic-graphs] OK: star x [y,z] == edges [(x,y), (x,z)]
  1827. 968.44 s [algebraic-graphs] OK: star x ys == connect (vertex x) (vertices ys)
  1828. 968.44 s [algebraic-graphs]
  1829. 968.44 s [algebraic-graphs] ============ Graph.Undirected.stars ============
  1830. 968.44 s [algebraic-graphs] OK: stars [] == empty
  1831. 968.44 s [algebraic-graphs] OK: stars [(x, [])] == vertex x
  1832. 968.44 s [algebraic-graphs] OK: stars [(x, [y])] == edge x y
  1833. 968.44 s [algebraic-graphs] OK: stars [(x, ys)] == star x ys
  1834. 968.44 s [algebraic-graphs] OK: stars == overlays . map (uncurry star)
  1835. 968.44 s [algebraic-graphs] OK: stars . adjacencyList == id
  1836. 968.44 s [algebraic-graphs] OK: overlay (stars xs) (stars ys) == stars (xs ++ ys)
  1837. 968.44 s [algebraic-graphs]
  1838. 968.44 s [algebraic-graphs] ============ Graph.Undirected.tree ============
  1839. 968.44 s [algebraic-graphs] OK: tree (Node x []) == vertex x
  1840. 968.44 s [algebraic-graphs] OK: tree (Node x [Node y [Node z []]]) == path [x,y,z]
  1841. 968.44 s [algebraic-graphs] OK: tree (Node x [Node y [], Node z []]) == star x [y,z]
  1842. 968.44 s [algebraic-graphs] OK: tree (Node 1 [Node 2 [], Node 3 [Node 4 [], Node 5 []]]) == edges [(1,2), (1,3), (3,4), (3,5)]
  1843. 968.44 s [algebraic-graphs]
  1844. 968.44 s [algebraic-graphs] ============ Graph.Undirected.forest ============
  1845. 968.44 s [algebraic-graphs] OK: forest [] == empty
  1846. 968.44 s [algebraic-graphs] OK: forest [x] == tree x
  1847. 968.44 s [algebraic-graphs] OK: forest [Node 1 [Node 2 [], Node 3 []], Node 4 [Node 5 []]] == edges [(1,2), (1,3), (4,5)]
  1848. 968.44 s [algebraic-graphs] OK: forest == overlays . map tree
  1849. 968.44 s [algebraic-graphs]
  1850. 968.44 s [algebraic-graphs] ============ Graph.Undirected.removeVertex ============
  1851. 968.44 s [algebraic-graphs] OK: removeVertex x (vertex x) == empty
  1852. 968.44 s [algebraic-graphs] OK: removeVertex 1 (vertex 2) == vertex 2
  1853. 968.44 s [algebraic-graphs] OK: removeVertex x (edge x x) == empty
  1854. 968.44 s [algebraic-graphs] OK: removeVertex 1 (edge 1 2) == vertex 2
  1855. 968.44 s [algebraic-graphs] OK: removeVertex x . removeVertex x == removeVertex x
  1856. 968.44 s [algebraic-graphs]
  1857. 968.44 s [algebraic-graphs] ============ Graph.Undirected.removeEdge ============
  1858. 968.44 s [algebraic-graphs] OK: removeEdge x y (edge x y) == vertices [x,y]
  1859. 968.44 s [algebraic-graphs] OK: removeEdge x y . removeEdge x y == removeEdge x y
  1860. 968.44 s [algebraic-graphs] OK: removeEdge x y . removeVertex x == removeVertex x
  1861. 968.44 s [algebraic-graphs] OK: removeEdge 1 1 (1 * 1 * 2 * 2) == 1 * 2 * 2
  1862. 968.44 s [algebraic-graphs] OK: removeEdge 1 2 (1 * 1 * 2 * 2) == 1 * 1 + 2 * 2
  1863. 968.44 s [algebraic-graphs] OK: removeEdge x y == removeEdge y x
  1864. 968.44 s [algebraic-graphs]
  1865. 968.44 s [algebraic-graphs] ============ Graph.Undirected.replaceVertex ============
  1866. 968.44 s [algebraic-graphs] OK: replaceVertex x x == id
  1867. 968.44 s [algebraic-graphs] OK: replaceVertex x y (vertex x) == vertex y
  1868. 968.44 s [algebraic-graphs] OK: replaceVertex x y == mergeVertices (== x) y
  1869. 968.44 s [algebraic-graphs]
  1870. 968.44 s [algebraic-graphs] ============ Graph.Undirected.mergeVertices ============
  1871. 968.44 s [algebraic-graphs] OK: mergeVertices (const False) x == id
  1872. 968.44 s [algebraic-graphs] OK: mergeVertices (== x) y == replaceVertex x y
  1873. 968.44 s [algebraic-graphs] OK: mergeVertices even 1 (0 * 2) == 1 * 1
  1874. 968.44 s [algebraic-graphs] OK: mergeVertices odd 1 (3 + 4 * 5) == 4 * 1
  1875. 968.44 s [algebraic-graphs]
  1876. 968.44 s [algebraic-graphs] ============ Graph.Undirected.gmap ============
  1877. 968.44 s [algebraic-graphs] OK: gmap f empty == empty
  1878. 968.44 s [algebraic-graphs] OK: gmap f (vertex x) == vertex (f x)
  1879. 968.44 s [algebraic-graphs] OK: gmap f (edge x y) == edge (f x) (f y)
  1880. 968.44 s [algebraic-graphs] OK: gmap id == id
  1881. 968.44 s [algebraic-graphs] OK: gmap f . gmap g == gmap (f . g)
  1882. 968.44 s [algebraic-graphs]
  1883. 968.44 s [algebraic-graphs] ============ Graph.Undirected.induce ============
  1884. 968.44 s [algebraic-graphs] OK: induce (const True ) x == x
  1885. 968.44 s [algebraic-graphs] OK: induce (const False) x == empty
  1886. 968.44 s [algebraic-graphs] OK: induce (/= x) == removeVertex x
  1887. 968.44 s [algebraic-graphs] OK: induce p . induce q == induce (\x -> p x && q x)
  1888. 968.44 s [algebraic-graphs] OK: isSubgraphOf (induce p x) x == True
  1889. 968.44 s [algebraic-graphs]
  1890. 968.44 s [algebraic-graphs] ============ Graph.Undirected.induceJust ============
  1891. 968.44 s [algebraic-graphs] OK: induceJust (vertex Nothing) == empty
  1892. 968.44 s [algebraic-graphs] OK: induceJust (edge (Just x) Nothing) == vertex x
  1893. 968.44 s [algebraic-graphs] OK: induceJust . gmap Just == id
  1894. 968.44 s [algebraic-graphs] OK: induceJust . gmap (\x -> if p x then Just x else Nothing) == induce p
  1895. 968.44 s [algebraic-graphs] Test suite main: PASS
  1896. 968.44 s [algebraic-graphs] Test suite logged to: dist/test/algebraic-graphs-0.7-main.log
  1897. 968.44 s [algebraic-graphs] 1 of 1 test suites (1 of 1 test cases) passed.
  1898. 968.44 s [algebraic-graphs] checkPhase completed in 1 minutes 48 seconds
  1899. 968.44 s [algebraic-graphs] Phase: haddockPhase
  1900. 968.44 s [algebraic-graphs] Preprocessing library for algebraic-graphs-0.7..
  1901. 968.44 s [algebraic-graphs] Running Haddock on library for algebraic-graphs-0.7..
  1902. 968.47 s [algebraic-graphs] Warning: --source-* options are ignored when --hyperlinked-source is enabled.
  1903. 968.80 s [algebraic-graphs] 100% ( 58 / 58) in 'Algebra.Graph.AdjacencyMap'
  1904. 969.00 s [algebraic-graphs] 100% ( 56 / 56) in 'Algebra.Graph.AdjacencyIntMap'
  1905. 969.07 s [algebraic-graphs] Warning: 'nub' is out of scope.
  1906. 969.07 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1907. 969.07 s [algebraic-graphs] Warning: 'sort' is out of scope.
  1908. 969.07 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1909. 969.08 s [algebraic-graphs] 93% ( 14 / 15) in 'Algebra.Graph.AdjacencyIntMap.Algorithm'
  1910. 969.08 s [algebraic-graphs] Missing documentation for:
  1911. 969.08 s [algebraic-graphs] Cycle (src/Algebra/Graph/AdjacencyIntMap/Algorithm.hs:227)
  1912. 969.11 s [algebraic-graphs] Warning: 'IsList' is out of scope.
  1913. 969.11 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1914. 969.12 s [algebraic-graphs] 100% ( 19 / 19) in 'Algebra.Graph.Internal'
  1915. 969.40 s [algebraic-graphs] 100% ( 61 / 61) in 'Algebra.Graph'
  1916. 969.58 s [algebraic-graphs] Warning: 'mplus' is out of scope.
  1917. 969.58 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1918. 969.59 s [algebraic-graphs] Warning: 'vertexCount' is out of scope.
  1919. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1920. 969.59 s [algebraic-graphs] Warning: 'hasVertex' is out of scope.
  1921. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1922. 969.59 s [algebraic-graphs] Warning: 'vertexSet' is out of scope.
  1923. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1924. 969.59 s [algebraic-graphs] Warning: 'isEmpty' is out of scope.
  1925. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1926. 969.59 s [algebraic-graphs] Warning: 'edgeList' is out of scope.
  1927. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1928. 969.59 s [algebraic-graphs] Warning: 'adjacencyList' is out of scope.
  1929. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1930. 969.59 s [algebraic-graphs] Warning: 'box' is out of scope.
  1931. 969.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1932. 969.60 s [algebraic-graphs] Warning: 'edgeCount' is out of scope.
  1933. 969.60 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1934. 969.60 s [algebraic-graphs] 100% ( 42 / 42) in 'Algebra.Graph.HigherKinded.Class'
  1935. 969.71 s [algebraic-graphs] Warning: 'nub' is out of scope.
  1936. 969.71 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1937. 969.73 s [algebraic-graphs] 100% ( 63 / 63) in 'Algebra.Graph.Bipartite.AdjacencyMap'
  1938. 970.26 s [algebraic-graphs] Warning: 'isRight' is out of scope.
  1939. 970.26 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1940. 970.27 s [algebraic-graphs] 100% ( 25 / 25) in 'Algebra.Graph.Bipartite.AdjacencyMap.Algorithm'
  1941. 970.41 s [algebraic-graphs] 100% ( 37 / 37) in 'Algebra.Graph.Label'
  1942. 970.58 s [algebraic-graphs] Warning: 'isEmpty' is out of scope.
  1943. 970.58 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1944. 970.58 s [algebraic-graphs] Warning: 'empty' is out of scope.
  1945. 970.58 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1946. 970.58 s [algebraic-graphs] Warning: 'vertexList' is out of scope.
  1947. 970.58 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1948. 970.58 s [algebraic-graphs] Warning: 'edges' is out of scope.
  1949. 970.58 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1950. 970.59 s [algebraic-graphs] Warning: 'adjacencyList' is out of scope.
  1951. 970.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1952. 970.59 s [algebraic-graphs] Warning: 'stars' is out of scope.
  1953. 970.59 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1954. 970.59 s [algebraic-graphs] 100% ( 51 / 51) in 'Algebra.Graph.NonEmpty.AdjacencyMap'
  1955. 970.68 s [algebraic-graphs] Warning: 'nub' is out of scope.
  1956. 970.68 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1957. 970.68 s [algebraic-graphs] Warning: 'sort' is out of scope.
  1958. 970.68 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  1959. 970.68 s [algebraic-graphs] 93% ( 15 / 16) in 'Algebra.Graph.AdjacencyMap.Algorithm'
  1960. 970.68 s [algebraic-graphs] Missing documentation for:
  1961. 970.68 s [algebraic-graphs] Cycle (src/Algebra/Graph/AdjacencyMap/Algorithm.hs:228)
  1962. 970.96 s [algebraic-graphs] 100% ( 44 / 44) in 'Algebra.Graph.Acyclic.AdjacencyMap'
  1963. 971.04 s [algebraic-graphs] 100% ( 8 / 8) in 'Algebra.Graph.ToGraph'
  1964. 971.09 s [algebraic-graphs]
  1965. 971.15 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:171:32: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1966. 971.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1967. 971.15 s [algebraic-graphs] will become an error in a future GHC release.
  1968. 971.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1969. 971.15 s [algebraic-graphs] |
  1970. 971.15 s [algebraic-graphs] 171 | vertexIntSet :: ToVertex t ~ Int => t -> IntSet
  1971. 971.15 s [algebraic-graphs] | ^
  1972. 971.15 s [algebraic-graphs]
  1973. 971.15 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:197:29: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1974. 971.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1975. 971.15 s [algebraic-graphs] will become an error in a future GHC release.
  1976. 971.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1977. 971.15 s [algebraic-graphs] |
  1978. 971.15 s [algebraic-graphs] 197 | preIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
  1979. 971.15 s [algebraic-graphs] | ^
  1980. 971.15 s [algebraic-graphs]
  1981. 971.15 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:215:30: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1982. 971.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1983. 971.15 s [algebraic-graphs] will become an error in a future GHC release.
  1984. 971.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1985. 971.15 s [algebraic-graphs] |
  1986. 971.15 s [algebraic-graphs] 215 | postIntSet :: ToVertex t ~ Int => Int -> t -> IntSet
  1987. 971.15 s [algebraic-graphs] | ^
  1988. 971.15 s [algebraic-graphs]
  1989. 971.15 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:303:37: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1990. 971.15 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1991. 971.15 s [algebraic-graphs] will become an error in a future GHC release.
  1992. 971.15 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  1993. 971.15 s [algebraic-graphs] |
  1994. 971.15 s [algebraic-graphs] 303 | toAdjacencyIntMap :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
  1995. 971.15 s [algebraic-graphs] | ^
  1996. 971.15 s [algebraic-graphs]
  1997. 971.16 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:312:46: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  1998. 971.16 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  1999. 971.16 s [algebraic-graphs] will become an error in a future GHC release.
  2000. 971.16 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  2001. 971.16 s [algebraic-graphs] |
  2002. 971.16 s [algebraic-graphs] 312 | toAdjacencyIntMapTranspose :: ToVertex t ~ Int => t -> AIM.AdjacencyIntMap
  2003. 971.16 s [algebraic-graphs] | ^
  2004. 971.16 s [algebraic-graphs]
  2005. 971.16 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:452:43: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  2006. 971.16 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  2007. 971.16 s [algebraic-graphs] will become an error in a future GHC release.
  2008. 971.16 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  2009. 971.16 s [algebraic-graphs] |
  2010. 971.16 s [algebraic-graphs] 452 | adjacencyIntMap :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
  2011. 971.16 s [algebraic-graphs] | ^
  2012. 971.16 s [algebraic-graphs]
  2013. 971.16 s [algebraic-graphs] src/Algebra/Graph/ToGraph.hs:471:52: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  2014. 971.16 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  2015. 971.16 s [algebraic-graphs] will become an error in a future GHC release.
  2016. 971.16 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  2017. 971.16 s [algebraic-graphs] |
  2018. 971.16 s [algebraic-graphs] 471 | adjacencyIntMapTranspose :: (ToGraph t, ToVertex t ~ Int) => t -> IntMap IntSet
  2019. 971.16 s [algebraic-graphs] | ^
  2020. 971.21 s [algebraic-graphs] Warning: 'AdjacencyMap' is out of scope.
  2021. 971.21 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2022. 971.22 s [algebraic-graphs] 100% ( 56 / 56) in 'Algebra.Graph.Relation'
  2023. 971.31 s [algebraic-graphs] 100% ( 48 / 48) in 'Algebra.Graph.Relation.Symmetric'
  2024. 971.41 s [algebraic-graphs] Warning: 'vertexList' is out of scope.
  2025. 971.41 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2026. 971.42 s [algebraic-graphs] 100% ( 53 / 53) in 'Algebra.Graph.NonEmpty'
  2027. 971.62 s [algebraic-graphs] 100% ( 49 / 49) in 'Algebra.Graph.Labelled.AdjacencyMap'
  2028. 971.80 s [algebraic-graphs] 100% ( 49 / 49) in 'Algebra.Graph.Labelled'
  2029. 971.87 s [algebraic-graphs] 100% ( 6 / 6) in 'Algebra.Graph.Labelled.Example.Network'
  2030. 971.88 s [algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Labelled.Example.Automaton'
  2031. 971.90 s [algebraic-graphs] 100% ( 14 / 14) in 'Algebra.Graph.Export'
  2032. 971.91 s [algebraic-graphs]
  2033. 971.91 s [algebraic-graphs] src/Algebra/Graph/Export.hs:185:41: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  2034. 971.91 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  2035. 971.91 s [algebraic-graphs] will become an error in a future GHC release.
  2036. 971.91 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  2037. 971.91 s [algebraic-graphs] |
  2038. 971.91 s [algebraic-graphs] 185 | export :: (Ord a, ToGraph g, ToVertex g ~ a) => (a -> Doc s) -> (a -> a -> Doc s) -> g -> Doc s
  2039. 971.91 s [algebraic-graphs] | ^
  2040. 971.92 s [algebraic-graphs] Warning: 'Graph' is out of scope.
  2041. 971.92 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2042. 971.92 s [algebraic-graphs] 100% ( 11 / 11) in 'Algebra.Graph.Export.Dot'
  2043. 971.93 s [algebraic-graphs]
  2044. 971.93 s [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:121:63: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  2045. 971.93 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  2046. 971.93 s [algebraic-graphs] will become an error in a future GHC release.
  2047. 971.93 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  2048. 971.93 s [algebraic-graphs] |
  2049. 971.93 s [algebraic-graphs] 121 | export :: (IsString s, Monoid s, Ord a, ToGraph g, ToVertex g ~ a) => Style a s -> g -> s
  2050. 971.93 s [algebraic-graphs] | ^
  2051. 971.93 s [algebraic-graphs]
  2052. 971.93 s [algebraic-graphs] src/Algebra/Graph/Export/Dot.hs:165:78: warning: [GHC-58520] [-Wtype-equality-requires-operators]
  2053. 971.93 s [algebraic-graphs] The use of ‘~’ without TypeOperators
  2054. 971.93 s [algebraic-graphs] will become an error in a future GHC release.
  2055. 971.93 s [algebraic-graphs] Suggested fix: Perhaps you intended to use TypeOperators
  2056. 971.93 s [algebraic-graphs] |
  2057. 971.93 s [algebraic-graphs] 165 | exportAsIs :: (IsString s, Monoid s, Ord (ToVertex g), ToGraph g, ToVertex g ~ s) => g -> s
  2058. 971.93 s [algebraic-graphs] | ^
  2059. 971.97 s [algebraic-graphs] 100% ( 50 / 50) in 'Algebra.Graph.Undirected'
  2060. 972.11 s [algebraic-graphs] 100% ( 27 / 27) in 'Algebra.Graph.Class'
  2061. 972.14 s [algebraic-graphs] Warning: 'Transitive' is out of scope.
  2062. 972.14 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2063. 972.14 s [algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Relation.Transitive'
  2064. 972.15 s [algebraic-graphs] Warning: 'Reflexive' is out of scope.
  2065. 972.15 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2066. 972.16 s [algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Relation.Reflexive'
  2067. 972.17 s [algebraic-graphs] Warning: 'Preorder' is out of scope.
  2068. 972.17 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2069. 972.17 s [algebraic-graphs] 100% ( 5 / 5) in 'Algebra.Graph.Relation.Preorder'
  2070. 972.18 s [algebraic-graphs] 0% ( 0 / 8) in 'Algebra.Graph.Example.Todo'
  2071. 972.18 s [algebraic-graphs] Missing documentation for:
  2072. 972.18 s [algebraic-graphs] Module header
  2073. 972.18 s [algebraic-graphs] Todo (src/Algebra/Graph/Example/Todo.hs:13)
  2074. 972.18 s [algebraic-graphs] todo (src/Algebra/Graph/Example/Todo.hs:41)
  2075. 972.18 s [algebraic-graphs] low (src/Algebra/Graph/Example/Todo.hs:22)
  2076. 972.18 s [algebraic-graphs] high (src/Algebra/Graph/Example/Todo.hs:26)
  2077. 972.18 s [algebraic-graphs] ~*~ (src/Algebra/Graph/Example/Todo.hs:34)
  2078. 972.18 s [algebraic-graphs] >*< (src/Algebra/Graph/Example/Todo.hs:38)
  2079. 972.18 s [algebraic-graphs] priority (src/Algebra/Graph/Example/Todo.hs:30)
  2080. 972.19 s [algebraic-graphs] Warning: 'array' is out of scope.
  2081. 972.19 s [algebraic-graphs] If you qualify the identifier, haddock can try to link it anyway.
  2082. 972.20 s [algebraic-graphs] 90% ( 10 / 11) in 'Data.Graph.Typed'
  2083. 972.20 s [algebraic-graphs] Missing documentation for:
  2084. 972.20 s [algebraic-graphs] scc (src/Data/Graph/Typed.hs:191)
  2085. 976.95 s [algebraic-graphs] Documentation created: dist/doc/html/algebraic-graphs/,
  2086. 976.95 s [algebraic-graphs] dist/doc/html/algebraic-graphs/algebraic-graphs.txt
  2087. 977.04 s [algebraic-graphs] Preprocessing test suite 'main' for algebraic-graphs-0.7..
  2088. 977.04 s [algebraic-graphs] Phase: installPhase
  2089. 977.09 s [algebraic-graphs] Installing library in /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2090. 977.91 s [algebraic-graphs] Phase: fixupPhase
  2091. 977.93 s [algebraic-graphs] shrinking RPATHs of ELF executables and libraries in /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7
  2092. 977.94 s [algebraic-graphs] shrinking /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/libHSalgebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE-ghc9.6.7.so
  2093. 977.95 s [algebraic-graphs] checking for references to /build/ in /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7...
  2094. 977.99 s [algebraic-graphs] patching script interpreter paths in /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7
  2095. 978.00 s [algebraic-graphs] stripping (with command strip and flags -S -p) in /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7/lib
  2096. 978.29 s [algebraic-graphs] shrinking RPATHs of ELF executables and libraries in /nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc
  2097. 978.31 s [algebraic-graphs] checking for references to /build/ in /nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc...
  2098. 978.35 s [algebraic-graphs] patching script interpreter paths in /nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc
  2099. 978.59 s [algebraic-graphs:post-build] Uploading to cachix cache "sellout": /nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7
  2100. 979.18 s [algebraic-graphs:post-build] Pushing 2 paths (70 are already present) using zstd to cache sellout ⏳
  2101. 979.18 s [algebraic-graphs:post-build]
  2102. 979.54 s [algebraic-graphs:post-build] Pushing /nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc (10.39 MiB)
  2103. 979.65 s [algebraic-graphs:post-build] Pushing /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7 (24.32 MiB)
  2104. 981.46 s [algebraic-graphs:post-build]
  2105. 981.46 s [algebraic-graphs:post-build] All done.
  2106. 981.48 s [algebraic-graphs:post-build] Uploading to the NixCI cache: /nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7
  2107. 981.52 s [algebraic-graphs:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2108. 981.76 s [algebraic-graphs:post-build] copying 2 paths...
  2109. 981.76 s [algebraic-graphs:post-build] copying path '/nix/store/fzswxhazq1h53lb7a661wgwcpps3n75x-algebraic-graphs-0.7-doc' to 'https://cache.nix-ci.com'...
  2110. 983.08 s [algebraic-graphs:post-build] copying path '/nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7' to 'https://cache.nix-ci.com'...
  2111. 989.30 s [algebraic-graphs:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2112. 989.55 s [algebraic-graphs:post-build] copying 1 paths...
  2113. 989.58 s [algebraic-graphs:post-build] copying path '/nix/store/5mjvdf48pmvcbc8jll342q9vilpiv5lj-algebraic-graphs-0.7.drv' to 'https://cache.nix-ci.com'...
  2114. 989.78 s Progress: 14 of 19 built, 73 of 73 downloaded from cache
  2115. 989.84 s Building /nix/store/hjisvv3ql6846hgj9ik99qbrqh7z51zw-algebraic-graph-duoids-0.0.1.0.drv
  2116. 990.01 s [algebraic-graph-duoids] Phase: setupCompilerEnvironmentPhase
  2117. 990.10 s [algebraic-graph-duoids] Build with /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7.
  2118. 990.33 s [algebraic-graph-duoids] Phase: unpackPhase
  2119. 990.33 s [algebraic-graph-duoids] unpacking source archive /nix/store/j3nhvvhbp8d5l29mqdaf8f513lxyga6r-z8smrhvl4j2a1x1vb5nv502a87a6wsx7-source/./algebraic-graphs
  2120. 990.34 s [algebraic-graph-duoids] source root is algebraic-graphs
  2121. 990.35 s [algebraic-graph-duoids] Phase: patchPhase
  2122. 990.38 s [algebraic-graph-duoids] Phase: compileBuildDriverPhase
  2123. 990.39 s [algebraic-graph-duoids] setupCompileFlags: -package-db=/build/tmp.8IDw0XcXjO/setup-package.conf.d -threaded
  2124. 990.44 s [algebraic-graph-duoids] [1 of 2] Compiling Main ( Setup.hs, /build/tmp.8IDw0XcXjO/Main.o )
  2125. 990.51 s [algebraic-graph-duoids] [2 of 2] Linking Setup
  2126. 991.82 s [algebraic-graph-duoids] Phase: updateAutotoolsGnuConfigScriptsPhase
  2127. 991.83 s [algebraic-graph-duoids] Phase: configurePhase
  2128. 991.84 s [algebraic-graph-duoids] configureFlags: --verbose --prefix=/nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0 --libdir=$prefix/lib/$compiler/lib --libsubdir=$abi/$libname --docdir=/nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc/share/doc/algebraic-graph-duoids-0.0.1.0 --with-gcc=gcc --package-db=/build/tmp.8IDw0XcXjO/package.conf.d --ghc-option=-j16 --ghc-option=+RTS --ghc-option=-A64M --ghc-option=-RTS --enable-library-profiling --profiling-detail=exported-functions --disable-profiling --enable-shared --disable-coverage --enable-static --disable-executable-dynamic --enable-tests --disable-benchmarks --enable-library-vanilla --disable-library-for-ghci --enable-split-sections --enable-library-stripping --enable-executable-stripping --ghc-option=-haddock --ghc-options=-Werror --extra-lib-dirs=/nix/store/ffyzkisqs4vc4mg28bwwlyqjf8i9ph6b-ncurses-6.5/lib --extra-lib-dirs=/nix/store/n28qgdj8c1q41kf7n4y1jxa6ckp85m3c-libffi-3.5.2/lib --extra-lib-dirs=/nix/store/1b6h99dw7bk4wbn77kbalih42zbc67m1-elfutils-0.194/lib --extra-lib-dirs=/nix/store/hi0ar880110k6jsmmili7dh1gq3cg2a9-gmp-with-cxx-6.3.0/lib --extra-lib-dirs=/nix/store/g09cflpnp4g80q56sj9dng1qzv4v4ybc-numactl-2.0.18/lib --extra-lib-dirs=/nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/lib
  2129. 991.85 s [algebraic-graph-duoids] Using Parsec parser
  2130. 991.85 s [algebraic-graph-duoids] Configuring algebraic-graph-duoids-0.0.1.0...
  2131. 992.17 s [algebraic-graph-duoids] Flags chosen: lint=False, noisy-deprecations=True
  2132. 992.51 s [algebraic-graph-duoids] Dependency algebraic-graphs >=0.5 && <0.6 || >=0.6.1 && <0.9: using
  2133. 992.51 s [algebraic-graph-duoids] algebraic-graphs-0.7
  2134. 992.51 s [algebraic-graph-duoids] Dependency base >=4.16.0 && <4.17 || >=4.17.0 && <4.18 || >=4.18.0 && <4.19 ||
  2135. 992.51 s [algebraic-graph-duoids] >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || >=4.21.0 && <4.22 || >=4.22.0 &&
  2136. 992.51 s [algebraic-graph-duoids] <4.23: using base-4.18.3.0
  2137. 992.51 s [algebraic-graph-duoids] Dependency duoids >=0.0.1 && <0.1: using duoids-0.0.1.0
  2138. 992.51 s [algebraic-graph-duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1
  2139. 992.51 s [algebraic-graph-duoids] Dependency algebraic-graph-duoids: using algebraic-graph-duoids-0.0.1.0
  2140. 992.51 s [algebraic-graph-duoids] Dependency algebraic-graphs >=0.5 && <0.6 || >=0.6.1 && <0.9: using
  2141. 992.51 s [algebraic-graph-duoids] algebraic-graphs-0.7
  2142. 992.51 s [algebraic-graph-duoids] Dependency base >=4.16.0 && <4.17 || >=4.17.0 && <4.18 || >=4.18.0 && <4.19 ||
  2143. 992.51 s [algebraic-graph-duoids] >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || >=4.21.0 && <4.22 || >=4.22.0 &&
  2144. 992.51 s [algebraic-graph-duoids] <4.23: using base-4.18.3.0
  2145. 992.51 s [algebraic-graph-duoids] Dependency duoids-hedgehog >=0.0.1 && <0.1: using duoids-hedgehog-0.0.1.0
  2146. 992.51 s [algebraic-graph-duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1
  2147. 992.51 s [algebraic-graph-duoids] Dependency hedgehog >=1.1 && <1.3 || >=1.4 && <1.6 || >=1.7 && <1.8: using
  2148. 992.51 s [algebraic-graph-duoids] hedgehog-1.5
  2149. 992.51 s [algebraic-graph-duoids] Dependency algebraic-graph-duoids: using algebraic-graph-duoids-0.0.1.0
  2150. 992.51 s [algebraic-graph-duoids] Dependency base >=4.16.0 && <4.17 || >=4.17.0 && <4.18 || >=4.18.0 && <4.19 ||
  2151. 992.51 s [algebraic-graph-duoids] >=4.19.0 && <4.20 || >=4.20.0 && <4.21 || >=4.21.0 && <4.22 || >=4.22.0 &&
  2152. 992.51 s [algebraic-graph-duoids] <4.23: using base-4.18.3.0
  2153. 992.51 s [algebraic-graph-duoids] Dependency doctest >=0.18.2 && <0.19 || >=0.20.1 && <0.21 || >=0.21.1 && <0.22
  2154. 992.51 s [algebraic-graph-duoids] || >=0.22.6 && <0.23 || >=0.24.0 && <0.25 || >=0.25.0 && <0.26: using
  2155. 992.51 s [algebraic-graph-duoids] doctest-0.24.2
  2156. 992.51 s [algebraic-graph-duoids] Dependency ghc-compat-plugin >=0.1.0 && <0.2: using ghc-compat-plugin-0.1.0.1
  2157. 992.51 s [algebraic-graph-duoids] Source component graph:
  2158. 992.51 s [algebraic-graph-duoids] component lib
  2159. 992.51 s [algebraic-graph-duoids] component test:doctests dependency lib
  2160. 992.51 s [algebraic-graph-duoids] component test:laws dependency lib
  2161. 992.51 s [algebraic-graph-duoids] Configured component graph:
  2162. 992.51 s [algebraic-graph-duoids] component algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2163. 992.51 s [algebraic-graph-duoids] include algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2164. 992.51 s [algebraic-graph-duoids] include base-4.18.3.0
  2165. 992.51 s [algebraic-graph-duoids] include duoids-0.0.1.0-105u05r7TW2MRcOyPjMls
  2166. 992.51 s [algebraic-graph-duoids] include ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2167. 992.51 s [algebraic-graph-duoids] component algebraic-graph-duoids-0.0.1.0-836q6BQ7de51JpogUxLpsp-doctests
  2168. 992.51 s [algebraic-graph-duoids] include algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2169. 992.51 s [algebraic-graph-duoids] include base-4.18.3.0
  2170. 992.51 s [algebraic-graph-duoids] include doctest-0.24.2-7YxPr6lrdwiBMDK2pmizgF
  2171. 992.51 s [algebraic-graph-duoids] include ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2172. 992.51 s [algebraic-graph-duoids] component algebraic-graph-duoids-0.0.1.0-3oelAbmlCIOKzguWsvhbMK-laws
  2173. 992.51 s [algebraic-graph-duoids] include algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2174. 992.51 s [algebraic-graph-duoids] include algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2175. 992.51 s [algebraic-graph-duoids] include base-4.18.3.0
  2176. 992.51 s [algebraic-graph-duoids] include duoids-hedgehog-0.0.1.0-DcWZsdLJfX5DhetPN5Zjfn
  2177. 992.51 s [algebraic-graph-duoids] include ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2178. 992.51 s [algebraic-graph-duoids] include hedgehog-1.5-DP7FfOYhHT521r6KmG2jIn
  2179. 992.51 s [algebraic-graph-duoids] Linked component graph:
  2180. 992.51 s [algebraic-graph-duoids] unit algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2181. 992.51 s [algebraic-graph-duoids] include algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2182. 992.51 s [algebraic-graph-duoids] include base-4.18.3.0
  2183. 992.51 s [algebraic-graph-duoids] include duoids-0.0.1.0-105u05r7TW2MRcOyPjMls
  2184. 992.51 s [algebraic-graph-duoids] include ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2185. 992.51 s [algebraic-graph-duoids] Algebra.Graph.Duoid=algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2:Algebra.Graph.Duoid,Algebra.Graph.Duoid.Orphans=algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2:Algebra.Graph.Duoid.Orphans
  2186. 992.51 s [algebraic-graph-duoids] unit algebraic-graph-duoids-0.0.1.0-836q6BQ7de51JpogUxLpsp-doctests
  2187. 992.51 s [algebraic-graph-duoids] include algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2188. 992.51 s [algebraic-graph-duoids] include base-4.18.3.0
  2189. 992.51 s [algebraic-graph-duoids] include doctest-0.24.2-7YxPr6lrdwiBMDK2pmizgF
  2190. 992.51 s [algebraic-graph-duoids] include ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2191. 992.51 s [algebraic-graph-duoids] unit algebraic-graph-duoids-0.0.1.0-3oelAbmlCIOKzguWsvhbMK-laws
  2192. 992.51 s [algebraic-graph-duoids] include algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2193. 992.51 s [algebraic-graph-duoids] include algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2194. 992.51 s [algebraic-graph-duoids] include base-4.18.3.0
  2195. 992.51 s [algebraic-graph-duoids] include duoids-hedgehog-0.0.1.0-DcWZsdLJfX5DhetPN5Zjfn
  2196. 992.51 s [algebraic-graph-duoids] include ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2197. 992.51 s [algebraic-graph-duoids] include hedgehog-1.5-DP7FfOYhHT521r6KmG2jIn
  2198. 992.51 s [algebraic-graph-duoids] Ready component graph:
  2199. 992.51 s [algebraic-graph-duoids] definite algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2200. 992.51 s [algebraic-graph-duoids] depends algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2201. 992.51 s [algebraic-graph-duoids] depends base-4.18.3.0
  2202. 992.51 s [algebraic-graph-duoids] depends duoids-0.0.1.0-105u05r7TW2MRcOyPjMls
  2203. 992.51 s [algebraic-graph-duoids] depends ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2204. 992.51 s [algebraic-graph-duoids] definite algebraic-graph-duoids-0.0.1.0-836q6BQ7de51JpogUxLpsp-doctests
  2205. 992.51 s [algebraic-graph-duoids] depends algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2206. 992.51 s [algebraic-graph-duoids] depends base-4.18.3.0
  2207. 992.51 s [algebraic-graph-duoids] depends doctest-0.24.2-7YxPr6lrdwiBMDK2pmizgF
  2208. 992.51 s [algebraic-graph-duoids] depends ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2209. 992.51 s [algebraic-graph-duoids] definite algebraic-graph-duoids-0.0.1.0-3oelAbmlCIOKzguWsvhbMK-laws
  2210. 992.51 s [algebraic-graph-duoids] depends algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2211. 992.51 s [algebraic-graph-duoids] depends algebraic-graphs-0.7-DAzqSe4OEaY2UL8NUkdChE
  2212. 992.51 s [algebraic-graph-duoids] depends base-4.18.3.0
  2213. 992.51 s [algebraic-graph-duoids] depends duoids-hedgehog-0.0.1.0-DcWZsdLJfX5DhetPN5Zjfn
  2214. 992.51 s [algebraic-graph-duoids] depends ghc-compat-plugin-0.1.0.1-6wKNTt5WLLQByK2Br4PYfC
  2215. 992.51 s [algebraic-graph-duoids] depends hedgehog-1.5-DP7FfOYhHT521r6KmG2jIn
  2216. 992.51 s [algebraic-graph-duoids] Using Cabal-3.12.1.0 compiled by ghc-9.6
  2217. 992.51 s [algebraic-graph-duoids] Using compiler: ghc-9.6.7
  2218. 992.51 s [algebraic-graph-duoids] Using install prefix:
  2219. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0
  2220. 992.51 s [algebraic-graph-duoids] Executables installed in:
  2221. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/bin
  2222. 992.51 s [algebraic-graph-duoids] Libraries installed in:
  2223. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2224. 992.51 s [algebraic-graph-duoids] Dynamic Libraries installed in:
  2225. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7
  2226. 992.51 s [algebraic-graph-duoids] Private executables installed in:
  2227. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/libexec/x86_64-linux-ghc-9.6.7/algebraic-graph-duoids-0.0.1.0
  2228. 992.51 s [algebraic-graph-duoids] Data files installed in:
  2229. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/share/x86_64-linux-ghc-9.6.7/algebraic-graph-duoids-0.0.1.0
  2230. 992.51 s [algebraic-graph-duoids] Documentation installed in:
  2231. 992.51 s [algebraic-graph-duoids] /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc/share/doc/algebraic-graph-duoids-0.0.1.0
  2232. 992.51 s [algebraic-graph-duoids] Configuration files installed in:
  2233. 992.51 s [algebraic-graph-duoids] /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/etc
  2234. 992.51 s [algebraic-graph-duoids] No alex found
  2235. 992.51 s [algebraic-graph-duoids] Using ar found on system at:
  2236. 992.51 s [algebraic-graph-duoids] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ar
  2237. 992.51 s [algebraic-graph-duoids] No c2hs found
  2238. 992.51 s [algebraic-graph-duoids] No cpphs found
  2239. 992.51 s [algebraic-graph-duoids] Using doctest version 0.24.2 found on system at:
  2240. 992.51 s [algebraic-graph-duoids] /nix/store/m3h55v6hp7pfchbn3d61214yzlr937a9-doctest-0.24.2/bin/doctest
  2241. 992.51 s [algebraic-graph-duoids] Using gcc version 14.3.0 given by user at:
  2242. 992.51 s [algebraic-graph-duoids] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/gcc
  2243. 992.51 s [algebraic-graph-duoids] Using ghc version 9.6.7 found on system at:
  2244. 992.51 s [algebraic-graph-duoids] /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/bin/ghc
  2245. 992.51 s [algebraic-graph-duoids] Using ghc-pkg version 9.6.7 found on system at:
  2246. 992.51 s [algebraic-graph-duoids] /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/bin/ghc-pkg-9.6.7
  2247. 992.51 s [algebraic-graph-duoids] No ghcjs found
  2248. 992.51 s [algebraic-graph-duoids] No ghcjs-pkg found
  2249. 992.51 s [algebraic-graph-duoids] No greencard found
  2250. 992.51 s [algebraic-graph-duoids] Using haddock version 2.29.2 found on system at:
  2251. 992.51 s [algebraic-graph-duoids] /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/bin/haddock-ghc-9.6.7
  2252. 992.51 s [algebraic-graph-duoids] No happy found
  2253. 992.51 s [algebraic-graph-duoids] Using haskell-suite found on system at: haskell-suite-dummy-location
  2254. 992.51 s [algebraic-graph-duoids] Using haskell-suite-pkg found on system at: haskell-suite-pkg-dummy-location
  2255. 992.51 s [algebraic-graph-duoids] No hmake found
  2256. 992.51 s [algebraic-graph-duoids] Using hpc version 0.68 found on system at:
  2257. 992.51 s [algebraic-graph-duoids] /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/bin/hpc-ghc-9.6.7
  2258. 992.51 s [algebraic-graph-duoids] Using hsc2hs version 0.68.9 found on system at:
  2259. 992.51 s [algebraic-graph-duoids] /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/bin/hsc2hs-ghc-9.6.7
  2260. 992.51 s [algebraic-graph-duoids] Using hscolour version 1.25 found on system at:
  2261. 992.51 s [algebraic-graph-duoids] /nix/store/7ffc07q75k5a6zk864jv9gpiphhwzjlh-hscolour-1.25/bin/HsColour
  2262. 992.51 s [algebraic-graph-duoids] No jhc found
  2263. 992.51 s [algebraic-graph-duoids] Using ld found on system at:
  2264. 992.51 s [algebraic-graph-duoids] /nix/store/iz5lckcsg66r223si2gck7csk2hihj0m-binutils-wrapper-2.44/bin/ld.gold
  2265. 992.51 s [algebraic-graph-duoids] No pkg-config found
  2266. 992.51 s [algebraic-graph-duoids] Using runghc version 9.6.7 found on system at:
  2267. 992.51 s [algebraic-graph-duoids] /nix/store/da9x1n5l146q0ai9wz8zfbx4zfwa9b02-ghc-9.6.7/bin/runghc-9.6.7
  2268. 992.51 s [algebraic-graph-duoids] Using strip version 2.44 found on system at:
  2269. 992.51 s [algebraic-graph-duoids] /nix/store/8v97ngkcpfzgghwnnr7fsz33p2x22gy9-gcc-wrapper-14.3.0/bin/strip
  2270. 992.51 s [algebraic-graph-duoids] Using tar found on system at:
  2271. 992.51 s [algebraic-graph-duoids] /nix/store/xl6pd2spjajwcpq09fnmnjv5psqmlmma-gnutar-1.35/bin/tar
  2272. 992.51 s [algebraic-graph-duoids] No uhc found
  2273. 992.77 s [algebraic-graph-duoids] Phase: buildPhase
  2274. 992.84 s [algebraic-graph-duoids] Preprocessing library for algebraic-graph-duoids-0.0.1.0...
  2275. 992.84 s [algebraic-graph-duoids] Building library for algebraic-graph-duoids-0.0.1.0...
  2276. 992.97 s [algebraic-graph-duoids] [1 of 2] Compiling Algebra.Graph.Duoid ( src/Algebra/Graph/Duoid.hs, dist/build/Algebra/Graph/Duoid.o, dist/build/Algebra/Graph/Duoid.dyn_o )
  2277. 993.35 s [algebraic-graph-duoids] [2 of 2] Compiling Algebra.Graph.Duoid.Orphans ( src/Algebra/Graph/Duoid/Orphans.hs, dist/build/Algebra/Graph/Duoid/Orphans.o, dist/build/Algebra/Graph/Duoid/Orphans.dyn_o )
  2278. 994.32 s [algebraic-graph-duoids] [1 of 2] Compiling Algebra.Graph.Duoid ( src/Algebra/Graph/Duoid.hs, dist/build/Algebra/Graph/Duoid.p_o )
  2279. 994.77 s [algebraic-graph-duoids] [2 of 2] Compiling Algebra.Graph.Duoid.Orphans ( src/Algebra/Graph/Duoid/Orphans.hs, dist/build/Algebra/Graph/Duoid/Orphans.p_o )
  2280. 998.34 s [algebraic-graph-duoids] Preprocessing test suite 'doctests' for algebraic-graph-duoids-0.0.1.0...
  2281. 998.34 s [algebraic-graph-duoids] Building test suite 'doctests' for algebraic-graph-duoids-0.0.1.0...
  2282. 998.44 s [algebraic-graph-duoids] [1 of 2] Compiling Build_doctests ( dist/build/doctests/autogen/Build_doctests.hs, dist/build/doctests/doctests-tmp/Build_doctests.o )
  2283. 998.89 s [algebraic-graph-duoids] [2 of 2] Compiling Main ( tests/doctests.hs, dist/build/doctests/doctests-tmp/Main.o )
  2284. 999.48 s [algebraic-graph-duoids] [3 of 3] Linking dist/build/doctests/doctests
  2285. 1002.74 s [algebraic-graph-duoids] Preprocessing test suite 'laws' for algebraic-graph-duoids-0.0.1.0...
  2286. 1002.74 s [algebraic-graph-duoids] Building test suite 'laws' for algebraic-graph-duoids-0.0.1.0...
  2287. 1002.85 s [algebraic-graph-duoids] [1 of 1] Compiling Main ( tests/laws.hs, dist/build/laws/laws-tmp/Main.o )
  2288. 1003.70 s [algebraic-graph-duoids] [2 of 2] Linking dist/build/laws/laws
  2289. 1004.69 s [algebraic-graph-duoids] Phase: checkPhase
  2290. 1004.94 s [algebraic-graph-duoids] Running 2 test suites...
  2291. 1004.94 s [algebraic-graph-duoids] Test suite doctests: RUNNING...
  2292. 1005.48 s [algebraic-graph-duoids] Examples: 0 Tried: 0 Errors: 0 Failures: 0
  2293. 1005.52 s [algebraic-graph-duoids] NameLib Nothing
  2294. 1005.52 s [algebraic-graph-duoids] ----------------------------------------
  2295. 1005.53 s [algebraic-graph-duoids] Test suite doctests: PASS
  2296. 1005.53 s [algebraic-graph-duoids] Test suite logged to: dist/test/algebraic-graph-duoids-0.0.1.0-doctests.log
  2297. 1005.53 s [algebraic-graph-duoids] Test suite laws: RUNNING...
  2298. 1005.54 s [algebraic-graph-duoids] ━━━ Duoid.Normal (Graph Word8) ━━━
  2299. 1005.55 s [algebraic-graph-duoids] ✓ unswapUnit passed 100 tests.
  2300. 1005.55 s [algebraic-graph-duoids] ✓ interchange passed 100 tests.
  2301. 1005.55 s [algebraic-graph-duoids] ✓ splitUnit passed 100 tests.
  2302. 1005.55 s [algebraic-graph-duoids] ✓ joinUnit passed 100 tests.
  2303. 1005.55 s [algebraic-graph-duoids] ✓ swapUnit passed 100 tests.
  2304. 1005.55 s [algebraic-graph-duoids] ✓ 5 succeeded.
  2305. 1005.56 s [algebraic-graph-duoids] Test suite laws: PASS
  2306. 1005.56 s [algebraic-graph-duoids] Test suite logged to: dist/test/algebraic-graph-duoids-0.0.1.0-laws.log
  2307. 1005.56 s [algebraic-graph-duoids] 2 of 2 test suites (2 of 2 test cases) passed.
  2308. 1005.57 s [algebraic-graph-duoids] Phase: haddockPhase
  2309. 1005.72 s [algebraic-graph-duoids] Preprocessing library for algebraic-graph-duoids-0.0.1.0...
  2310. 1005.72 s [algebraic-graph-duoids] Running Haddock on library for algebraic-graph-duoids-0.0.1.0...
  2311. 1006.13 s [algebraic-graph-duoids] 100% ( 5 / 5) in 'Algebra.Graph.Duoid'
  2312. 1006.43 s [algebraic-graph-duoids] 100% ( 1 / 1) in 'Algebra.Graph.Duoid.Orphans'
  2313. 1013.35 s [algebraic-graph-duoids] Documentation created: dist/doc/html/algebraic-graph-duoids/,
  2314. 1013.38 s [algebraic-graph-duoids] dist/doc/html/algebraic-graph-duoids/algebraic-graph-duoids.txt
  2315. 1013.40 s [algebraic-graph-duoids] Preprocessing test suite 'doctests' for algebraic-graph-duoids-0.0.1.0...
  2316. 1013.40 s [algebraic-graph-duoids] Preprocessing test suite 'laws' for algebraic-graph-duoids-0.0.1.0...
  2317. 1013.42 s [algebraic-graph-duoids] Phase: installPhase
  2318. 1013.48 s [algebraic-graph-duoids] Installing library in /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/algebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2
  2319. 1013.73 s [algebraic-graph-duoids] Phase: fixupPhase
  2320. 1013.75 s [algebraic-graph-duoids] shrinking RPATHs of ELF executables and libraries in /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0
  2321. 1013.76 s [algebraic-graph-duoids] shrinking /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/lib/ghc-9.6.7/lib/x86_64-linux-ghc-9.6.7/libHSalgebraic-graph-duoids-0.0.1.0-CzPg39GZm1W22KIQqBc1b2-ghc9.6.7.so
  2322. 1013.76 s [algebraic-graph-duoids] checking for references to /build/ in /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0...
  2323. 1013.78 s [algebraic-graph-duoids] patching script interpreter paths in /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0
  2324. 1013.78 s [algebraic-graph-duoids] stripping (with command strip and flags -S -p) in /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/lib
  2325. 1013.82 s [algebraic-graph-duoids] shrinking RPATHs of ELF executables and libraries in /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc
  2326. 1013.82 s [algebraic-graph-duoids] checking for references to /build/ in /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc...
  2327. 1013.84 s [algebraic-graph-duoids] patching script interpreter paths in /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc
  2328. 1013.96 s [algebraic-graph-duoids:post-build] Uploading to cachix cache "sellout": /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0 /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc
  2329. 1014.43 s [algebraic-graph-duoids:post-build] Pushing 2 paths (76 are already present) using zstd to cache sellout ⏳
  2330. 1014.43 s [algebraic-graph-duoids:post-build]
  2331. 1014.80 s [algebraic-graph-duoids:post-build] Pushing /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc (539.14 KiB)
  2332. 1017.49 s [algebraic-graph-duoids:post-build] Pushing /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0 (1.24 MiB)
  2333. 1018.47 s [algebraic-graph-duoids:post-build]
  2334. 1018.51 s [algebraic-graph-duoids:post-build] All done.
  2335. 1018.51 s [algebraic-graph-duoids:post-build] Uploading to the NixCI cache: /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0 /nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc
  2336. 1018.54 s [algebraic-graph-duoids:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2337. 1018.55 s [algebraic-graph-duoids:post-build] copying 2 paths...
  2338. 1018.55 s [algebraic-graph-duoids:post-build] copying path '/nix/store/gb5gpk7kdqxyxhq533351wf78zyw0gj2-algebraic-graph-duoids-0.0.1.0-doc' to 'https://cache.nix-ci.com'...
  2339. 1018.95 s [algebraic-graph-duoids:post-build] copying path '/nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0' to 'https://cache.nix-ci.com'...
  2340. 1019.50 s [algebraic-graph-duoids:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2341. 1019.76 s [algebraic-graph-duoids:post-build] copying 1 paths...
  2342. 1019.76 s [algebraic-graph-duoids:post-build] copying path '/nix/store/hjisvv3ql6846hgj9ik99qbrqh7z51zw-algebraic-graph-duoids-0.0.1.0.drv' to 'https://cache.nix-ci.com'...
  2343. 1020.00 s Progress: 15 of 19 built, 73 of 73 downloaded from cache
  2344. 1020.05 s Building /nix/store/9rr81xr88204gfb38cz7jk453s07av6n-ghc-9.6.7-with-packages.drv
  2345. 1020.10 s [ghc-9.6.7-with-packages] /nix/store/5yvghn5w8irf3zxipgn0sxz3qmq5az3p-duoidal-transformers-0.0.1.0/nix-support:
  2346. 1020.10 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2347. 1020.11 s [ghc-9.6.7-with-packages] /nix/store/jmxi0rvzsngp74i45imqn7rc1f61qyxd-duoids-0.0.1.0/nix-support:
  2348. 1020.11 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2349. 1020.11 s [ghc-9.6.7-with-packages] /nix/store/581q49za01qv2y8s8jvjs6f7sl8frlh0-duoids-hedgehog-0.0.1.0/nix-support:
  2350. 1020.11 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2351. 1020.11 s [ghc-9.6.7-with-packages] /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7/nix-support:
  2352. 1020.11 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2353. 1020.12 s [ghc-9.6.7-with-packages] /nix/store/jnbci5ady6nnlicbwxrr3qdv18gip9p1-algebraic-graphs-0.7/nix-support:
  2354. 1020.12 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2355. 1020.12 s [ghc-9.6.7-with-packages] /nix/store/ws4bxm02xf3qm4nhj7wqa0pmnyap2ly6-ghc-compat-plugin-0.1.0.1/nix-support:
  2356. 1020.12 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2357. 1020.12 s [ghc-9.6.7-with-packages] /nix/store/ws4bxm02xf3qm4nhj7wqa0pmnyap2ly6-ghc-compat-plugin-0.1.0.1/nix-support:
  2358. 1020.12 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2359. 1020.13 s [ghc-9.6.7-with-packages] /nix/store/dy7plzxvi4bj3cj8g64wf3k5vaj5c70a-hedgehog-1.5/nix-support:
  2360. 1020.13 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2361. 1020.13 s [ghc-9.6.7-with-packages] /nix/store/dy7plzxvi4bj3cj8g64wf3k5vaj5c70a-hedgehog-1.5/nix-support:
  2362. 1020.13 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2363. 1020.13 s [ghc-9.6.7-with-packages] /nix/store/fcbs80997frlprcgnfz1pgqzwx17bdfj-ansi-terminal-1.1.3/nix-support:
  2364. 1020.13 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2365. 1020.13 s [ghc-9.6.7-with-packages] /nix/store/fcbs80997frlprcgnfz1pgqzwx17bdfj-ansi-terminal-1.1.3/nix-support:
  2366. 1020.13 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2367. 1020.14 s [ghc-9.6.7-with-packages] /nix/store/jjabyw5gl9cvdkdwfmgvllmj76cd5xx2-async-2.2.5/nix-support:
  2368. 1020.14 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2369. 1020.14 s [ghc-9.6.7-with-packages] /nix/store/jjabyw5gl9cvdkdwfmgvllmj76cd5xx2-async-2.2.5/nix-support:
  2370. 1020.14 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2371. 1020.14 s [ghc-9.6.7-with-packages] /nix/store/1rnj3abisldb1ysvfg7jx4xq63kvnh9f-barbies-2.1.1.0/nix-support:
  2372. 1020.14 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2373. 1020.14 s [ghc-9.6.7-with-packages] /nix/store/1rnj3abisldb1ysvfg7jx4xq63kvnh9f-barbies-2.1.1.0/nix-support:
  2374. 1020.14 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2375. 1020.15 s [ghc-9.6.7-with-packages] /nix/store/ygwfbz0mwnsj9r4vy9zhqnhn5baqlwz7-concurrent-output-1.10.21/nix-support:
  2376. 1020.15 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2377. 1020.15 s [ghc-9.6.7-with-packages] /nix/store/ygwfbz0mwnsj9r4vy9zhqnhn5baqlwz7-concurrent-output-1.10.21/nix-support:
  2378. 1020.15 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2379. 1020.15 s [ghc-9.6.7-with-packages] /nix/store/76z6kzz2xf8gljhm76swxb542xp0lqkz-lifted-async-0.10.2.7/nix-support:
  2380. 1020.15 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2381. 1020.15 s [ghc-9.6.7-with-packages] /nix/store/76z6kzz2xf8gljhm76swxb542xp0lqkz-lifted-async-0.10.2.7/nix-support:
  2382. 1020.15 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2383. 1020.16 s [ghc-9.6.7-with-packages] /nix/store/iasz4h3zl5q9kgrf288g9fak6g03s54x-mmorph-1.2.1/nix-support:
  2384. 1020.16 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2385. 1020.16 s [ghc-9.6.7-with-packages] /nix/store/iasz4h3zl5q9kgrf288g9fak6g03s54x-mmorph-1.2.1/nix-support:
  2386. 1020.16 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2387. 1020.16 s [ghc-9.6.7-with-packages] /nix/store/9h348vl6yhan64ibbcabyjx2fmxs7d3b-monad-control-1.0.3.1/nix-support:
  2388. 1020.16 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2389. 1020.16 s [ghc-9.6.7-with-packages] /nix/store/9h348vl6yhan64ibbcabyjx2fmxs7d3b-monad-control-1.0.3.1/nix-support:
  2390. 1020.16 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2391. 1020.16 s [ghc-9.6.7-with-packages] /nix/store/wdxmylyqc8p4j414kk3ymndp5i2yqjm3-pretty-show-1.10/nix-support:
  2392. 1020.16 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2393. 1020.17 s [ghc-9.6.7-with-packages] /nix/store/wdxmylyqc8p4j414kk3ymndp5i2yqjm3-pretty-show-1.10/nix-support:
  2394. 1020.17 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2395. 1020.17 s [ghc-9.6.7-with-packages] /nix/store/k1gharvwzs4drk9axklr4dcizqkqnia7-primitive-0.9.1.0/nix-support:
  2396. 1020.17 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2397. 1020.17 s [ghc-9.6.7-with-packages] /nix/store/k1gharvwzs4drk9axklr4dcizqkqnia7-primitive-0.9.1.0/nix-support:
  2398. 1020.17 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2399. 1020.17 s [ghc-9.6.7-with-packages] /nix/store/nnj36snlh7c273pijflsjp18z8z6bv71-random-1.2.1.3/nix-support:
  2400. 1020.17 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2401. 1020.17 s [ghc-9.6.7-with-packages] /nix/store/nnj36snlh7c273pijflsjp18z8z6bv71-random-1.2.1.3/nix-support:
  2402. 1020.17 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2403. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/hgb60y6pgscn0xg3sa2j4llfykqikdcb-resourcet-1.3.0/nix-support:
  2404. 1020.18 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2405. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/hgb60y6pgscn0xg3sa2j4llfykqikdcb-resourcet-1.3.0/nix-support:
  2406. 1020.18 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2407. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/gni425lh8g2a5k2iy04gza6hxwivikyp-safe-exceptions-0.1.7.4/nix-support:
  2408. 1020.18 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2409. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/gni425lh8g2a5k2iy04gza6hxwivikyp-safe-exceptions-0.1.7.4/nix-support:
  2410. 1020.18 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2411. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/iq5g0dfwam9zz3v08lgvcvvvgwhsbv0x-transformers-base-0.4.6/nix-support:
  2412. 1020.18 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2413. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/iq5g0dfwam9zz3v08lgvcvvvgwhsbv0x-transformers-base-0.4.6/nix-support:
  2414. 1020.18 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2415. 1020.18 s [ghc-9.6.7-with-packages] /nix/store/w5r1n1grfq99nsaqjfsi3qspcxikk9hl-wl-pprint-annotated-0.1.0.1/nix-support:
  2416. 1020.19 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2417. 1020.19 s [ghc-9.6.7-with-packages] /nix/store/w5r1n1grfq99nsaqjfsi3qspcxikk9hl-wl-pprint-annotated-0.1.0.1/nix-support:
  2418. 1020.19 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2419. 1020.19 s [ghc-9.6.7-with-packages] /nix/store/i1773scyxkqyblf6vpzp8rwlnivkfggx-ansi-terminal-types-1.1.3/nix-support:
  2420. 1020.19 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2421. 1020.19 s [ghc-9.6.7-with-packages] /nix/store/i1773scyxkqyblf6vpzp8rwlnivkfggx-ansi-terminal-types-1.1.3/nix-support:
  2422. 1020.19 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2423. 1020.20 s [ghc-9.6.7-with-packages] /nix/store/6pimarw92xx2gdc004l52j33pgfnk5q3-hashable-1.5.0.0/nix-support:
  2424. 1020.20 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2425. 1020.20 s [ghc-9.6.7-with-packages] /nix/store/6pimarw92xx2gdc004l52j33pgfnk5q3-hashable-1.5.0.0/nix-support:
  2426. 1020.20 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2427. 1020.20 s [ghc-9.6.7-with-packages] /nix/store/r45rn7pmhwhm2a2arlc59m6q0ayf3x7k-distributive-0.6.2.1/nix-support:
  2428. 1020.20 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2429. 1020.20 s [ghc-9.6.7-with-packages] /nix/store/r45rn7pmhwhm2a2arlc59m6q0ayf3x7k-distributive-0.6.2.1/nix-support:
  2430. 1020.20 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2431. 1020.21 s [ghc-9.6.7-with-packages] /nix/store/g35hdx8r4gl48g5p5a7716hzmiacl823-constraints-0.14.2/nix-support:
  2432. 1020.21 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2433. 1020.21 s [ghc-9.6.7-with-packages] /nix/store/g35hdx8r4gl48g5p5a7716hzmiacl823-constraints-0.14.2/nix-support:
  2434. 1020.21 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2435. 1020.21 s [ghc-9.6.7-with-packages] /nix/store/0yc01qnfkqq6ncifsd27ap4dvplafl0w-lifted-base-0.2.3.12/nix-support:
  2436. 1020.21 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2437. 1020.22 s [ghc-9.6.7-with-packages] /nix/store/0yc01qnfkqq6ncifsd27ap4dvplafl0w-lifted-base-0.2.3.12/nix-support:
  2438. 1020.22 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2439. 1020.22 s [ghc-9.6.7-with-packages] /nix/store/x61ml6alhwgm163idq8ykgn021gn0lf6-transformers-compat-0.7.2/nix-support:
  2440. 1020.22 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2441. 1020.22 s [ghc-9.6.7-with-packages] /nix/store/x61ml6alhwgm163idq8ykgn021gn0lf6-transformers-compat-0.7.2/nix-support:
  2442. 1020.22 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2443. 1020.22 s [ghc-9.6.7-with-packages] /nix/store/zyhsf74vsbisnk8nxg7immascxvrgzrx-splitmix-0.1.3.1/nix-support:
  2444. 1020.22 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2445. 1020.23 s [ghc-9.6.7-with-packages] /nix/store/zyhsf74vsbisnk8nxg7immascxvrgzrx-splitmix-0.1.3.1/nix-support:
  2446. 1020.23 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2447. 1020.23 s [ghc-9.6.7-with-packages] /nix/store/qq625vh42zngn5an1w1fipnj2h9yfxb6-unliftio-core-0.2.1.0/nix-support:
  2448. 1020.23 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2449. 1020.23 s [ghc-9.6.7-with-packages] /nix/store/qq625vh42zngn5an1w1fipnj2h9yfxb6-unliftio-core-0.2.1.0/nix-support:
  2450. 1020.23 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2451. 1020.23 s [ghc-9.6.7-with-packages] /nix/store/hf7mjbw39mc2s31v9s0gvq0irxrj3ljz-base-orphans-0.9.3/nix-support:
  2452. 1020.23 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2453. 1020.23 s [ghc-9.6.7-with-packages] /nix/store/hf7mjbw39mc2s31v9s0gvq0irxrj3ljz-base-orphans-0.9.3/nix-support:
  2454. 1020.23 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2455. 1020.23 s [ghc-9.6.7-with-packages] /nix/store/8qkh2vgcsvil9pkzial83q66cc6csf0h-os-string-2.0.8/nix-support:
  2456. 1020.23 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2457. 1020.24 s [ghc-9.6.7-with-packages] /nix/store/8qkh2vgcsvil9pkzial83q66cc6csf0h-os-string-2.0.8/nix-support:
  2458. 1020.24 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2459. 1020.24 s [ghc-9.6.7-with-packages] /nix/store/74c3l72p3ahsbcdqzxpmicwp8cyhqj1d-tagged-0.8.9/nix-support:
  2460. 1020.24 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2461. 1020.24 s [ghc-9.6.7-with-packages] /nix/store/74c3l72p3ahsbcdqzxpmicwp8cyhqj1d-tagged-0.8.9/nix-support:
  2462. 1020.24 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2463. 1020.24 s [ghc-9.6.7-with-packages] /nix/store/fam1g9nds2cbk2b6xp4jv742dm7kkjkp-boring-0.2.2/nix-support:
  2464. 1020.24 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2465. 1020.24 s [ghc-9.6.7-with-packages] /nix/store/fam1g9nds2cbk2b6xp4jv742dm7kkjkp-boring-0.2.2/nix-support:
  2466. 1020.24 s [ghc-9.6.7-with-packages] propagated-build-inputs: Keeping existing link to /nix/store/4ppjzklhmzkj9gl2nz7a6x1gb5x2sswf-algebraic-graph-duoids-0.0.1.0/nix-support/propagated-build-inputs
  2467. 1020.91 s [ghc-9.6.7-with-packages] Warning: include-dirs: /nix/store/c2qyn7kf4x0rdav69mfw05gyvn9p8lgr-ghc-9.6.7-with-packages/lib/ghc-9.6.7/lib/../lib/x86_64-linux-ghc-9.6.7/directory-1.3.8.5/include doesn't exist or isn't a directory
  2468. 1021.88 s [ghc-9.6.7-with-packages:post-build] Uploading to cachix cache "sellout": /nix/store/c2qyn7kf4x0rdav69mfw05gyvn9p8lgr-ghc-9.6.7-with-packages
  2469. 1022.36 s [ghc-9.6.7-with-packages:post-build] Pushing 1 paths (146 are already present) using zstd to cache sellout ⏳
  2470. 1022.36 s [ghc-9.6.7-with-packages:post-build]
  2471. 1022.73 s [ghc-9.6.7-with-packages:post-build] Pushing /nix/store/c2qyn7kf4x0rdav69mfw05gyvn9p8lgr-ghc-9.6.7-with-packages (4.26 MiB)
  2472. 1024.32 s [ghc-9.6.7-with-packages:post-build]
  2473. 1024.40 s [ghc-9.6.7-with-packages:post-build] All done.
  2474. 1024.40 s [ghc-9.6.7-with-packages:post-build] Uploading to the NixCI cache: /nix/store/c2qyn7kf4x0rdav69mfw05gyvn9p8lgr-ghc-9.6.7-with-packages
  2475. 1024.40 s [ghc-9.6.7-with-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2476. 1024.60 s [ghc-9.6.7-with-packages:post-build] copying 1 paths...
  2477. 1024.60 s [ghc-9.6.7-with-packages:post-build] copying path '/nix/store/c2qyn7kf4x0rdav69mfw05gyvn9p8lgr-ghc-9.6.7-with-packages' to 'https://cache.nix-ci.com'...
  2478. 1025.72 s [ghc-9.6.7-with-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2479. 1025.98 s [ghc-9.6.7-with-packages:post-build] copying 1 paths...
  2480. 1025.98 s [ghc-9.6.7-with-packages:post-build] copying path '/nix/store/9rr81xr88204gfb38cz7jk453s07av6n-ghc-9.6.7-with-packages.drv' to 'https://cache.nix-ci.com'...
  2481. 1026.22 s Progress: 16 of 18 built, 73 of 73 downloaded from cache
  2482. 1026.27 s Building /nix/store/5nbxbbl490m1g7bd0m36lkbhrnpn4l41-all-packages.drv
  2483. 1026.33 s [all-packages] created 3 symlinks in user environment
  2484. 1026.36 s [all-packages:post-build] Uploading to cachix cache "sellout": /nix/store/ls2yckzgikhzf5v1qcjxi3r07b0fzgl0-all-packages
  2485. 1026.89 s [all-packages:post-build] Pushing 1 paths (147 are already present) using zstd to cache sellout ⏳
  2486. 1026.89 s [all-packages:post-build]
  2487. 1027.25 s [all-packages:post-build] Pushing /nix/store/ls2yckzgikhzf5v1qcjxi3r07b0fzgl0-all-packages (872.00 B)
  2488. 1028.23 s [all-packages:post-build]
  2489. 1028.23 s [all-packages:post-build] All done.
  2490. 1028.25 s [all-packages:post-build] Uploading to the NixCI cache: /nix/store/ls2yckzgikhzf5v1qcjxi3r07b0fzgl0-all-packages
  2491. 1028.29 s [all-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2492. 1028.74 s [all-packages:post-build] copying 1 paths...
  2493. 1028.74 s [all-packages:post-build] copying path '/nix/store/ls2yckzgikhzf5v1qcjxi3r07b0fzgl0-all-packages' to 'https://cache.nix-ci.com'...
  2494. 1029.00 s [all-packages:post-build] warning: 'warn-short-path-literals' is deprecated, use 'lint-short-path-literals = ignore' instead
  2495. 1029.24 s [all-packages:post-build] copying 1 paths...
  2496. 1029.24 s [all-packages:post-build] copying path '/nix/store/5nbxbbl490m1g7bd0m36lkbhrnpn4l41-all-packages.drv' to 'https://cache.nix-ci.com'...
  2497. 1029.47 s Progress: 17 of 18 built, 73 of 73 downloaded from cache
  2498. 1029.47 s Progress: 18 of 18 built, 73 of 73 downloaded from cache
  2499. 1029.47 s /nix/store/ls2yckzgikhzf5v1qcjxi3r07b0fzgl0-all-packages
  2500. 1029.52 s Build succeeded.