packages feed

speculate-0.4.0: tests/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)