speculate-0.4.1: test/model/digraphs.out
max expr size = 5
|- on ineqs = 4
|- on conds = 4
max #-tests = 500
min #-tests = 25 (to consider p ==> q true)
max #-vars = 2 (for inequational and conditional laws)
_ :: Bool
_ :: Nat
_ :: Digraph Nat
_ :: [Nat]
[] :: [Nat]
elem :: Nat -> [Nat] -> Bool
empty :: Digraph Nat
addNode :: Nat -> Digraph Nat -> Digraph Nat
addEdge :: Nat -> Nat -> Digraph Nat -> Digraph Nat
isNode :: Nat -> Digraph Nat -> Bool
isEdge :: Nat -> Nat -> Digraph Nat -> Bool
isPath :: Nat -> Nat -> Digraph Nat -> Bool
subgraph :: [Nat] -> Digraph Nat -> Digraph Nat
True :: Bool
False :: Bool
(==) :: Bool -> Bool -> Bool
(==) :: Nat -> Nat -> Bool
(==) :: Digraph Nat -> Digraph Nat -> Bool
(==) :: [Nat] -> [Nat] -> Bool
isNode x empty == False
isEdge x y empty == False
isPath x y empty == False
isNode x (addNode x a) == True
(empty == addNode x a) == False
isPath x x a == isNode x a
(a == addNode x a) == isNode x a
(x == y) == isNode x (addNode y empty)
isNode x (addNode y empty) == isNode y (addNode x empty)
subgraph xs empty == empty
subgraph [] a == empty
addNode x (addNode x a) == addNode x a
subgraph xs (subgraph xs a) == subgraph xs a
addNode x (addNode y a) == addNode y (addNode x a)
subgraph xs (subgraph ys a) == subgraph ys (subgraph xs a)
isEdge x y a ==> isNode x a
isEdge x y a ==> isNode y a
isPath x y a ==> isNode x a
isPath x y a ==> isNode y a
isEdge x y a ==> isPath x y a
empty <= a
a <= addNode x a
subgraph xs a <= a
a <= addEdge x y a
addNode x empty <= addNode x a
addNode x a <= addEdge x y a
addEdge x y empty <= addEdge x y a
isEdge x y a ==> addEdge x y a == a
elem x xs ==> subgraph xs (addNode x a) == addNode x (subgraph xs a)