CurryInfo: dimacs-3.0.0 / Dimacs.Build.isTaut

definition: Info
 
isTaut :: Boolean -> Bool
isTaut b = case b of
    (Or ls) -> isTaut' ls
    _       -> False
  where
    isTaut' []     = False
    isTaut' (x:xs) = containsInverted x xs || isTaut' xs
    containsInverted x xs = case x of
      (Var i)       -> nv i `elem` xs
      (Not (Var i)) -> va i `elem` xs
      _             -> False
demand: Info
 argument 1
deterministic: Info
 deterministic operation
failfree: Info
 _
indeterministic: Info
 referentially transparent operation
infix: Info
 no fixity defined
iotype: Info
 {({Or}) |-> _ || ({Var}) |-> _ || ({Not}) |-> _ || ({And}) |-> _}
name: Info
 isTaut
precedence: Info
 no precedence defined
result-values: Info
 _
signature: Info
 Dimacs.Types.Boolean -> Prelude.Bool
solution-complete: Info
 operation might suspend on free variables
terminating: Info
 possibly non-terminating
totally-defined: Info
 reducible on all ground data terms