packages feed

speculate-0.4.0: tests/model/bool.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
False :: Bool
True :: Bool
not :: Bool -> Bool
(&&) :: Bool -> Bool -> Bool
(||) :: Bool -> Bool -> Bool
(==) :: Bool -> Bool -> Bool

       (p && p) == p
       (p || p) == p
    not (not p) == p
    (p && True) == p
   (p || False) == p
       (p == p) == True
    (p == True) == p
   (p && False) == False
    (p || True) == True
   (p && not p) == False
   (p == False) == not p
       (p && q) == (q && p)
       (p || q) == (q || p)
(p && (p || q)) == p
  (p || p && q) == p
  (p && p == q) == (p && q)
   (p == not q) == not (p == q)
   not (p || q) == (not p && not q)
   (p || not q) == not (q && not p)
((p && q) && r) == (p && (q && r))
((p || q) || r) == (p || (q || r))
(p == (p && q)) == not (p && not q)
  (p || p == q) == not (q && not p)
(p == (p || q)) == not (q && not p)

           p ==> True
       False ==> p
           p ==> p || q
      p && q ==> p
      p && q ==> p == q
       not p ==> not (p && q)
not (p || q) ==> p == q
not (p == q) ==> p || q
  p && not q ==> q || p
      p == q ==> p || not q
  p && not q ==> not (q && p)
not (p == q) ==> not (p && q)
  p && not q ==> not (p == q)